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: https://ko-fi.com/constref
💬 Join the Discord Community: / discord
💻 GitHub Repository & Code: https://github.com/nickenchev/modern-...
📦 Vulkan SDK: https://vulkan.lunarg.com/
If you find this graphics programming guide helpful, don't forget to LIKE and SUBSCRIBE for more engine development content!
-- TIMESTAMPS --
0:00:00 Introduction and Video Motive
0:03:10 Download and Install SDK
0:04:00 CMake and Vulkan Libraries
0:04:40 Main Function
0:05:56 Initialize Volk
0:06:04 Vulkan Instance, Volk , Extensions and Debug Callback
0:15:01 Create the Surface
0:15:45 Select the Physical Device
0:19:19 Graphics Queues
0:24:30 VkDevice and Vulkan Features
0:31:43 Vulkan Memory Allocator (VMA) Init
0:35:15 Swapchain Creation
0:47:35 Depth / Z Buffer
0:51:06 Create Image with VMA (Vulkan Memory Allocator)
0:53:20 Cleaning up Swapchain Resources
0:54:47 Compile Shaders with shaderc
0:58:35 Create Vulkan Shader Modules
1:00:00 Create Graphics Pipeline
1:02:38 Vulkan Pipeline Layout Creation
1:03:48 Vulkan Pipeline Shader Stages
1:05:42 Vertex and Fragment Shader Code
1:12:31 Enable Depth Testing
1:14:13 Normalized Device Coordinates (NDC)
1:24:29 Intro to Vulkan Synchronization
1:25:18 Multiple Frames in Flight
1:28:44 Timeline Semaphores and VkFence
1:29:31 Vulkan Fences
1:36:21 Command Buffer Creation
1:38:53 Command Pools
1:40:53 Cleaning up Resources
1:42:25 Let's Render a Triangle
1:43:44 Swapchain Recreation
1:43:44 Timeline Signal and Wait Values
1:48:50 Swapchain Image Acquire
1:51:52 Vulkan Pipeline Overview
1:53:53 Using Barriers and Layout Transitions
1:58:20 Begin Dynamic Rendering
2:04:51 Bind Pipeline and Draw the Triangle
2:06:19 Swapchain Presentation
2:07:31 Command Buffer Submission
2:07:53 Wait/Signal Semaphores and Queue Submission
2:09:56 Queue Submit
2:11:00 Queue Present
2:12:05 Outro
#Vulkan #GraphicsProgramming #CPlusPlus #GameDev #OpenGL #DirectX