Chapter -1: about this guide

Warning

This series is a work in progress

What it is

A concise-ish overview of:

What it is not

Prerequisites

Knowing how to read and program.

Why not read X instead?

I have been working on Batyr on-and-off for the past few years (2% of the time on and the remaining 98% off), and I have had the time to forget everything about Vulkan a few times by now. Getting back in the saddle is unpleasant: most guides are too verbose or focused on specific workloads for my liking (I cannot see how the pieces fit together if everything is spread over 40 different pages), and the doc is a bit too terse (as a good doc should be). This guide aims for a sweet spot. It focuses on big ideas and leaves smaller details aside — the doc is here to fill the gaps.

A particularity of this guide is that it introduces Vulkan as a general library for interacting with GPUs, rather than focusing solely on graphics programming. This offers two key benefits: other functionalities do not feel like afterthoughts, and it allows us to introduce Vulkan's complexity in a staggered manner. By the time we get to the graphics pipeline, most involved concepts should feel familiar.

I believe that this guide can serve as a decent introduction to Vulkan for resourceful beginners, but what do I know?

Some good alternatives/complementary sources

Caveat

May Will contain mistakes, I am not a pro.