Introducing the brand new OpenGL ES 3.0

Share on linkedin
Share on twitter
Share on facebook
Share on reddit
Share on digg
Share on email

Five years after revealing OpenGL ES 2.0 to the world, the Khronos Groups has recently published the brand new OpenGL ES 3.0 specification. Aimed to be backwards compatible with the previous version, this iteration will enable developers to add more features to graphics applications. We’ve been one of the key members of the Khronos Group, having worked closely with them to make sure that the new version has all the features needed for PowerVR Series6 ‘Rogue’, our next generation of high performance GPUs.

As this release was highly anticipated ahead of SIGGRAPH 2012 – where Imagination was also present -, we can now give you a breakdown of the most important features of OpenGL ES 3.0 and how they will help developers bring high end graphics to the mobile and embedded space.

High-end graphics for a mobile-driven standard

Targeting smartphone and tablet graphics, this latest version has been in progress for some time, as the groups and its members wanted to bring the best set of features from OpenGL while also keeping in mind one of the defining aspects of the mobile world: power consumption. Yes, it comes down to the classical power vs. performance fight off, but with PowerVR Series6 ‘Rogue’ GPUs, we’ve made sure both come out as winners. We’ve fine-tuned our hardware so that we not only include the newly added features in a checklist style, but we’re actually using the architecture’s key strengths to focus the group’s efforts in the right direction. And looking at what has just been published, we can be confident that the PowerVR family will continue to lead the way in every aspect of the mobile market.

GLBenchmark 3: Next Gen OpenGL 3.0 ES Benchmark for Mobile Devices

Firstly, OpenGL ES is openly targeting developers who work in the consumer devices world: a fast paced environment which needs constant platform and API updates to keep in touch with the cutting edge graphics hardware improvements brought by companies such as ourselves. As a result, we expect OpenGL ES adoption to soar in the upcoming future, reaching 1 billion units per year in 2014, as a study conducted by us shows. The PowerVR Insider programme as well as our upcoming SDK release should keep the momentum going, as developers can start implementing incremental updates to take advantage of the new features of OpenGL ES 3.0.

Experience our visually stunning OpenGL ES 3.0 demos

Furthermore, we’ve prepared a series of demos which will showcase the added features. Most importantly, these will be run on actual silicon which makes this even better for those who want to get a real feel of what the standard actually improves on. In terms of feature comparison with its desktop relative, the OpenGL ES 3.0 embedded profile can be seen as largely a mobile-oriented implementation of the PC-oriented OpenGL 3.3 version, but in general terms of compatibility, it can be placed somewhere between OpenGL 3.1 and OpenGL 4.3.

Our first of the three demos is titled ‘Leaves’ and features the Transform Feedback functionality. This allows for GPU compute style operations within just the graphics API where transformed geometry is not only submitted to the rasteriser for drawing but the results are also written out to memory. Therefore, positions are continuously updated per frame as illustrated in the demo by modelling leaves blowing in the wind. Transform Feedback is used for position and orientation of each leaf and then Geometry Instancing, another key OpenGL ES 3.0 feature, is used to draw the high complexity leaves with close to 300 polygons each.

Transform feedback and Depth Texture Shadow Mapping in Leaves – our OpenGL ES 3.0 demo

Inspired by the 1927 cult classic, we’ve tried to follow in Fritz Lang’s footstepsand created our second clip which we’ve called ‘Metropolis’. It renders a high-rise futuristic urban scene using hundreds of OpenGL ES 3.0 Instanced buildings and flying cars.  This new feature reduces API overhead and enables significantly more geometry to be processed without excessive CPU usage. Multiple Render Targets (MRT) are used to add atmospheric bloom effects bringing a cinematic feeling to the scene. High quality anti-aliasing and anisotropic filtering ensures top of the line image quality, which we’re sure would make even the “Master of Darkness” proud.

Metropolis showing a use case for Instancing and MRTs

In our final demo, ‘Shrine’, we’ve maintained the dark-oriented theme and created an eerie night-time scene to show the benefits of Light Indexed Deferred Lighting using OpenGL ES 3.0 Multiple Render Targets. This advanced approach to scene lighting enables up to 4 light sources per pixel selected from up to 1024 lights per scene and can be efficiently combined with advanced hardware based anti-aliasing effects. OpenGL ES 3.0 also adds support for a number of texture features. The most important ones have to do with floating point textures (linked to FP32 support), 3D textures, 2D array textures, non-power-of-two textures, and 1 & 2 channel textures(R & R/G). When rendering textures, emphasis is placed on multisample anti-aliasing (MSAA), which earlier hardware generations could only run against the framebuffer. OpenGL ES 3.0 can presently support MSAA-type rendering for a texture.

Deferred lighting and MRTs in Shrine – our OpenGL ES 3.0 demo

And there’s more: new buffer objects, geometry optimizations and the shading language update

In addition, OpenGL ES 3.0 introduces a number of texture compression standards and a new version of the OpenGL Shading Language ES (GLSL ES 3.0). This includes full support for 32-bit integer and floating point operations as well as an extensive list of texturing facilities, some of which we’ve already outlined. Another important feature relates to geometry processing and is called occlusion queries. This comes as an improvement to our current hardware architecture. As you may know, Imagination’s PowerVR architecture is based on tile-based deferred rendering. This essentially means, among other things, that we efficiently perform hidden surface removal to improve power consumption and reduce memory bandwidth by removing fragments which are not visible in a scene. The benefit of occlusion queries is that a developer can intelligently use it to skip vertex processing as well, therefore removing entire objects before they are rendered. It should lead to less processing which could allow the chip to be available for other things, like GPU compute.

Finally, OpenGL ES 3.0 introduces support for different types of buffers which should establish the way they are implemented and used by developers. Consequently, the standard defines the following objects: Strictly Defined Pixel, Uniform and Frame Buffer Objects. With these new buffers, shaders should now be used more efficiently to reduce the driver’s CPU overhead as confusion among developers regarding their purpose will eventually disappear.

So there you have it, OpenGL ES 3.0 in a (quite large) nutshell! We’d love to tell us what you think of the Khronos Group’s new version. Also, if you have any questions, don’t hesitate to leave a comment in the box below and we’ll get back to you as soon as possible.

For more, keep in touch with us via Twitter and come back to the blog as we will keep you updated on the latest from Khronos and all our partners!

Alex Voica

Alex Voica

Before deciding to pursue his dream of working in technology marketing, Alexandru held various engineering roles at leading semiconductor companies in Europe. His background also includes research in computer graphics and VR at the School of Advanced Studies Sant'Anna in Pisa. You can follow him on Twitter @alexvoica.

4 thoughts on “Introducing the brand new OpenGL ES 3.0”

  1. I’m especially looking forward to seeing deferred rendering working on mobile devices.
    Also good news is that OpenGL ES 2.0 code won’t break. OpenGL ES 2.0 is forward compatible with its sucessor, OpenGL ES 3.0 (unlike OpenGL ES 1.x)
    I’m curious when we will see an update PowerVR SDK with PVR2 and ETC2/EAC texture utilities, as well as a list of development boards and mobile devices that will support Rogue Series 6.

    • Hi,
      Tile based deferred rendering is the unique technology behind the PowerVR architecture and can be found working in many of today’s devices powered by Series 5/5XT. As for backwards compatibility, you are correct, code written for OpenGL ES 2.0 should work on version 3.0 without any additional programming effort.
      Imagination’s PVRTC2, the updated texture compression standard, has been supported since the release of the PowerVR Insider SDK v2.10. With the upcoming SDK v3.0, which should be out in a few weeks’ time, we aim to add more support for other standards, including ETC2. We are also aware that some of our customers already have PowerVR Series6 ‘Rogue’ silicon and they will announce development boards and devices in due course.
      Thanks for your reply and feedback,
      Alex Voica.


Please leave a comment below

Comment policy: We love comments and appreciate the time that readers spend to share ideas and give feedback. However, all comments are manually moderated and those deemed to be spam or solely promotional will be deleted. We respect your privacy and will not publish your personal details.

Blog Contact

If you have any enquiries regarding any of our blog posts, please contact:

United Kingdom
Tel: +44 (0)1923 260 511

Search by Tag

Search by Author

Related blog articles

android background

The Android Invasion: Imagination GPU IP buddies up with Google-powered devices

Google Android continues to have the lion share of the mobile market, powering around 75% of all smartphones and tablets, making it the most used operating system in the world. Imagination’s PowerVR architecture-based IP and the Android OS are bedfellows, with a host of devices based on Android coming to market all the time. Here we list a few that have appeared in Q4 2020.

Read More »
bseries imgic technology

Back in the high-performance game

My first encounter with the PowerVR GPU was helping the then VideoLogic launch boards for Matrox in Europe. Not long after I joined the company, working on the rebrand to Imagination Technologies and promoting both our own VideoLogic-branded boards and those of our partners using ST’s Kyro processors. There were tens of board partners but only for one brief moment did we have two partners in the desktop space: NEC and ST.

Read More »
pvrtune complete

What is PVRTune Complete?

PVR Tune Complete highlights exactly what the application is doing at the GPU level, helping to identify any bottlenecks in the compute stage, the renderer, and the tiler.

Read More »


Sign up to receive the latest news and product updates from Imagination straight to your inbox.