Valve Software this week published its open-source Direct3D to OpenGL translation layer called ToGL. The product should help developers without a lot of resources to migrate their DirectX game engines (or games) to OpenGL in order to run them under Apple Mac OS X, Linux or Valve Steam OS operating system. Unfortunately, the translator will hardly be a breakthrough.
In addition to translating the function calls from Direct3D to OpenGL, ToGL can also support shader programs from Direct3D’s HLSL bytecode to OpenGL’s GLSL. Valve ToGL does not support the full Direct3D 9c (feature level 9_3) application programming interface, but only an unidentified “limited subset” of the API. Therefore, it will be impossible to port even relatively old games to OpenGL since virtually all modern titles rely on Direct3D feature level 9_3, just as previous-generation video game consoles (Microsoft Xbox 360 and Sony PlayStation 3). ArsTechnica web-site assumes that the ToGL in its current form supports specific needs Valve’s own Source engine has.
The reason why Valve decided to design its own Direct3D => OpenGL layer is unknown. The Winw project, which is developed to enable programs originally written for Windows to run on Linux, includes a Direct3D-to-OpenGL translator that handles some proportion of Direct3D 8, 9, and 10.
KitGuru Says: It looks like ToGL in its current form is a declaration of intention rather than something real. The bigger question why Valve does post something that is not ready? Perhaps, the company wants some input from the community, or just needs to help certain developers who do not need functionality like vertex texture fetch and who still has not started to use DirectX 10 and DirectX 11 APIs…