Detailansicht
Exploring WebGPU as a foundation for a game engine and teaching tool
Kalian Danzer
Art der Arbeit
Masterarbeit
Universität
Universität Wien
Fakultät
Fakultät für Informatik
Studiumsbezeichnung bzw. Universitätlehrgang (ULG)
Masterstudium Informatik
Betreuer*in
Helmut Hlavacs
DOI
10.25365/thesis.81821
URN
urn:nbn:at:at-ubw:1-15065.90689.336363-2
Link zu u:search
(Print-Exemplar eventuell in Bibliothek verfügbar)
Abstracts
Abstract
(Deutsch)
WebGPU ist eine moderne, low-level Grafik-API, die direkten Zugriff auf GPU-Ressourcen sowohl in Webbrowsern als auch in nativen Anwendungen ermöglicht. Sie stellt eine vielversprechende Grundlage für Web- und Desktop-Grafiksysteme dar und bietet explizite Kontrolle über GPU-Operationen ähnlich wie Vulkan, Metal und DirectX 12. Durch die direkte Bereitstellung von GPU-Pipelines, Speicherverwaltung und Shader-Management an Entwickler ermöglicht WebGPU hohe Leistung und Parallelismus, führt aber auch zu zusätzlicher Komplexität im Vergleich zu höheren APIs. Diese Arbeit untersucht drei Fragen: Was ist der aktuelle Stand von WebGPU als Grafik-API? Kann eine voll funktionsfähige Game-Engine darauf aufgebaut werden? Und kann eine solche Engine so gestaltet werden, dass sie WebGPU-Konzepte effektiv vermittelt? Um diese Fragen zu beantworten, wurde eine modulare WebGPU-basierte Game-Engine, die Vienna WebGPU Engine, entwickelt, die grundlegende Systeme wie physikalisch basiertes Rendering, hierarchische Szenenorganisation, Ressourcenverwaltung, Multi-Kamera-Unterstützung und Shadow-Mapping implementiert. Die Engine ist sowohl auf Funktionalität als auch auf Verständlichkeit ausgelegt, wodurch ihre Subsysteme und Datenflüsse für Lehrzwecke zugänglich werden. Mit dieser Engine wurde ein Mini-Kurs mit drei Tutorials erstellt, der WebGPU durch angeleitete, praxisnahe Übungen vermittelt und es den Teilnehmern ermöglicht, Rendering, Materialien, Beleuchtung und GPU-Ressourcenverwaltung durch Aufgaben mit steigender Komplexität zu erkunden. Der didaktische Ansatz wurde durch einen dreistufigen Prozess evaluiert: Ein Vorher-Fragebogen erfasste das Grundvertrauen und die Vorkenntnisse mittels einer 4-Punkte-Likert-Skala. Die Teilnehmer bearbeiteten die angeleiteten Tutorials selbstständig unter Beobachtung. Ein Nachher-Fragebogen misst Lernerfolge und wahrgenommene Effektivität mit derselben Skala, ergänzt durch Evaluation zur Hilfestellung und der Bereitschaft, die Materialien weiterzuempfehlen. Diese Arbeit wurde innerhalb der EDEN-Forschungsgruppe (Education, Didactics and Entertainment Computing) an der Universität Wien durchgeführt, wo etablierte Lehrveranstaltungen wie Gaming Technologies und Cloud Gaming derzeit die Vienna Vulkan Engine und Vienna Physics Engine als Frameworks zur Vermittlung von Grafikprogrammierung und Spieleentwicklung einsetzen. Die Vienna WebGPU Engine untersucht WebGPU als potenzielle zukünftige Alternative oder Erweiterung zu diesen bestehenden Lehrmitteln und prüft, ob WebGPUs Designmerkmale und plattformübergreifende Fähigkeiten pädagogische Vorteile bieten, die aktuelle Kursmaterialien ergänzen oder verbessern könnten. Diese Arbeit zeigt, dass WebGPU nicht nur eine voll funktionsfähige Game-Engine unterstützen kann, sondern auch eine praktikable Plattform für praxisnahe, didaktische Erfahrungen in moderner Grafikprogrammierung bietet, die in universitäre Curricula als strukturierte Übungen, Bonusprojekte oder als Grundlage für Bachelor- und Masterarbeiten integriert werden könnte.
Abstract
(Englisch)
WebGPU is a modern, low-level graphics API that provides direct access to GPU resources across web browsers and native applications. It represents a promising foundation for both web and desktop graphics systems, offering explicit control over GPU operations similar to Vulkan, Metal, and DirectX 12. By exposing GPU pipelines, memory, and shader management directly to developers, WebGPU enables high performance and parallelism, but also introduces additional complexity compared to higher-level APIs. This thesis investigates three questions: What is the current state of WebGPU as a graphics API? Can a fully functional game engine be built on top of it? Can such an engine be designed to teach WebGPU concepts effectively? To address these questions, a modular WebGPU-based game engine, the Vienna WebGPU Engine, was developed, implementing fundamental systems such as physically-based rendering, hierarchical scene organization, resource management, multi-camera support, and shadow mapping. The engine is designed with functionality and clarity in mind, making its subsystems and data flow accessible for educational purposes. Using this engine, a mini-course with three tutorials was created to teach WebGPU through guided, hands-on exercises, allowing participants to explore rendering, materials, lighting, and GPU resource management through tasks of increasing complexity. The educational approach was evaluated through a three-stage process: a pre-questionnaire assessed baseline confidence and prior experience using a 4-point Likert scale, participants completed the guided tutorials independently while being observed, and a post-questionnaire measured learning gains and perceived effectiveness using the same scale supplemented by evaluation items on helpfulness and willingness to recommend the materials. This work was conducted within the EDEN research group (Education, Didactics and Entertainment Computing) at the University of Vienna, where established courses such as Gaming Technologies and Cloud Gaming currently employ the Vienna Vulkan Engine and Vienna Physics Engine as teaching frameworks for teaching graphics programming and game development. The Vienna WebGPU Engine explores WebGPU as a potential future alternative or extension to these existing teaching tools, examining whether WebGPU’s design characteristics and cross-platform capabilities offer pedagogical advantages that could complement or enhance current course materials. This work shows that WebGPU can support a fully functional game engine and that such an engine provides a viable platform for hands-on, educational experiences in modern graphics programming that could be integrated into university curricula as structured exercises, bonus projects, or foundations for bachelor’s and master’s theses.
Schlagwörter
Schlagwörter
(Deutsch)
WebGPU Rendering Wgsl Game-Engine Shader Lösungsbeispiele Schatten GPU Spieleentwickling Informatikdidaktik E-Learning Grafik API Lernmaterial 3D Licht Modelle Beleuchtung Visualisierung
Schlagwörter
(Englisch)
WebGPU Rendering Wgsl Game Engine Shader Worked Examples Shadow Educational GPU Gamedevelopment Computer Science Education E-Learning Graphics API Learning Material 3D Lighting Visualization
Autor*innen
Kalian Danzer
Haupttitel (Englisch)
Exploring WebGPU as a foundation for a game engine and teaching tool
Paralleltitel (Deutsch)
Untersuchung von WebGPU als Grundlage für eine Game-Engine und Lehrwerkzeug
Publikationsjahr
2026
Umfangsangabe
viii, 81 Seiten : Illustrationen
Sprache
Englisch
Beurteiler*in
Helmut Hlavacs
AC Nummer
AC18005420
Utheses ID
81960
Studienkennzahl
UA | 066 | 921 | |
