The Khronos Group has announced OpenGL 3.2! The new version of the graphics API has new core features that were previously accessible via OpenGL Extensions. The support for anti-aliased render targets or better cubemap filtering will improve image quality, while things like depth_clamp will make it (a little) easier for developers to implement shadow volumes. There is now “core” support for Geometry Shaders, a new feature introduced in DX10 that is only marginally used.
With OpenGL 3.2, the port from DX9 and DX10 should be easier as the API exposes practically all the hardware features. Does it mean that we can get decent gaming on Mac now? OpenGL will also interact nicely with OpenCL (a general purpose compute API), which would make it close to the upcoming DX11. Note that OpenGL 3.2 runs on hardware that has shipped since 2006 (Nvidia G80 and ATI R6xx class).
OpenGL also tries to get rid of decades of legacy functions with the introduction of the “Core profile” in GL 3.2. OpenGL driver teams can focus on the new features instead of working on functions and that should lead with better and faster drivers. The API itself will be easier to use for developers, although OpenGL still gives very little error checking information when things do go wrong. Many developers pull their hair out when they face a black screen with an “invalid enum” error message that means strictly nothing.Related articles: