With one of the world's biggest game developers announcing its plans to go cross-platform earlier this week, now might be an opportune moment to introduce a new version of the most popular cross-platform 2D and 3D graphics API, OpenGL.
Right on cue, the Khronos Group - a non-profit industry consortium that manages the development of open-standard APIs - has announced the immediate availability of OpenGL 4.0.
The release, announced at this week's Games Developer Conference in San Fransisco, is described as a "significant update" and hopes to make full use of graphics cards designed around the competing Microsoft API, DirectX 11.
Among the features new to OpenGL 4.0 are support for hardware tessellation and improved integration with OpenCL, enabling the GPU to better handle general computations normally performed by the CPU.
The Khronos Group describes the key features of the release as follows:
- Two new shader stages that enable the GPU to offload geometry tessellation from the CPU
- Per-sample fragment shaders and programmable fragment shader input positions for increased rendering quality and anti-aliasing flexibility
- Drawing of data generated by OpenGL, or external APIs such as OpenCL, without CPU intervention
- Shader subroutines for significantly increased programming flexibility
- Separation of texture state and texture data through the addition of a new object type called sampler objects
- 64-bit double precision floating point shader operations and inputs/outputs for increased rendering accuracy and quality
- Performance improvements, including instanced geometry shaders, instanced arrays, and a new timer query.
In addition to the release of OpenGL 4.0, the Khronos Group has also made available OpenGL 3.3 - a specification designed to bring as much OpenGL 4.0 functionality as possible to previous-generation GPU hardware.
NVIDIA's next-generation GeForce 400-series graphics cards, codenamed Fermi, are thought to offer full support for the OpenGL 4.0 specification. AMD, meanwhile, has commented on the release by calling it "another major accomplishment for the OpenGL ARB".