Information
- Publication Type: Journal Paper (without talk)
- Workgroup(s)/Project(s):
- Date: April 2023
- DOI: 10.1016/j.cag.2023.02.001
- ISSN: 1873-7684
- Journal: Computers and Graphics
- Open Access: yes
- Pages: 11
- Volume: 111
- Publisher: Elsevier
- Pages: 155 – 165
- Keywords: GPU, Graphics API, Programming framework, Real-time rendering, Teaching, Vulkan
Abstract
For over two decades, the OpenGL API provided users with the means for implementing versatile, feature-rich, and portable real-time graphics applications. Consequently, it has been widely adopted by practitioners and educators alike and is deeply ingrained in many curricula that teach real-time graphics for higher education. Over the years, the architecture of graphics processing units (GPUs) incrementally diverged from OpenGL's conceptual design. The more recently introduced Vulkan API provides a more modern, fine-grained approach for interfacing with the GPU, which allows a high level of controllability and, thereby, deep insights into the inner workings of modern GPUs. This property makes the Vulkan API especially well suitable for teaching graphics programming in university education, where fundamental knowledge shall be conveyed. Hence, it stands to reason that educators who have their students’ best interests at heart should provide them with corresponding lecture material. However, Vulkan is notoriously verbose and rather challenging for first-time users, thus transitioning to this new API bears a considerable risk of failing to achieve expected teaching goals. In this paper, we document our experiences after teaching Vulkan in both introductory and advanced graphics courses side-by-side with conventional OpenGL. A collection of surveys enables us to draw conclusions about perceived workload, difficulty, and students’ acceptance of either approach. In doing so, we identify suitable conditions and recommendations for teaching Vulkan to both undergraduate and graduate students.
Additional Files and Images
Additional images and videos
Additional files
Weblinks
BibTeX
@article{unterguggenberger-2023-vaw,
title = "Vulkan all the way: Transitioning to a modern low-level
graphics API in academia",
author = "Johannes Unterguggenberger and Bernhard Kerbl and Michael
Wimmer",
year = "2023",
abstract = "For over two decades, the OpenGL API provided users with the
means for implementing versatile, feature-rich, and portable
real-time graphics applications. Consequently, it has been
widely adopted by practitioners and educators alike and is
deeply ingrained in many curricula that teach real-time
graphics for higher education. Over the years, the
architecture of graphics processing units (GPUs)
incrementally diverged from OpenGL's conceptual design. The
more recently introduced Vulkan API provides a more modern,
fine-grained approach for interfacing with the GPU, which
allows a high level of controllability and, thereby, deep
insights into the inner workings of modern GPUs. This
property makes the Vulkan API especially well suitable for
teaching graphics programming in university education, where
fundamental knowledge shall be conveyed. Hence, it stands to
reason that educators who have their students’ best
interests at heart should provide them with corresponding
lecture material. However, Vulkan is notoriously verbose and
rather challenging for first-time users, thus transitioning
to this new API bears a considerable risk of failing to
achieve expected teaching goals. In this paper, we document
our experiences after teaching Vulkan in both introductory
and advanced graphics courses side-by-side with conventional
OpenGL. A collection of surveys enables us to draw
conclusions about perceived workload, difficulty, and
students’ acceptance of either approach. In doing so, we
identify suitable conditions and recommendations for
teaching Vulkan to both undergraduate and graduate students.",
month = apr,
doi = "10.1016/j.cag.2023.02.001",
issn = "1873-7684",
journal = "Computers and Graphics",
pages = "11",
volume = "111",
publisher = "Elsevier",
pages = "155--165",
keywords = "GPU, Graphics API, Programming framework, Real-time
rendering, Teaching, Vulkan",
URL = "https://www.cg.tuwien.ac.at/research/publications/2023/unterguggenberger-2023-vaw/",
}