OpenGL ES 3.2 and Vulkan – everything you need to know

by: Rob TriggsFebruary 21, 2016
505

Tablet Gaming Shutterstock
Shutterstock

Today, the Khronos Group, an open consortium of leading hardware and software companies, has announced its new OpenGL ES 3.2 specification and more details on its cross platform Vulkan graphics API. So here is everything that you need to know about the group’s latest graphics APIs and features.

OpenGL ES 3.2

Starting with the new specification, OpenGL ES 3.2 aims to bring another step forward in mobile graphics capabilities and quality by absorbing Google’s Android Extension Pack (AEP) functionality into the core of OpenGL ES..

If you recall, the AEP was announced with the launch of Android 5.0 Lollipop and brought along a selection of graphical technologies to the mobile OS via extensions to OpenGL ES 3.1. The introduction of OpenGL ES 3.2 builds on the previous release to open up new graphics functionality to make full use of future mobile and automotive hardware.

Android Extention Pack

OpenGL ES 3.2 boasts a small number of improvements over last year’s OpenGL ES 3.1. Both make use of similar features from the AEP.

From the AEP, OpenGL ES 3.2 compliant hardware will support Tessellation for additional geometry detail, new geometry shaders, ASTC texture compression for a smaller memory bandwidth footprint, floating point render targets for high accuracy compute processes, and new debugging features for developers. These high-end features are already found in the group’s full OpenGL 4 specification.

High quality graphics effects are also part of the standard, with Deferred Rendering, physically-based shading, HDR tone mapping, and Global Illumination and reflections made available, bring desktop-class graphics to the core of OpenGL ES and mobile devices.

Jargon aside, this essentially allows for better looking mobile titles on supported hardware, including but not limited to the features seen in the impressive looking Rivalry Demo built in Epic’s Unreal Engine 4 (above).

Vulkan – the cross platform API

If you have been following desktop graphics technology lately, you’ve probably heard a lot about the low-level hardware access and performance improvements being touted by next generation graphics API’s like Microsoft’s DirectX12 and Khronos’ Vulkan.

By reducing driver overheads and improving multi-threaded CPU usage, Vulkan is promising notable performance improvements alongside the latest graphics features. The growth of multi-core mobile SoC designs could lead to notable performance gains in the mobile market.

Khronos Group working participants

A load of companies are actively working within the group, and cross platform support will benefit a great deal of the participants, as well as consumers.

The other part of Vulcan development is to offer a single unified API for desktop, mobile, consoles and other embedded applications. Vulkan supports Windows 7, 8 and 10, SteamOS, Android, Samsung’s Tizen spin-off, and a selection of desktop Linux distributions.

The introduction of Vulcan will do away with ES and desktop versions of the API by unifying the two, simplifying cross platform development and opening up new possibilities for developers and gamers alike. The most recent versions of OpenGL ES are pretty much considered a subset of the main OpenGL API now, making cross compatibility much more feasible.

“Hardware and software companies need an open 3D API to maximize market reach and minimize porting costs, and Vulkan is being forged by a broad consortium of industry leaders to do exactly that,” – Neil Trevett, president of the Khronos Group.

Vulkan will support hardware that is compatible with at least the mobile OpenGL ES 3.1 API through to the desktop OpenGL 4.5 specification and higher. However, hardware across these different platforms have different capabilities and API support levels, so we won’t necessarily see complete feature sets shared across all platforms.

Instead, Vulkan defines and implements features at device creation time, and platform profiles can be specified by Khronos and other parties. This will allow developers to target specific platforms using the same API, with features being split up depending on the hardware. For consumers, this will hopefully increase the availability of cross platform titles, as development costs will fall.

Vulkan open source tools

Along with the new graphics features, Khronos is introducing its SPIR-V intermediate language for shading language flexibility. The key SPIR-V tools are open source, which includes translators for GLSL, OpenCL C and C++ and an SPIR-V assembler/disassembler.

The open source Vulkan test suite is leveraging and merging with the Android Open Source Project (AOSP) drawElements Quality Program (dEQP) framework and is designed to allow developers to offers a greater level of feedback and to be able to make contributions to resolve cross-vendor inconsistencies.

Khronos open source test platform In summary, the introduction of OpenGL ES 3.2 and Vulkan will bring performance and graphical improvements to Android gamers, as well as opening the door for new compute solutions for more complex processing tasks. There’s an equally large focus on making cross-platform development less expensive and less time consuming to implemented too, which also trickles down to benefit us customers.

Unfortunately, we are going to have to wait for new mobile hardware before users and developers can make the most of many of these enhancements. The first specifications and implementations of Vulkan are expected later this year.

  • Bavani Sankar

    Well, this is some good news after a long time.

  • Mehmed

    it’s great that Open GL ES 3.2 has Android Extension Pack + some minor things along but i hate it that Vulkan provides support for Open GL ES 3.1 hardware. Why? Just start at Open GL ES 3.2 All high end hardware of 2014 supports Open GL ES 3.2, why do you want to support 2013 smartphones in 2016? That’s stupid.

    • Achwaq Khalid

      Down voted son. now go to sleep

    • Biborno Bornil

      down voted, not every one has the ability to buy openGL ES 3.2 enable hardware, so you can fuck off

      • Duke Abbaddon

        too right ! why not support our hardware, when that was planed from the start.

    • Garrett Lee Reyman

      My 2014 phone with a Snapdragon 801 doesn’t even support it. Your argument is invalid.

      • Mehmed

        Not high end.

        • Garrett Lee Reyman

          Are you saying that because it’s two years old? Because it was the highest of all ends when it came out

  • Sandeep !!

    I don’t think Open GL ES can outperform the Open GL itself which is supported by Tegra gpu’s. Adreno or PowerVR GPUs doesn’t have Open GL support.

  • jakeopp

    You switched between “Vulkan” and “Vulcan” several times, it’s Vulkan with a K. Vulcan is Star Trek lol

  • gfhfg

    and core of android is still based on java shit..

  • Meatball

    Spock would be proud!

  • Abz Productions

    this should help with emulation.