Promotionsvorhaben

Interaktives Ray Tracing

Name
Markus Geimer
Status
Abgeschlossen
Abschluss der Promotion
Erstbetreuer*in
Prof. Dr. Stefan Müller
Gutachter*in 2
Prof. Dr.-Ing. Philipp Slusallek
Der Ray Tracing Algorithmus stellt eines der elementaren Verfahren auf dem Gebiet der digitalen Bildsynthese dar. Darüber hinaus bildet er die Grundlage zahlreicher Ansätze zur Simulation globaler Beleuchtung. Aufgrund des benötigten Rechenaufwandes galt es jedoch lange Zeit als undenkbar, das Ray Tracing Verfahren im Rahmen interaktiver Anwendungen einsetzen zu können. Vor kurzem konnte hingegen gezeigt werden, dass es durch die Ausnutzung der Ressourcen aktueller CPU-Architekturen durchaus möglich ist, bereits auf einem einzelnen Arbeitsplatzrechner interaktive Bildwiederholraten zu erzielen. Durch die starke Bindung an die verwendete Plattform sind diese Systeme allerdings nur schwer portierbar. Aus dieser Problematik heraus entstand die Motivation, ein Ray Tracing System zu konzipieren, das auf verschiedenen Plattformen dazu in der Lage ist, auch komplexe Szenen mit interaktiven Bildwiederholraten darstellen zu können. Im Rahmen dieser Arbeit werden daher zunächst die SIMD-Befehlssätze verschiedener CPU-Familien untersucht und auf ihre Tauglichkeit zur Umsetzung des Ray Tracing Algorithmus überprüft. Anschließend wird die Implementierung einer einheitlichen Programmierschnittstelle diskutiert und ihre Umsetzung in der Sprache C++ vorgestellt. Auf der Grundlage dieser Bibliothek wird im weiteren Verlauf die Implementierung eines Ray Tracing Systems für Dreiecksnetze präsentiert, welches dazu in der Lage ist, auf verschiedenen Rechnerplattformen interaktive Bildwiederholraten zu erzielen. Im Mittelpunkt steht hierbei die Frage, ob sich auch Bounding Volume Hierarchien zur Verfolgung von Strahlpaketen unter Verwendung von SIMD-Instruktionen eignen. In diesem Zusammenhang werden verschiedene Algorithmen, sowohl zur Traversierung der Hierarchie, als auch zur Bestimmung des Schnittes zwischen einem Strahlpaket und einer Bounding Box, untersucht und verglichen. Dies gilt ebenso für die Verfahren zur Berechnung der Schnittpunkte eines Strahlpaketes mit einem Dreieck. Da es insbesondere im Bereich der computerunterstützten Konstruktion üblich ist, komplexe Modelle durch parametrische Flächenbeschreibungen zu repräsentieren, die derzeit vor der Darstellung in hochauflösende Dreiecksnetze umgewandelt werden, wird darüber hinaus die direkte Visualisierung dieser Geometrieobjekte betrachtet. Am Beispiel getrimmter, bikubischer Bézierflächen wird gezeigt, dass auch die Darstellung von Freiform-Flächen anstelle von Dreiecken auf einem einzelnen Arbeitsplatzrechner mit interaktiven Bildwiederholraten möglich ist. Abschließend wird untersucht, welche Änderungen an dem vorgestellten Ray Tracing System vorzunehmen sind, um die Bilderzeugung auf eine physikalische Grundlage zu stellen. Hierzu wird die gesamte Prozesskette – von den Eingabedaten, über das Rendering, bis hin zur Darstellung – unter dem Gesichtspunkt der photometrischen Konsistenz betrachtet. Am Beispiel des Photon Mapping Verfahrens wird schließlich demonstriert, dass auch Algorithmen zur Simulation globaler Beleuchtungseffekte von der Verwendung eines hochoptimierten Ray Tracing Systems profitieren können.