Skip to content Skip to sidebar Skip to footer

Widget HTML #1

Graphics Programming with Vulkan and C++

Graphics Programming with Vulkan and C++

A tutorial that teaches you everything it takes to render 3D graphics with the Vulkan API. It covers everything from Windows/Linux setup to rendering


What you'll learn

  • Create graphics applications
  • Apply common rendering math
  • Use Vulkan for graphics programming
  • Apply good coding standards
  • Creating and managing windows
  • Writing shader code using GLSL
  • Setting up a project using CMake
  • Setup a graphics pipeline
  • Basic graphics theory


  • Good Understanding of modern C++ (pointers, references, lambdas)
  • Basic Understanding of OOP
  • Knowledge of the Standard C++ Library & Algorithms
Vulkan is the newest and most popular graphics API out there. It is the successor of the already deprecated OpenGL and it is the future for any kind of cross-platform graphical applications. It is extremely performant which makes it perfect for game and game engine development.

With this course I aim to teach you the very basics of computer graphics with Vulkan in some short and simple lessons. I believe everyone can learn and it is especially important to have easy to understand chunks that can be consumed in short bursts.

This course will cover: setting up your C++ project, creating a window, initializing vulkan, rendering a simple triangle, compiling shaders, debugging issues, rendering vertices, basic transformations for 3D.

I will not go as far as to teach complex topics like post-processing or shadows since the course aims to be short and accessible. The course will get regular updates though that will cover any major changes in the specification.

The course is tought on Microsoft Windows but most of the knowledge gained can be used on any platform.

Technologies Used

  • Vulkan SDK - the main topic of the course is the vulkan graphics library specification. This is what "talks" to the GPU of your PC and renders any graphical information that you send to it.
  • GLFW - Abstracts handling windows so that we don't have to call native platform functions. This way the course would be mostly accessible to people on any platform.
  • GLM - A mathematical library that will help with transformation of 3D information.
  • CMake - for managing and compiling the project. We will use a modern setup that is easy to understand and use.

Who this course is for:

  • Junior C++ programmers
  • Game engine programmers
  • 3D graphics programmers switching to Vulkan

Courses to get you started