The OpenGL 4.5 specification was introduced today by the Khronos Group. This version offers Direct State Access (DSA), a feature that’s long been available in Direct3D, Microsoft’s 3D API, but is now finally available for OpenGL developers.
DSA was already an extension in the OpenGL world, but version 4.5 brings it into the core of the API, giving developers a definitive answer as to whether or not DSA is supported in any given implementation. With less ambiguity in support for DSA, this should make developers’ lives easier.
(Related: OpenGL finds a use in Google Glass)
If there were ever a sign that this is a newer, gentler Microsoft, it would be the news today that the company has joined the Khronos Group and the WebGL working group.
It makes perfect sense. Frankly, it always made perfect sense for Microsoft to get involved in the standards work behind 3D rendering of objects. The problem is that for a very long time, there was no reason for them to do so that actually benefited the Microsoft bottom line.
A bit of history: Microsoft created and uses Direct3D for 3D acceleration in video games. DirectX, of which Direct3D is a part, has long been considered the best API out there for building games. It’s what was used in the Xbox and beyond. It’s been behind just about every PC game of worth for the past 15 years. But it’s also been an extremely difficult API to replicate on other platforms, making the porting of Windows games to the PlayStation 4, Macintosh, and even Linux a very difficult affair.
In fact, in the 1990s, an entire cottage industry cropped up around porting DirectX games to the Macintosh. Half-Life was near completion after years of porting work when the publishers pulled out at the last minute due to the project having taken so long. For years, DirectX and Direct3D have been effectively monopolizing game developer talent in the Windows world. Unless you decided your target platforms right from the start and used OpenGL, it was most likely your Windows development team would use Direct3D right out of the gate.
But being the best API for game development on Windows and being the best API for game development are two entirely different things, and OpenGL has come a long way in the past decade to bridge the gap between platforms, and to make life a lot easier for developers porting to other platforms. And it’s about time Microsoft got involved.
Of course, Microsoft joining the Khronos Group has nothing to do with OpenGL. So far, Microsoft has only joined so that it can work on WebGL, the browser-based take on OpenGL. With WebGL, developers can build 3D objects and worlds inside their browser without worrying about what type of graphics card is being used, as they do now in the PC game space (less so now than ever before, but still).
As a result, Microsoft has realized that if it doesn’t participate in this open standard, it will just have to implement the standard without anyone having discussed their concerns with the designers. Yes, Microsoft will have to implement an open standard instead of building a competing API for its developers. That, right there, shows just how much times have changed.
The point, though, is almost moot, as DirectX is super mature and has millions of developers worldwide. But for the future, it would be very nice to see OpenGL become the de facto standard for all platforms, not just non-Microsoft platforms.