Компания Valve открыла исходные тексты проекта ToGL, в рамках которого подготовлена прослойка для трансляции вызовов Direct3D в OpenGL. Проект ToGL нацелен на упрощение портирования для Linux и OS X игр, изначально созданных для платформ Windows и Xbox. Разработка прослойки велась в процессе подготовки вариантов игры Dota 2 для Linux и OS X. Код ToGL написан на языке C++, экспортирован непосредственно из дерева исходных текстов Dota 2 и открыт под лицензией ToGL Code License, которая аналогична лицензии MIT и допускает свободное использование кода в сторонних проектах.

В настоящий момент ToGL ограничен возможностью трансляции в OpenGL подмножества API Direct3D 9.0c. В состав входит работающий на уровне байткода транслятор языка описания шейдеров HLSL в GLSL. Обеспечена частичная поддержка модели шейдеров SM3 (Shader Model 3), например, уже поддерживаются множественные цели рендеринга (MRT, Multiple Render Targets), но пока не доступны средства извлечения текстур в вершинный шейдер (VTF, Vertex Texture Fetch). Некоторые части ToGL завязаны на особенности поведения движка Source Engine, что должно учитываться при использовании ToGL в своих разработках.

Источник: http://www.opennet.ru/opennews/art.shtml?num=39286