Skip to main content

Khronos Blog

Beginners Guide to Vulkan

Recently I asked the community for beginner-friendly resources on Vulkan, and I compiled a list of them that you can find below. 

For the beginners reading this, Vulkan is a new graphics API-- in other words, a way to communicate with your GPU and make it do things. It's managed by the Khronos Group, which means it's under multi-company governance - being managed by the industry for the industry. Anyone who wants to do work on GPUs (not restricted to graphics programmers!) should at least have a high level knowledge of what it is. 

What am I looking for in a beginner-friendly tutorial? It should provide a description of what Vulkan is, in words that anyone can understand. After that it can assume some programming knowledge. No graphics API knowledge is assumed.

I compiled this list because I saw many discussing how Vulkan was too hard, or even recommending that beginners master OpenGL first. It reminds me of a lot of the attitudes surrounding C++ when I was first learning it-- yes, it's more lines of code, but that doesn't mean it can't be a fine place for a beginner to start learning. Beginner tutorials are great for people who want to end up doing it professionally, people who want a taste of it to see if they want to bother diving deeper, and for people who want to have a high level knowledge of modern GPU programming in case it's useful in the future.

Dustin puts my feelings to words nicely in his tutorial:

So how did I finally break through that wall of understanding?  I'll give you a hint. It begins with a V and ends with ulkan. "But Vulkan is the hardz" I hear you saying. "Shouldn't I start with something easy like OpenGL?"  Emphatically I say NO.  

The point is that Vulkan removes the mystery.  It spells things out, plain as day. And for a programmer, this is awesome!  It's intellectually honest about what it needs, and what it's doing. It will teach you what it really means to program a GPU. Don't think of all the extra code as a mountain to climb, but instead as a clearly articulated set of instructions to help you get where you need to go.

Go ahead and try out the below tutorials. I've found that everyone has a different favorite depending on learning style, background, and goals-- so if you find yourself getting stuck on one, move on to another and see if that's a better fit.

  1. VULKAN TUTORIAL
  2. A SIMPLE VULKAN COMPUTE EXAMPLE
  3. VULKANO: SAFE RUST WRAPPER AROUND THE VULKAN API
  4. OCULUS VIRTUAL REALITY SDK: "OCULUS ROOM TINY" MINIMAL VULKAN SAMPLE CODE (VK/MAIN.CPP)
  5. MINIMAL EXAMPLE OF USING VULKAN FOR COMPUTE OPERATIONS
  6. I AM GRAPHICS AND SO CAN YOU
  7. API WITHOUT SECRETS: INTRODUCTION TO VULKAN
  8. VULKAN TUTORIAL IN THE LUNARG SDK