A comprehensive tutorial on modern Vulkan graphics programming using dynamic rendering and timeline semaphores to render a first triangle.
Want to learn Vulkan without drowning in thousands of lines of boilerplate? In this comprehensive 2-hour tutorial, we break down modern Vulkan graphics programming from scratch.
We are targeting the latest version of Vulkan, leveraging modern API features like Dynamic Rendering and Timeline Semaphores to make development faster, cleaner, and more efficient. By the end of this video, you'll understand the modern Vulkan pipeline and successfully render your first triangle!
☕ Support the channel on Ko-fi: ko-fi.com/constref
💬 Join the Discord Community: discord.gg/T7mHdSxqR4
💻 GitHub Repository & Code: github.com/nickenchev/modern-vulkan/tree/lesson_01
📦 Vulkan SDK: vulkan.lunarg.com/
If you find this graphics programming guide helpful, don't forget to LIKE and SUBSCRIBE for more engine development content!
-- TIMESTAMPS --
Introduction and Video Motive
Download and Install SDK
CMake and Vulkan Libraries
Main Function
Initialize Volk
Vulkan Instance, Volk , Extensions and Debug Callback
Create the Surface
Select the Physical Device
Graphics Queues
VkDevice and Vulkan Features
Vulkan Memory Allocator (VMA) Init
Swapchain Creation
Depth / Z Buffer
Create Image with VMA (Vulkan Memory Allocator)
Cleaning up Swapchain Resources
Compile Shaders with shaderc
Create Vulkan Shader Modules
Create Graphics Pipeline
Vulkan Pipeline Layout Creation
Vulkan Pipeline Shader Stages
Vertex and Fragment Shader Code
Enable Depth Testing
Normalized Device Coordinates (NDC)
Intro to Vulkan Synchronization
Multiple Frames in Flight
Timeline Semaphores and VkFence
Vulkan Fences
Command Buffer Creation
Command Pools
Cleaning up Resources
Let's Render a Triangle
Swapchain Recreation
Timeline Signal and Wait Values
Swapchain Image Acquire
Vulkan Pipeline Overview
Using Barriers and Layout Transitions
Begin Dynamic Rendering
Bind Pipeline and Draw the Triangle
Swapchain Presentation
Command Buffer Submission
Wait/Signal Semaphores and Queue Submission
Queue Submit
Queue Present
Outro
#Vulkan #GraphicsProgramming #CPlusPlus #GameDev #OpenGL #DirectX
Why it's here
1 person recommends this
What people say. Recommended as a helpful resource for learning modern Vulkan and adding a Vulkan renderer to a game engine.
M
u/Mici-Pin r/gameenginedevs • Recommends
…p 1080P) There is still some optimization left to do and shortcuts in the renderer to redo, currently still implementing Tracy so i didn't measure exactly where that extra performance is coming from and if there is any wasted.
\-Things still missing from the current Vulkan Implementation : FXAA, MSAA, VSync and Gpu particles.
sources i used :
[video[video
https://vulkan-tutorial.com/
https://github.com/bkaradzic/bgfx checking how they implemented their abstraction…