OpenGL ES 3.0 – the future of tablet and smartphone graphics
Source: Khronos The Khronos Group has announced the availability of version 3.0 of the OpenGL ES open mobile graphics interface specification, code-named "Haiti", at this year's SIGGRAPH conference in Los Angeles. OpenGL ES is the most important 3D graphics interface for SoC GPUs, which can be found in tablets and smartphones, and is supported by Google's Android, Apple's iOS and other systems. OpenGL ES 3.0 has been significantly improved compared to its predecessors but is still backwards compatible with ES 2.0.
Numerous improvements in version 3.0's rendering pipeline should improve graphical effects on mobile devices through advanced visual effects. These include occlusion queries, transform feedback and instanced rendering, which should decrease power consumption, as well as providing support for more rendering targets.
Source: Khronos Occlusion queries are used by 3D applications to determine whether objects that are yet to be drawn would obscure pixels; if so, those pixels aren't drawn, thereby minimising function calls and computing time. With instanced rendering, multiple copies of an object can be drawn at a time with just one command. Multiple render targets (MRTs) can be used to render multiple surfaces with a single draw command; OpenGL ES 3.0 supports at least four MRTs. Transform feedback allows, for example, for more advanced particle effects; it does this by using geometrical data that has already been processed and written into a separate buffer object, thus preventing the need to go through the pipeline all over again for every individual image. The Primitive Restart Function is used to draw multiple triangle strips, interconnected triangles, with one command.
In addition, OpenGL ES 3.0 now supports the ETC2 and EAC texture compression formats, which are also cross-platform integrated into OpenGL, starting with version 4.3, and includes 3D textures and depth textures, the latter of which are important for shading. A new version of the OpenGL Shading Language ES (GLSLES 3.0) now includes full support for 32-bit integer operations and 32-bit floating point operations and removes many of the limits imposed by the previous versions.
OpenGL ES 3.0's potential image quality was previewed in a video that featured the upcoming version 3.0 of the GLBenchmark tool, which uses instanced rendering for the vehicles, occlusion queries and deferred rendering with MRTs and depth textures. The complete specification is available on the OpenGL ES web site.