If you’ve a passing interest in the PC gaming scene, you’ll likely have heard of Valve’s plans to push towards OpenGL and the Linux OS. The two most obvious cases for this would be the companies own (still in Beta) SteamOS, and their own Steam Machines. Many games developers are ‘in bed’ with Microsoft due to their reliance in the Direct 3D development environment, and Valve are aware this isn’t going to change overnight.
This week Valve public ally released ToGL ‘shim’ in hopes to help this process. The shim acts as a translation layer which allows Valve to support OpenGL with their titles. Current Valve titles run using DX 9.0C, and ToGL emulates a limited number of these features and translates it to OpenGL. Native OpenGL rendering isn’t as common among big titles as Valve would like it to be, and they are hoping that by providing tools such as these it will help. This shim must be placed inside the games binary file, so it’s not really for the average user and is instead aimed at the developers of the titles.
There are of course, some caveats which stop this from being a perfect solution. ToGL originates from Valve’s popular DOTA2, and despite being no doubt a helping hand for many a games studio, as mentioned above it doesn’t fully support all of the DX9 features. This means that certain aspects of Shader Model 3 aren’t implemented, and of course if you’re coding your game in DX11 for example, it’s going to be a whole lot larger world of pain.
When you consider that Windows XP is pretty much on life support, with official support from Microsoft about ready to be pulled, many gamer’s will likely be forced over to W7. It’s worth noting that Valve Software do stress that this is bad for the games developer, as it effectively limits their number of customers. China for example, has very modern hardware but still a large percent of people sticking with Windows XP.
This likely isn’t going to ‘fix’ anything by itself – and is clearly a part of Valve’s larger business strategy of helping developers readily port older technology titles (those using DX9 as a renderer) to their SteamOS / Linux. DX11 of course is associated with high levels of driver overhead too, and OpenGL is potentially the larger development environment, with versions for mobile, console, Linux, Mac and of course Windows. But Microsoft aren’t sitting by on the sidelines, and have made it fairly clear DX12 will indeed work on the Xbox One, PC and likely even certain mobile OS.
References:
Moving To OpenGL
https://github.com/ValveSoftware/ToGL