A casi un año de haber publicado las especificaciones de OpenGL 4.2, el Grupo Khronos que está detrás de este estándar gráfico abierto, ha publicado las especificaciones para la última versión de esta API con OpenGL 4.3 (Open Graphics Library 432) que extiende sus funcionalidades para permitir mejorar el rendimiento, conservando la compatibilidad con versiones previas. Adicionalmente Kronos también ha lanzado las especificaciones para OpenGL ES 3.0, API gráfica para aplicaciones y gráficos móviles 3D que ya adelantamos su llegada en Junio de este año.
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.
New functionality in the OpenGL ES 3.0 specification includes:
- multiple enhancements to the rendering pipeline to enable acceleration of advanced visual effects including: occlusion queries, transform feedback, instanced rendering and support for four or more rendering targets;
- high quality ETC2 / EAC texture compression as a standard feature, eliminating the need for a different set of textures for each platform;
- a new version of the GLSL ES shading language with full support for integer and 32-bit floating point operations;
- greatly enhanced texturing functionality including guaranteed support for floating point textures, 3D textures, depth textures, vertex textures, NPOT textures, R/RG textures, immutable textures, 2D array textures, swizzles, LOD and mip level clamps, seamless cube maps and sampler objects;
- an extensive set of required, explicitly sized texture and render-buffer formats, reducing implementation variability and making it much ea sier to write portable applications.
Como es usual cuando se lanza una nueva versión de las especificaciones de OpenGL, NVIDIA y AMD se pelean en ser los primeros en tener soporte para las nuevas versiones, esta vez ha sido NVIDIA quien ya tienen controladores BETA con soporte para OpenGL 4.3.
Como dato estadístico, OpenGL lleva 12 años en el mercado desde que se lanzaron las especificaciones 1.0 y se seguirá desarrollando una nueva especificación en el periodo de un año aproximadamente.
[Khronos OpenGL 4.3] [Khronos OpenGL ES 3.0]