Menu Share

My Course on Vulkan is out!

by | Published on
category C / C++

I created my third course. In this one I teach a lot about graphics programming using Vulkan. Vulkan is the most up to date and popular open-source specification for graphics programming. It is popular within the gaming industry as well as in the academic environments (where it might be used for computing and not just graphics). It is also the successor of OpenGL, one of the most wide-spread libraries out there.

Table of Contents

Promo

How to get the course?

You can watch the course now on Udemy. If you use the link above you will get a discount and you also support my work since I will get 97% for this which is a win-win situation.

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.

To participate and learn from this course you should already know C++ at a good level since the basics of programming won’t be covered. Otherwise this course is appropriate for junior developers that are familiar with the language.

Libraries

Throught the course you will learn how to use a few different libraries. Learning these will generally help you understand a few more concepts than just the UI programming bit. The few major libraries that I’ve inlcuded in the course are:

  • 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.
  • SPDLOG – A library about logging messages
  • CMake – for managing and compiling the project. We will use a modern setup that is easy to understand and use.

What will you learn?

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

Requirements

  • Good understanding of modern C++ (pointers, references, lambdas)
  • Basic understanding of OOP
  • Knowledge of the Standard C++ Library & Algorithms