Filtern
Dokumenttyp
- Bachelorarbeit (2)
- Diplomarbeit (2)
Sprache
- Deutsch (4) (entfernen)
Schlagworte
- VOXEL (4) (entfernen)
Für die realistische Betrachtung einer virtuellen Szene spielt neben der direkten Beleuchtung auch die Ausbreitung des indirekten Lichtes eine wichtige Rolle. Die Berechnung der indirekten Beleuchtung benötigt grundsätzlich Informationen über die gesamte Szene, nicht nur über den für die Kamera sichtbaren Ausschnitt, der in bildraumbasierten Techniken zum Einsatz kommt. Mittels Voxelisierung kann die Szene in eine dreidimensionale, diskrete und GPU-freundliche Repräsentation überführt werden. In dieser Arbeit werden Voxelrepräsentationen hinsichtlich ihrer Eignung für den globalen Lichtaustausch in dynamischen und großen Szenen untersucht. Nach einer Einführung und einem Literaturüberblick über existierende Voxelisierungs- und Beleuchtungsverfahren, die Voxel als Grundlage nutzen, wird ein Voxelisierungsverfahren entwickelt, das sich für Szenen mit dynamischen Objekten eignet. Auf der Grundlage des Strahlenschnitt-Tests mit binärer Voxelhierarchie werden dann zwei Beleuchtungsalgorithmen umgesetzt, implementiert und evaluiert: Monte-Carlo-Integration der Hemisphäre eines Szenenpunktes und Beleuchtung der Szenenpunkte mit virtuellen Punktlichtquellen.
Die vorliegende Arbeit befasst sich mit der Anwendung und Optimierung globaler Beleuchtung in dreidimensionalen Szenen. Dabei wird nicht nur die direkte Beleuchtung in Abhängigkeit einer oder mehrerer Lichtquellen, sondern auch indirekte Beleuchtung durch umliegende Objekte berücksichtigt. Schwerpunkt dieser Arbeit ist es, die Ergebnisse eines globalen Beleuchtungsverfahrens durch die Implementation unter OpenGL 4.4 zu verbessern. Dies geschieht mithilfe einer Voxelisierung der Szene. Durch eine Traversierung der entstehenden Voxel-Struktur werden zusätzliche Informationen der Szene entnommen, was zu einer realistisch wirkenden globalen Beleuchtung beiträgt.
Diese Arbeit vermittelt einen grundlegenden Überblick über die Funktionsweise und Implementierung von aktuellen Voxelisierungsstrategien auf der GPU. Neben etablierten Voxelisierungsverfahren mithilfe der Rasterisierungspipeline werden neue Möglichkeiten mithilfe von GPGPU-Programmierung untersucht. Auf der Basis der Programmiersprache C++ und der Grafikbibliothek OpenGL wird die Implementierung mehrerer Verfahren erläutert.rnDie Verfahren werden hinsichtlich der Performanz und der Qualität der Voxelisierung verglichen und im Bezug auf mögliche Anwendungsfälle kritisch bewertet. Weiterhin werden zwei Beispielanwendungen beschrieben, in denen die Verwendung einer voxelisierten Szene eine Erweiterung von bestehenden Echtzeitgrafikverfahren ermöglicht. Zu diesem Zweck werden die Konzepte und die Implementierungen von Transmittance Shadow Mapping und von Reflective Shadow Mapping, das um voxelbasierte Umgebungsverdeckung erweitert wird, erläutert. Abschließend wird die anhaltende Relevanz von Voxelisierung in einem Ausblick auf aktuelle Forschungen und weitere Anwendungen und Erweiterungen der vorgestellten Verfahren aufgezeigt.
Im Rahmen dieser Diplomarbeit wurde ein Raytracer auf Voxel-Octrees für SSE-fähige CPUs implementiert. Als Grundlage diente das Augenblick-SDK der Firma Numenus. Es konnte gezeigt werden dass das Raytracing von Volumendaten exzellent skaliert und sich vor allem für sehr große, statische Datenmengen eignet.