HLSL2GLSL

HLSL2GLSL — это инструмент командной строки и библиотека для преобразования шейдеров, написанных на High Level Shader Language (HLSL) для Direct3D 9, в OpenGL Shading Language (GLSL)[2].

HLSL2GLSL изначально был выпущен компанией ATI Technologies под лицензией BSD. Последний выпуск — версия 0.9, датированная 2006 годом. HLSL2GLSL не входит в GPUOpen.

В 2010 году проект был форкнут для устранения ошибок и добавления новых возможностей, включая поддержку OpenGL ES[3]. В настоящее время он используется в Unity[4] и OGRE для преобразования Cg/HLSL-шейдеров в GLSL на мобильных платформах[5].

Проект подвергался критике за генерирование некачественного и избыточного кода. На конференции XDC2014 Мэтт Тёрнер отметил, что многие примеры из базы shader-db графического стека Mesa были получены при помощи подобного преобразования и отличаются низким качеством.

Общие сведения
HLSL2GLSL
Тип инструмент CGI
Разработчик различные[1]
Репозиторий svn.code.sf.net/p/hlsl2g…
Лицензия BSD License[1]

Примечания

  1. 1 2 license. GitHub. Дата обращения: 21 июня 2024. Архивировано 16 февраля 2019 года.
  2. HLSL2GLSL v0.9 DirectX 9 HLSL to OpenGL Shading Language translator (англ.). OpenGL.org. Дата обращения: 29 ноября 2006. Архивировано 16 декабря 2018 года.
  3. Unity. hlsl2glslfork (англ.). GitHub. Дата обращения: 18 мая 2011. Архивировано 25 июля 2025 года.
  4. Compiling HLSL into GLSL in Unity 3 (англ.) (21 мая 2010). Дата обращения: 5 января 2011. Архивировано 5 июля 2025 года.
  5. Ogre forums: Added Cg support to the ES 2.x render system (англ.). Дата обращения: 5 января 2011. Архивировано 28 июля 2011 года.