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)