Компания Valve неожиданно решила открыть исходный код транслятора Direct3D -> OpenGL, выложив его на Github. Код позаимствован непосредственно из игры Dota 2, он поставляется как есть, без поддержки, под свободной лицензией MIT.

Транслятор ToGL поддерживает работу только с ограниченным набором программных интерфейсов D3D 9.0c, может транслировать байткод из HLSL (High Level Shader Language) в GLSL (OpenGL Shading Language) и имеет некоторую поддержку SM3. При этом в коде имеются фрагменты, написанные специально для движка Source, так что его еще требуется очистить. Хорошо бы и подготовить нормальную документацию.

ToGL может быть полезен для разработчиков игр и других программ, которые хотят портировать Windows-приложения на Linux. Есть надежда, что благодаря активности Valve по продвижению OpenGL стандарт DirectX получит достойного и сильного конкурента. По крайней мере, в настоящее время только Direct3D остается наиболее актуальной и поддерживаемой технологией в наборе интерфейсов DirectX. В любом случае, благодаря этому шагу Valve некоторые игры AAA-класса могут выйти под Linux раньше запланированного. Ну а что касается старых игр для Direct3D 9.0c, вероятно, их можно портировать на Linux практически сразу.

OpenGL — более универсальный формат, чем DirectX, который поддерживается на большем количестве устройств. Именно эту технологию используют приложения под Android и iOS, а также операционные системы Linux и OS X для трехмерной графики. Более того, даже под Windows почти все программы для 3D-графики и САПР используют OpenGL. На DirectX остаются работать только видеоигры, которые рассчитывают на кроссплатформенную работу между Windows и Xbox.

Интересно, что компания Google ранее выпустила транслятор ANGLE, который является противоположностью ToGL, то есть позволяет запускать приложения OpenGL ES 2.0 в среде DirectX 9 или DirectX 11.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии