Introducing the brand new OpenGL ES 3.0

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!

5 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.

Leave a Comment

Search by Tag

Search for posts by tag.

Search by Author

Search for posts by one of our authors.

Featured posts
Popular posts

Blog Contact

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

United Kingdom

benny.har-even@imgtec.com
Tel: +44 (0)1923 260 511

Related blog articles

PowerVR Series2NX collects another award at China tech summit

Following success at other award ceremonies this year, PowerVR’s Series2NX neural network accelerator has picked up another gong. This time, the panel of judges at the ASPENCORE Global Electronic Achievement Awards Annual EDA/IP award ceremony deemed it to be the most

Powering the automotive revolution

Since the advent of the semiconductor, the industry has been all about making electronics faster and more powerful. While that process is ongoing, the focus these days is on making things smarter and more efficient, and nowhere is that truer

Partner interview series: OPPO – rising up

In the first of a new ‘quick chat’ interview series, we speak to some of our leading partners to learn about their perspective on the industry and how they are looking to challenge the status quo. We start with China-based

Stay up-to-date with Imagination

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

  • This field is for validation purposes and should be left unchanged.
Contact Us

Contact Us