New version of the royalty-free 3D graphics API used on virtually all smartphones and tablets adds advanced 3D features and integrated GPU computing.
The Khronos™ Group today announced the immediate release of the OpenGL® ES 3.1 specification, bringing significant functionality enhancements to the industry-leading, royalty-free 3D graphics API that is used on nearly all of the world’s mobile devices. OpenGL ES 3.1 provides access to state-of-the-art graphics processing unit (GPU) functionality with portability across diverse mobile and embedded operating systems and platforms. The full specification and reference materials are available for immediate download here.
“OpenGL ES 3.1 provides the most desired features of desktop OpenGL 4.4 in a form suitable for mobile devices,” said Tom Olson, chair of the OpenGL ES working group and Director of Graphics Research at ARM. “It provides developers with the ability to use cutting-edge graphics techniques on devices that are shipping today.”
Compute shaders – applications can use the GPU to perform general computing tasks, tightly coupled with graphics rendering. Compute shaders are written in the GLSL ES shading language, and can share data with the graphics pipeline;
Separate shader objects – applications can program the vertex and fragment shader stages of the GPU independently, and can mix and match vertex and fragment programs without an explicit linking step;
Indirect draw commands – the GPU can be instructed to take draw commands from its memory rather than waiting for commands from the CPU. For example, this allows a compute shader running on the GPU to perform a physics simulation and then generate the draw commands needed to display the results, without CPU intervention;
Enhanced texturing functionality – including multisample textures, stencil textures, and texture gather;
Shading language improvements – new arithmetic and bitfield operations, and features to enable modern styles of shader programming;
Optional extensions – per-sample shading, advanced blending modes, and more;
Backward compatibility with OpenGL ES 2.0 and 3.0 – programmers can add ES 3.1 functionality incrementally to working ES 2.0 and 3.0 applications.
“The OpenGL family of APIs including OpenGL ES, OpenGL and WebGL have proven themselves as the foundation for 3D graphics on mobile devices, PCs and the Web – this OpenGL ES release is yet another graphical milestone that will enable billions of users to experience new levels of realism and interactivity on pervasive, mainstream devices,” said Neil Trevett, president of the Khronos Group and vice president of mobile ecosystem at NVIDIA.
“The certain future of graphics is mobile and with multiple advanced features the Khronos OpenGL ES 3.1 specification takes a significant step forward for mobile and embedded graphics; bringing mobile platforms closer in line with performance and feature set expectations of the very capable desktops and consoles of years past,” said Jon Peddie, president of JPR. “The widespread adoption by semiconductor manufacturers and developers has made OpenGL ES the technology of choice for mobile application development.”
The OpenGL ES 3.1 specification is the result of significant and thoughtful input from the Khronos OpenGL ES Working Group.
“Mobile handset manufacturers and software developers are competing in an increasingly fierce market and features such as high-performance graphics make a huge difference in building customer engagement and satisfaction,” said Jem Davies, Vice President of Technology at ARM. “Khronos has an important role in creating industry-wide standards and ARM, as a promoter member, is playing an active role in its OpenGL ES working group. Historically, ARM has led the way in the development of mobile APIs on ARM Mali™ GPUs and we believe OpenGL ES 3.1 is a tangible step forward allowing developers to take full advantage of the graphics features in the OpenGL standard while maintaining the efficiency required to deliver these features to mobile users worldwide.”
“The new functionality in the OpenGL ES 3.1 API is a major step forward in bringing easy-to-access compute capabilities for advanced 3D graphics to mobile and embedded devices. The good news for Imagination’s extensive PowerVR developer ecosystem is that we designed all of our Rogue GPUs anticipating the full feature set of OpenGL ES 3.1, from the smallest, half-cluster graphics processors aimed at very affordable devices to multi-cluster, high-end GPUs designed for the ultimate flagship platforms. We are very excited about this next phase in mobile graphics as GPU compute becomes a more significant and integral part of advanced graphics applications,” said Tony King-Smith, EVP marketing, Imagination Technologies.
"With Mobica’s roots coming from the mobile space and with our strong interest in the development of next generation graphics, we are very excited to have contributed to the development of OpenGL ES 3.1,” commented Jim Carroll, CTO of Mobica “We look forward to continuing to help the Khronos group develop this further as we are already seeing the uptake of this specification with our customers for development and conformance testing.”
“The new OpenGL ES specification raises the bar for graphics interactivity and access to GPU compute across the mobile industry,” said Barthold Lichtenbelt, director of mobile graphics at NVIDIA and OpenGL ARB working group chair. “The NVIDIA Tegra K1 processor brings desktop graphics capabilities to mobile and can naturally support OpenGL ES 3.1 as well as full desktop OpenGL 4.4. We’re committed to working with Khronos to evolve the OpenGL family of APIs to provide a powerful platform for visual computing across the industry.”
“Upcoming mobile applications will require integrated GPUs to concurrently render graphics and perform general computing tasks within the power constraints of mobile devices,” said Tim Leland, Senior Director of Product Management at Qualcomm Technologies, Inc. “We are pleased to have worked with Khronos to develop appropriate APIs in OpenGL ES 3.1 for compute shaders and indirect draw commands in order to enable new experiences on mobile devices that use Snapdragon processors.”
“Vivante has been a long-term contributor to the OpenGL ES API, leading the way for mass market adoption of the latest graphics technologies in mobile products. The company’s early vision of multi-context photorealistic rendering and compute in smartphones and tablets has come to life with the introduction of OpenGL ES 3.1, along with the comprehensive list of additional API features that are supported by the Smaller-Faster-Cooler Vega GPU product line,” said Wei-Jin Dai, President and CEO of Vivante. “Developers adding OpenGL ES 3.1 support to their applications designed around Vega will give them the extra edge they need to redefine the visual user experience and interactive game play.”
Conformance – Enhancing the User Experience The OpenGL ES working group at Khronos expects to update the OpenGL ES Adopter’s Program to provide extensive conformance tests for OpenGL ES 3.1 within three months, enabling implementers of the specification to gain access to source code for Conformance Tests and to use the OpenGL ES trademark on products that pass the defined testing procedure. This ensures that conformant OpenGL ES implementations provide a reliable, cross-platform graphics programming platform.
“We returned yesterday from a week of meetings with Khronos members and key industry figures in the well-established Chinese smartphone market; and we expect to see an increased adoption of OpenGL ES in China,” said Erik Noreke, VP business development of Khronos Group. “There are a growing number of Chinese SOC companies providing the Chinese market with mobile platforms supporting high performance 3D graphics; and with OpenGL ES 3.1 they are able to continue supporting the growing consumer demand for high resolution 3D enabled devices.”
The Khronos Group is an industry consortium creating open standards to enable the authoring and acceleration of parallel computing, graphics, vision, sensor processing and dynamic media on a wide variety of platforms and devices. Khronos standards include OpenGL®, OpenGL® ES, WebGL™, OpenCL™, SPIR™, WebCL™, OpenVX™, OpenMAX™, OpenVG™, OpenSL ES™, StreamInput™, COLLADA™ and glTF™. All Khronos members are enabled to contribute to the development of Khronos specifications, are empowered to vote at various stages before public deployment, and are able to accelerate the delivery of their cutting-edge media platforms and applications through early access to specification drafts and conformance tests.