149086

Vulkan For Dummies: How The New API Is Building A Better Future For AR/VR

by Joe Durbin • February 18th, 2016

Earlier this week, the Khronos Group unleashed its new Vulkan API. If that sentence sounds less like a tech story and more like an excerpt from your middle school greek mythology class don’t worry, you are not alone. Fortunately, NVIDIA’s VP of developing ecosystems Neil Trevett (who is also president of the Khronos Group) was able to explain to Upload exactly what Vulkan is and the many ways it will impact the world of virtual reality.

NVIDIA's Neil Trevett

NVIDIA’s Neil Trevett

“[Our APIs] are basically a way of enabling a developer to get the most out of his or her GPU. They do this by creating what’s called an abstraction layer. Through this layer you can see the GPU as this big machine with a bunch of switches and dials inside. The API is basically a great big set of function tools that can tweak these switches. It takes care of how work gets done in the GPU and makes sure all of the switches and dials get rendered onto the screen correctly.”

So far so good. This specific Application Programming Interface, or API, is known as Vulkan. It was created and released by a group known as Khronos, an industry-wide entity that works to create standard solutions to computing problems. Trevett explains:

“We are an open standards organization; a consortium where over 120 companies come together to create open API tech standards for the industry. We figure out how developers can do things like 3D graphics. If every hardware developer made their own API it would be a nightmare. We create the interfaces between the accelerator hardware and silicon.”

OpenGL_500px_Nov14

Even for such an ambitious group, Vulkan is a revolutionary technology. The last API Khronos released on this scale was OpenGL over 25 years ago. This is the tech early innovators like John Carmack used to build their games. Vulkan, however, is much more powerful. Trevett:

“NVIDIA’s OpenGL driver is multiple million lines of code … Khronos is much thinner and leaner but it is also a more complex interface … If you know what you’re doing you can drive a really thin API with less overhead and your potential performance will be much higher. You get to control everything with Vulkan. It puts decisions like memory allocation directly in the hands of the developer and allows them to truly scrape every bit of power they can out of their GPU.”

Trevett believes this level of control may be daunting to average developers, but those are not the people who will primarily be using the API. Vulkan will first and foremost be used by groups like Unity and Epic Games for building 3D game and VR engines. These engines will simply add a Vulkan-powered backend that streamlines the GPU usage for developers using their services. In fact, Trevett said Unity, Epic and Valve already stated plans to integrate Vulkan into their tools.

These integrations are where Vulkan’s impact on the common consumer, and especially VR, will truly be felt. According to Trevett:

“Most people won’t need to use Vulkan … The consumer will probably never have heard, and probably doesn’t care about Vulkan. The advantage that Vulkan will deliver in the end for the software developers creating VR experiences is that they will typically be able to create experiences that are faster and typically have lower latency. Vulkan is lower latency because the driver is much thinner and there are fewer steps to go through which leads to much less glitching.”

Curbing latency is one of the biggest ongoing challenges for VR development, especially when it comes to creating mobile solutions. Vulkan will also be made available on Android as well as Windows and Linux in order to allow mobile developers to take advantage of the system as well. According to Trevett, Vulkan can lessen the strain on batteries and may even help enable the untethered VR future we all want.

Microsoft's HoloLens is one untethered HMD that could benefit from Vulkan's battery saving potential.

Microsoft’s HoloLens is one untethered HMD that could benefit from Vulkan’s battery saving potential.

“It’s definitely one important piece of that puzzle,” Trevett said. “Especially in AR. AR is interesting. AR needs everything that VR does from a computing standpoint, plus more. GPUs are going to be even more central to that. Things like power efficiencies will be even more important in AR. ”

Vulkan’s “Day Zero” – the first day of an open-source program’s life cycle – was this week but Trevett already says he is expecting Vulkan to one day become the dominant API Khronos offers. He notes, however, that OpenGL is in no way being replaced and will continue to be supported as well.

Vulkan is currently available for free to any interested developers. Although, those wishing to pass Khronos’ accreditation process for their creations will need to pay a small fee.