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/",
}