The times are a-changing, and the graphics technologies games have used for decades are changing right along. Khronos Group is throwing out nearly 25 years of OpenGL and starting fresh with a powerful new gaming-centric API, Vulkan (previously known as glNext or the "Next Generation OpenGL Initiative") that's built for the next generation of games.
Get ready to hear them again, because Vulkan is doing all those things. I got the chance to speak with Khronos Group president Neil Trevett late last week, and we ran down the details of Vulkan — what it is, what it's for, and who it's aimed at. (Note: Trevett also works at Nvidia as its VP of Mobile Ecosystem).
Read on for a first look into what's looking like a strong, platform-agnostic competitor for DirectX 12 (and technically Mantle, although Mantle's future is currently...unclear, to say the least). If Valve's Steam Machines take off, Vulkan is the tech that will power them.
Love one another
"It's important that there's an open standard, cross-platform API that is up-to-date and truly modern and is providing state-of-the-art levels of performance," says Trevett.
"The number of platforms that want to use GPUs — it's not just PCs and mobile phones anymore. It's augmented reality systems. It's virtual reality. Cars use GPUs for vision processing. There's such a diversity of platforms coming, if every one of these platforms has its own specific API the world is going to be a very sad place."
Vulkan is a new cross-platform open standard aimed specifically at video games. That's an important distinction, for reasons we'll get into later.
Saying OpenGL is "inefficient" is a bit harsh, but in terms of gaming it's not far from the mark. Not only does it have 25 years of legacy fluff built into it, plus all sorts of baggage due to its usage in non-gaming applications, but the API itself prevents you from taking full advantage of the GPU due to issues like context management, error tracking, and the like. OpenGL controls the GPU the way it thinks you want to use it, not necessarily how you actually want to use it.
Vulkan? "We're calling it an 'explicit' API," says Trevett. "Vulkan lays the GPU out in front of you and you can control it how you wish. You can do things like multithreading much more efficiently, and you get much more flexibility."
That power comes at a cost — namely, a greater likelihood to completely tank the system if you're not careful.
Sign up for Computerworld eNewsletters.