facebook rss twitter

Valve releases 'ToGL' Direct3D to OpenGL translation software

by Mark Tyson on 12 March 2014, 10:00

Tags: Valve

Quick Link: HEXUS.net/qacbwv

Add to My Vault: x

Valve has released its 'ToGL' Direct3D to OpenGL translation layer software. Previously used in its DOTA2 game, it is thought that Valve's move will make it easy for other developers to port games from DirectX-based games engines to OpenGL for Linux, SteamOS and Mac OS X.

Valve's ToGL source has been posted to GitHub and includes some release notes about its scope and implementation. There the firm notes that the code was plucked "directly from the DOTA2 source tree," and is supplied as-is and unsupported. As DOTA2 is a Valve Source Engine game potential users of this code are also told to "be wary that some parts are hardcoded to match Source Engine behavior; see CentroidMaskFromName() and ShadowDepthSamplerMaskFromName() in dxabstract.cpp".

Looking at the positives, the ToGL translation layer supports:

  • Limited subset of Direct3D 9.0c
  • Bytecode-level HLSL -> GLSL translator
  • Some SM3 (Shader Model 3) support: Multiple Render Targets, no Vertex Texture Fetch

As mentioned in the intro we would guess Valve's motive for releasing its code is to help games developers port old and make new games that run on more platforms. The ToGL implementation as it intercepts DirectX calls and replaces them with OpenGL equivalent will mean the performance quite as good using this translation layer but players of DOTA2 and Left 4 Dead 2 on Mac haven't been complaining.

It is thought that we might see a re-release of some older big name titles on OS X and Linux/SteamOS. Also indie developers who only did DirectX games might find a wider audience. Hopefully Valve will be working on a ToGL with support for more modern versions of DirectX. Interestingly ExtremeTech notes in its story about the ToGL release that Titanfall is the first Xbox One title to use the Source Engine.

HEXUS Forums :: 7 Comments

Login with Forum Account

Don't have an account? Register today!
Has the makings of being a game-changer, but needs a lot of work from what I can see. Hopefully having it on Github will encourage contributions and get it moving in the right direction.
Certainly might offer a new lease of life to older dx9 games.
Increases the number of games that'll run on SteamOS, will be interested to see how many devs convert their games.
Good step in the right direction. I guess we will need to see more innovative ideas like these though before Linux becomes a real alternative for gamers.
The grammar in the second to last paragraph was stunning.