The Khronos Group has been updating the OpenGL 3.x spec about every six months and with OpenGL 3.2
having been released last August, we expected OpenGL 3.3 would be announced soon and figured it may come this week during the Game Developers' Conference in San Francisco. Well, it did. Not only did Khronos releases the OpenGL 3.3 specification, but they have also went ahead and already released OpenGL 4.0!
The OpenGL 4.0 release took us by surprise and this spec is also tied to the GLSL 4.00 update for the GL Shading Language. OpenGL 4.0 continues to offer compatibility with older OpenGL extensions and ways using the compatibility profile mode introduced in OpenGL 3.2 while the core profile is also still in place. OpenGL 4.0 expands upon the integration with OpenCL (Open Computing Language), provides two new shader stages for geometry tessellation work, per-sample fragment shaders and programmable fragment shader input positions, drawing of data generated without CPU intervention, support for shader subroutines, separation of texture state and texture data, 64-bit double precision floating point shader operations, and many performance improvements.
The OpenGL 4.0 specification (along with the OpenGL 3.3 spec) is available for immediate download at OpenGL.org
. The OpenGL 3.3 specification is designed to bring as much of the new OpenGL 4.0 functionality back into OpenGL 3.x as possible while still retaining compatibility with existing graphics processors. The press release announcing OpenGL 4.0 and 3.3 can be read via the Khronos Group
It's expected that NVIDIA soon will release a proprietary driver update enabling OpenGL 3.3/4.0 support for Linux. We have not heard any comments from ATI/AMD on when they plan to introduce OpenGL 4.0 functionality, but it will likely be a few months. Lastly, while it's terrific that the OpenGL specification is evolving at a steadfast rate, the open-source OpenGL acceleration support via Mesa and Gallium3D is not. We still do not have any reliable OpenGL 3.x support in any open-source Linux graphics driver and have yet to see the OpenGL 3.2 state tracker surface. The open-source support is now yet another step behind the latest Khronos spec and somehow needs to get caught up with this quickly evolving graphics API.