The Khronos Group today announced the immediate release of the OpenGL 4.3 specification, bringing the very latest graphics functionality to the most advanced and widely adopted cross-platform 2D and 3D graphics API (application programming interface). OpenGL 4.3 integrates developer feedback and continues the rapid evolution of this royalty-free specification while maintaining full backwards compatibility, enabling applications to incrementally use new features while portably accessing state-of-the-art graphics processing unit (GPU) functionality across diverse operating systems and platforms. The OpenGL 4.3 specification contains new features that extend functionality available to developers and enables increased application performance. The full specification is available for immediate download here. NVIDIA has released beta OpenGL 4.3 drivers today (Windows driver version 305.53) and you can download those here.
New functionality in the OpenGL 4.3 specification includes:
- compute shaders that harness GPU parallelism for advanced computation such as image, volume, and geometry processing within the context of the graphics pipeline;
- shader storage buffer objects that enable vertex, tessellation, geometry, fragment and compute shaders to read and write large amounts of data and pass significant data between shader stages;
- texture parameter queries to discover actual supported texture parameter limits on the current platform;
- high quality ETC2 / EAC texture compression as a standard feature, eliminating the need for a different set of textures for each platform;
- debug capability to receive debugging messages during application development;
- texture views for interpreting textures in many different ways without duplicating the texture data itself;
- indirect multi-draw that enables the GPU to compute and store parameters for multiple draw commands in a buffer object and re-use those parameters with one draw command, particularly efficient for rendering many objects with low triangle counts;
- increased memory security that guarantees that an application cannot read or write outside its own buffers into another application’s data;
- a multi-application robustness extension that ensures that an application that causes a GPU reset will not affect any other running applications.