Since my controversial post comparing OpenGL and DirectX, there have been two significant new developments: the release of OpenGL 4.1 and the release of Steam for Mac.



OpenGL 4.0 Tessellation with OpenGL 4.0 Tessellation with TessMark

A few months ago, the Khronos Group announced the release of OpenGL 4.0, bringing it to "feature parity" with DirectX 11, including the much-advertised tessellation shaders and instanced geometry shaders. More recently, OpenGL 4.1 fixed some lingering complaints by adding compiled GLSL shaders, more robust error handling, and stronger debugging features.

Perhaps more importantly, OpenGL 4.1 increased the APIs cross-platform appeal in two ways. First, it merged OpenGL with OpenGL ES, making it easier to develop programs that work on both desktop computers and mobile devices like the iPhone. Second, the improved error handling means that WebGL can be made more secure against malicious use[1], giving it a smoother path to widespread adoption.





The second development is the recent release of Steam for Mac, bringing new life to Mac gaming. While there is the obvious immediate fact that Valve's own games have been (and will continue to be) ported to Mac using OpenGL, it will also give a strong signal to other game developers that the Mac is a viable gaming platform. By having more games on Mac, we have more games using OpenGL, which helps break the vicious cycle that OpenGL has found itself in.

We are already starting to see the benefits of this: Apple recently released a graphics update including faster and more stable OpenGL drivers. It looks like we are approaching a dense patch of major cross-platform releases, including Rage, Portal 2, and Diablo 3, which will exert even more pressure on the graphics manufacturers to improve their OpenGL driver quality. As the Mac OpenGL drivers improve, we can only hope that some of these changes will propogate to Windows and Linux as well.

What do you think of these recent developments? Is the future of OpenGL starting to look brighter?