Raytracing mit WebGPU

Montag, 1. Juli 2024

In meiner Bachelor-Abschlussarbeit „Raytracing mit WebGPU“ habe ich einen webbasierten Raytracer entwickelt, der die moderne WebGPU-API nutzt. Der Raytracer ist in TypeScript geschrieben und verwendet fortschrittliche Techniken wie Monte Carlo Path Tracing und Metropolis Light Transport. Um die Leistung zu optimieren, habe ich eine Bounding Volume Hierarchy (BVH) mit Surface Area Heuristic (SAH) implementiert.

Das Projekt bietet eine benutzerfreundliche Oberfläche zur Konfiguration und Anpassung der Rendering-Einstellungen, unterstützt den Import von OBJ-Dateien und ermöglicht eine intuitive Steuerung der First-Person-Kamera. Ein wesentlicher Aspekt meines Projekts war es, die Leistungsfähigkeit und Effizienz von WebGPU für anspruchsvolle Grafikanwendungen zu demonstrieren und gleichzeitig die theoretischen Grundlagen und praktischen Aspekte der Implementierung zu untersuchen.

Durch die detaillierte Analyse und Optimierung von Speicherverwaltung und Shader-Programmierung konnte ich ein tiefes Verständnis für die Anwendung von WebGPU im Bereich des Raytracings erlangen. Abschließend habe ich die Ergebnisse meiner Implementierung in verschiedenen Browser-Umgebungen und auf unterschiedlichen Grafikkarten evaluiert, um die Vielseitigkeit und Leistungsfähigkeit meines Raytracers zu bestätigen.

Studenten:

 

 

• Roman Koller