Twenty-one days. One renderer. Every picture in the book drawn by the program you wrote.
Vulkan hands you nothing and forgives nothing. There is no global state, no driver heuristic guessing what you meant, and no call whose cost is a surprise -- you choose the memory type, you write the barrier, you build the pipeline. Most books hide the first eight hundred lines of that behind a framework. This one writes all of them on Day 1 and explains each piece where it is needed.
After that it keeps going the same way: the dispatch table is generated from vk.xml, the same registry file the headers come from; the shaders are compiled to SPIR-V at build time and carried inside the executable; and every number this book prints comes from a run rather than from a rule of thumb.
On Day 1 you have an instance, a device and a picture in a PNG file -- with no window, because a window is three hundred lines of Win32 that teach nothing about graphics. By Day 14 you are flying through a lamp-lit observatory with a real shadow on the floor. By Day 21 you have a 460-kilobyte program in a folder that runs on a machine with no compiler and no SDK on it.
What you build. Meridian, one program grown over twenty-one days:
Everything in it was run. 421 figures across 21 chapters, of which 211 are frames Meridian rendered itself and wrote to disk. Not one screen grab, on any page. 149 listings, every one compiled. 184 output blocks, every one captured from a real run rather than typed. 21 engine snapshots, one for each day, each of which builds on its own -- so if a chapter does not land you can diff it against the day before. Three of the book's own measurements came out wrong the first time, and all three are in it with the wrong number, the reason and the right number.
What you need. Windows, a C++17 compiler, the Vulkan SDK, and a graphics driver offering Vulkan 1.3 or later -- which is every NVIDIA, AMD and Intel part of roughly the last decade. The SDK supplies a shader compiler and the validation layer, and Day 21 shows that neither of them ends up in the shipped folder. Nothing else is installed at any point: no GLFW, no GLM, no VMA, no image library, no package manager, and no assets, because every texture is a function and every mesh is a loop.
Who this is for. A C++ programmer who has not written graphics before, or who has written OpenGL or Direct3D and wants to know what Vulkan asks for instead. You need pointers, structs and a compiler. You do not need linear algebra -- Day 6 builds what the book uses.
428 pages, in colour.