Learn the Vulkan API with C++
Learn the fundamentals of the popular Vulkan API for modern graphics rendering using C++!
Note: 4.7/5 (447 notes) 3,863 students
Instructor(s): Ben Cook
Last update: 2020-04-14
What you’ll learn
- Create 3D graphical applications using C++ and the Vulkan API
- What the Vulkan API is
- Set up Vulkan to work on a GPU
- Create essential Vulkan elements such as the Swapchain, Pipeline, and Command Buffers
- Load in models from external files
- Descriptor Sets and Push Constants (including Dynamic Uniform Buffers)
- Implementing a Depth Buffer
- Using Textures
- Subpasses and Multiple Subpasses
- Good understanding of C++
- Graphics Theory knowledge (not mandatory but will make things significantly easier!)
- Visual Studio and Windows are advised, however the code and theory are relevant to Mac/Linux systems, you just won’t be able to follow along 1-to-1 with IDE use!
Learn one of the hottest new Graphics APIs in the industry!
The Vulkan API was released in 2016 as the high-performance successor to OpenGL, and is already used in a wide range of modern graphical applications, including video games such as Doom Eternal, Red Dead Redemption 2, and Rainbow Six: Siege.
If you’re looking for the most modern, high-quality graphics, then look no further than Vulkan!
The Vulkan API is very new when compared to most graphics APIs out there, and so there aren’t yet that many in-depth tutorials to help you learn it. I hope to fix that with this course!
In this course, you will learn how to set up and use a Vulkan application, as well as implement several key features exclusive to Vulkan itself, such as Descriptor Sets, Push Constants, and Subpasses. Each aspect is explained in great amounts of detail, to ensure you really understand what all the parts mean, and how they all connect together.
I want to help you learn. If you still don’t understand something after a lesson, then you just have to let me know! If something didn’t make sense, or you just want clarification on a subject, I’ll try my best to give you a more detailed insight into those intricacies, and ensure you have a proper understanding of Vulkan.
It is my goal, that when you finally finish the course, you will have enough knowledge of Vulkan to create your own Vulkan applications, and eventually gain enough experience to design the graphical applications you have only dreamed of!
Who this course is for
- People who know a bit about graphics and want to learn the latest cutting-edge graphics API.
- About This Course
- Vulkan Core
- [THEORY] Overview of Vulkan
- [CODE] Setup & Compatibility Test
- [THEORY] Instances, Devices, and Validation Layers
- [CODE] Window, Instances, and Devices
- [CODE] Validation Layers
- [THEORY] Surfaces, Image Views, and the Swapchain
- [CODE] Swapchain Part 1: The Surface
- [CODE] Swapchain Part 2: Creating the Swapchain and Image Views
- [THEORY] Graphics Pipeline
- [CODE] Graphics Pipeline Part 1: Shader Modules
- [CODE] Graphics Pipeline Part 2: Fixed Functionality and the Render Pass
- [THEORY] Framebuffers, Command Buffers, and Synchronization
- [CODE] Framebuffer and Command Buffers
- [CODE] Drawing and Synchronisation
- [THEORY] Resource Loading
- [CODE] Resource Loading Part 1: Vertex Input
- [CODE] Resource Loading Part 2: Index Buffers and Staging Buffers
- Important Techniques
- [THEORY] Descriptor Sets and Push Constants
- [CODE] Descriptor Sets: Uniform Buffers
- [CODE] Descriptor Sets: Dynamic Uniform Buffers
- [CODE] Push Constants
- [THEORY] Depth Buffer
- [CODE] Depth Buffer
- [THEORY] Textures
- [CODE] Textures Part 1: Image Setup & Pipeline Barriers
- [CODE] Textures Part 2: Samplers & Descriptors
- [CODE] Model Loading
- [THEORY] Subpasses
- [CODE] Subpasses
- Summary and Further Reading
- [BONUS] Bonus Content
Time remaining or 768 enrolls left
|Don’t miss any coupons by joining our Telegram group|