The API wars continue: Valve launches free OpenGL translator
We’ve seen Microsoft teasing the GDC announcement of the latest installment in their popular DirectX series — subtitled "A Storm of Low-Level Hardware Interaction" — and now it seems the open source brigade are countering this new Microsoft offensive. Valve have freely released a software layer, ToGL, which will translate Direct3D calls to OpenGL.
In the interests of impartiality I feel I ought to mention AMD will also be talking up its Mantle API at GDC to battle alongside the DirectX and OpenGL announcements.
Valve releasing ToGL is interesting because it’s a software layer taken directly from their own DOTA 2 code and has just been put up on the GitHub repository for anyone to use. Valve aren't going to charge for ToGL, so it’s being provided ‘as is’, but they note it has been "hardcoded to match Source Engine behaviour".
That should mean anyone playing with Source Engine in DirectX ought to now have a relatively good shot at translating their titles into OpenGL for use outside the Windows ecosystem. Fingers-crossed this means we’ll start to see more older Source Engine titles getting OpenGL updates for SteamOS increasing its native library. Maybe, one day, we'll even see Titanfall.
It is only rated with a limited subset of DirectX9 though and, because it’s designed to intercept and Direct3D calls and replace them with OpenGL versions, ToGL does introduce a level of abstraction which could impact upon gaming performance of translated games.
Crytek, meanwhile, are going to show off a native version of CryEngine running under Linux. Obviously that means CryEngine-powered games have a pretty good chance of seeing native SteamOS support and, for me, having Star Citizen available on Valve’s OS would make me a lot more interested in its use as a full-time operating system for my home rig.