https://www.youtube.com/watch?v=GIFfxnux9mo
Based on the excellent Youtube tutorial by Brendan Galea - Vulkan Game Engine Tutorial (C++)
Credit also to C# Silk.NET version of the OG Vulkan C++ Tutorial by Daniel Keenan
And Mellinoe for the ImGui Vulkan example in the main Silk.NET repo
And the entire Silk.NET team and discord, y'all are awesome
Here are some other resources that helped me tremendously
- Sascha Willems and his giant collection of examples (C++)
- Cem Yuksel's Interactive Computer Graphics course
- Johannes Unterguggenberger's Lecture Series
- The Cherno
- Scroll to zoom
- Middle click to pan
- Middle + Right click to rotate (kinda like Catia)
Docs:
- Add some notes for each chapter describing where I deviated from the C++ (and maybe why)
- Maybe add some some youtube tutorials for the C# stuff?
Build:
- Fix up the shader compiler build step to only compile if glsl files have changed
- Get the shader compiler path to work with an env variable (I'm dense)
Features:
- Add some new tutorial chapters (textures?, what else?)
- Points and lines rendering
- Perspective camera currently doesn't work
Silk.NET 2.17 is released, so make sure you're on that version at least.
The projects require the Vulkan SDK to build/run. The SDK provides the Vulkan validation layers as well as the command line tools to compile the shaders.
You will have to update your csproj files to point the folder where glslc.exe is found (this is the glsl compiler)
<PropertyGroup>
<VulkanBinPath>C:\VulkanSDK\1.3.239.0\Bin</VulkanBinPath>
</PropertyGroup>** I couldn't get it to work with an environment variable, and I'm sure there's a better way to handle this globally
- Bonus projects:
- Sandbox01Multisampling
- Sandbox02ImGui
- Sandbox03MeshShaders
- Sandbox04ComputeShaders (coming soon)

