Recently I put out a call for beginner-friendly ways to learn Vulkan.
For those who don't know, Vulkan is a new graphics API-- in other words, a fresh new way to talk to your GPU and make it do things. It's managed by the Khronos Group, which means no one corporation controls it. It's pretty cool, and 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.
By "beginner-friendly," I mean that a total newbie should be able to at least understand what Vulkan is, and after that some programming knowledge is assumed. No graphics API knowledge is assumed.
I got tired of everyone going on about how it's too hard to talk to beginners about, or not meant for "normal developers" to understand, or that people who did want to learn it had to totally 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.
You just have to approach it with the right frame of mind, and have it be taught to you in the right way.
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.
So go forth, friends, and enjoy learning yourself some Vulkan. Here are eight tutorials. The tutorials take different approaches to teaching, so if you find yourself getting stuck with one, move on to another and see if that fits your learning style better.
Update (Jan 4, 2019): Not a beginner? Looking for more resources? Khronos put together a lovely and very comprehensive list of Vulkan resources here: https://github.com/KhronosGroup/Khronosdotorg/blob/master/api/vulkan/resources.md