The Khronos Group, a major standard setting organization for computer graphics, this week announced the release of the OpenGL 4.3 specification, bringing the very latest graphics functionality to the cross-platform 2D and 3D graphics API (application programming interface). The version 4.3 of the spec brings support for features that are already present in DirectX 11.1, a major API designed by Microsoft Corp., and adds a number of brand-new capabilities.
The OpenGL 4.3 specification contains new features that extend functionality available to developers and enables increased application performance. In particular, the OGL 4.3 supports compute shaders needed to perform complex operations without utilizing pixel shaders or vertex shaders. In addition, the version 4.3 supports new memory security capabilities needed to eliminate potential threats or stability issues. Initially, the OpenGL 4.3 is only supported by Nvidia Corp.'s select desktop GeForce graphics processing units through a beta driver. Eventually, other vendors, such as AMD, Intel and so on.
id Software's Rage game that uses OpenGL API
“Developer feedback has been key to creating a faster, more capable API that meets emerging needs, such as providing a secure platform for GPU-accelerated web applications using WebGL and compute shaders that harness GPU parallelism for advanced computation,” said Barthold Lichtenbelt, working group chair of the OpenGL ARB and director of Tegra graphics at Nvidia.
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.