Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Vulkan API with C++: Build a PBR Renderer from Scratch
Bestseller
Rating: 4.9 out of 5(8 ratings)
69 students

Vulkan API with C++: Build a PBR Renderer from Scratch

Master modern graphics programming with Vulkan, C++, and Slang shaders -- from zero to a physically based renderer
Created byXueyang Xu
Last updated 6/2026
English

What you'll learn

  • Build a complete Vulkan renderer from scratch using modern C++ and Slang shaders, from window creation to a rotating textured 3D cube
  • Understand Vulkan's explicit GPU model: memory management, synchronization with Fences and Semaphores, descriptor sets, render passes, and the full frame loop
  • Implement a real-time rendering pipeline with VBO, index buffer, UBO, texture sampling, depth buffer, and swapchain resize handling
  • Use Slang -- NVIDIA's next-generation shader language adopted by Unreal Engine 5 -- to write modern, cross-platform shaders with explicit binding annotations

Course content

16 sections50 lectures14h 9m total length
  • About this course6:32

    Master Vulkan fundamentals from an empty C++ project to a full pipeline using CMake, Visual Studio 2022, glfw, and Slung, building a rotating textured cube and advancing toward real-time pbr.

  • Download&Installation12:46

    Install Visual Studio with necessary C++ tools, install the Vulkan SDK and GLM, verify environments, then build GLFW from source via CMake to prepare third-party libraries for the Vulkan program.

Requirements

  • C++ programming experience -- you should be comfortable with classes, pointers, and the standard library
  • Basic understanding of 3D math -- vectors, matrices, and coordinate systems (GLM will be used but not taught from scratch)

Description

This course teaches you to build a real-time Vulkan renderer from scratch using modern C++ and Slang -- NVIDIA's next-generation shader language.


Part 1 covers the complete Vulkan pipeline: window creation, instance, device, swapchain, render pass, graphics pipeline, synchronization, vertex buffers, uniform buffers, textures, index buffers, depth buffering, and swapchain resize. By the end of Part 1 you will have a rotating textured 3D cube rendered entirely with explicit Vulkan code.


Part 2 extends the renderer with physically based rendering: normal maps, PBR materials with metallic/roughness workflow, image-based lighting with HDRI environment maps, MSAA, and a complete scene management system.


Unlike other Vulkan courses, this course uses Slang -- NVIDIA's modern shader language designed for the era of neural rendering. Slang is already integrated into Unreal Engine 5 and Falcor, NVIDIA's research rendering framework. As neural rendering techniques like NeRF and Gaussian Splatting move into production pipelines, Slang's differentiable shading and cross-platform compilation make it the natural foundation for the next generation of renderers. Learning Slang now puts you ahead of a shift that is already happening in research and beginning to reach industry.


What you will build:

- A reusable Vulkan framework with clean C++ architecture

- A complete PBR renderer with IBL and environment mapping

- A working understanding of how modern GPU rendering works

  at the API level


Who this course is for:

C++ developers who want to understand Vulkan from first principles, graphics programmers moving from OpenGL, and engineers who want to build their own rendering engine.

Who this course is for:

  • Computer science students or graduates interested in real-time rendering and GPU programming
  • Game engine developers and technical artists who want to understand what happens below the abstraction layer