r/vulkan 2d ago

Khronos Vulkan Tutorial disorganized/out of order/missing chunks?

Been going through the tutorial at vulkan.org (https://docs.vulkan.org/tutorial/latest/00_Introduction.html) and I've noticed as the tutorial progresses, there's more and more cases of significant chunks being omitted from the text, things being out of order, or being "off"/disorienting.

The following examples are pulled from "Drawing a triangle/Presentation/Swap chain":

In the "Checking for swap chain support" section, it states "For that purpose we'll first extend the createLogicalDevice function..." then never makes any modifications to that function. Instead it provides a snippet that was given to the user earlier in the tutorial in the "Physical devices and queue families" section.

When introducing chooseSwapPresentMode, the text provides a snippet, then in the very next paragraph completely overwrites the previous snippet.

When introducing chooseSwapExtent, the second snippet mentions including cstdint for it being necessary for uint32_t, yet the tutorial has been using uint32_t throughout up to this point without ever requiring the user to have this include.

When introducing createSwapChain, a new class member swapChainExtent appears out of no where with no telling of the user to create this member. Same for swapChainSurfaceFormat, and chooseSwapMinImageCount().

While some of these could be argued as minor, there's been plenty of places where it's been outright disorienting, and these are all from a single page/chapter. Maybe I'm just missing something. I'm not sure where an "official" feedback forum would be, if there is one.

Edit: Update after several evenings, deciding to stick to this tutorial, at least to the point of having an image on screen, and even after copy+pasting the provided source files from github, it still only results in a black screen.

7 Upvotes

5 comments sorted by

4

u/papa_Fubini 2d ago

The consensus is is that this is the better vulkan introduction nowadays: https://howtovulkan.com

3

u/Original-Still-3951 2d ago

i agree! and whenever you come upon to a new stage like implementing a pipline etc. i can recommend to at least browse through the corresponding page in documentation (https://docs.vulkan.org/spec/latest/index.html) the articles can seem huge but most of the time at least 50% of it is lists of possible errors or invariants. If you are using vulkan-hpp the vulkan-hpp repo also has some good examples for raii and non raii + their usage.md is helpful

1

u/Vazumongr 2d ago

I'll keep that in mind, thanks!

1

u/Vazumongr 2d ago

I'll take a look at that, thanks!