Information

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. Various properties of this API and overall trends suggest that Vulkan could soon replace OpenGL in many areas. 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 an introductory graphics course side-by-side with conventional OpenGL. A final survey enables us to draw conclusions about perceived workload, difficulty, and students' acceptance of either approach and identify suitable conditions and recommendations for teaching Vulkan to undergraduate students.

Additional Files and Images

Additional images and videos

Additional files

paper: The Road to Vulkan: Teaching Modern Low-Level APIs in Introductory Graphics Courses paper: The Road to Vulkan: Teaching Modern Low-Level APIs in Introductory Graphics Courses
slides: The Road to Vulkan: Teaching Modern Low-Level APIs in Introductory Graphics Courses Slides slides: The Road to Vulkan: Teaching Modern Low-Level APIs in Introductory Graphics Courses Slides

Weblinks

BibTeX

@inproceedings{unterguggenberger-2022-vulkan,
  title =      "The Road to Vulkan: Teaching Modern Low-Level APIs in
               Introductory Graphics Courses",
  author =     "Johannes Unterguggenberger and Bernhard Kerbl and Michael
               Wimmer",
  year =       "2022",
  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. Various
               properties of this API and overall trends suggest that
               Vulkan could soon replace OpenGL in many areas. 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 an introductory graphics course
               side-by-side with conventional OpenGL. A final survey
               enables us to draw conclusions about perceived workload,
               difficulty, and students' acceptance of either approach and
               identify suitable conditions and recommendations for
               teaching Vulkan to undergraduate students.",
  month =      apr,
  isbn =       "978-3-03868-170-0",
  publisher =  "The Eurographics Association",
  location =   "Reims",
  issn =       "1017-4656",
  event =      "Eurographics 2022",
  doi =        "10.2312/eged.20221043",
  booktitle =  "Eurographics 2022 - Education Papers",
  pages =      "9",
  pages =      "31--39",
  keywords =   "vulkan, gpu, opengl",
  URL =        "https://www.cg.tuwien.ac.at/research/publications/2022/unterguggenberger-2022-vulkan/",
}