Unterguggenberger, J., Lipp, L., Ulschmid, A., Pogrzebacz, V., Wiesinger, A., & Kristmann, E. (2023, February 7). An Introduction to Vulkan [Conference Presentation]. Vulkanised 2023, München, Germany.
In this tutorial, we teach the fundamentals of Vulkan. Our tutorial is targeted for 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.
Content-wise, this tutorial delivers university-level knowledge, based on long-standing teaching experience at TU Wien. 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.
In the context of the tutorial, a 3D model viewer is implemented. A suitable programming framework is provided for Windows, Linux, and Mac OS. The tutorial is comprised of short lecture sessions and coding sessions with tutors from TU Wien assisting participants.