An Introduction to Vulkan

Johannes Unterguggenberger

TU Wien

SAT 8:00 – 19:30

In this Vulkan workshop, we teach the fundamentals of Vulkan. Our tutorial is targeted to programmers new to the concepts of Khronos’ low-level graphics API. Thus, participants are not expected to have any prior knowledge about the Vulkan API. Prior knowledge about graphics programming in general helps, but is not strictly required. At least basic proficiency with the C programming language is required. Based on our long-standing teaching experience at TU Wien and thanks to a coding framework tailored to the requirements of first-time Vulkan users, our workshop enables participants to learn both, the concepts and the practical usage, of the Vulkan API within one single day. Vulkan-specific topics covered include essential Vulkan handles (i.e., instance, physical device, logical device, surface, and swap chain), graphics-pipeline creation and usage, descriptor set creation and binding, command buffer recording, image layout transitions, and parts of synchronization.

You will implement a small 3D model viewer during this workshop. Please note that you will need to bring your own laptop for on-site coding. We provide a suitable programming framework for Windows, Linux, and Mac OS. The tutorial is comprised of short lecture sessions and hands-on coding sessions with tutors from TU Wien assisting participants.


What to prepare: If you participate in this workshop, you are encouraged to set up a project based on the Vulkan Launchpad framework on your own device that you will use for on-site coding beforehand. Please use the Vulkan Launchpad Starter template on GitHub and follow its setup instructions!

Johannes Unterguggenberger is a predoctoral researcher and university assistant at TU Wien, who currently spends an interim research period at Huawei. He uses Vulkan for his research projects in the field of real-time rendering, some of which have been published as peer-reviewed papers. He has been teaching various topics in the field of real-time rendering at TU Wien for more than six years and is known for the Vulkan Lecture Series on YouTube.

MartinAn Introduction to Vulkan