Vertex-Tracing - Interaktives Ray-Tracing durch adaptiv progressives Refinement im Objektraum

Abstract This dissertation presents an approach for interactive, physically exact simulation of specular reflections and specular refractions in virtual environments. The introduced approach is called Vertex Tracing and allows a hybrid rendering to add global illumination effects in traditional hardware rendering systems. The core of the Vertex Tracing is an adaptive progressive ray tracing. In contrast to standard ray tracing we use image coherence to compute only pixels (samples) that are essential for the final image reconstruction. The step by step adaption towards the final image is performed by geometry refinement of chosen polyhedra. These are scene objects with visual characteristics as specular reflections or refractions and should be handled particularly for Vertex Tracing. The object vertices are the starting point of computation. First, primary rays are shot from the eye point to the object vertices and after that, like in classical ray tracing approaches, a recursive ray shooting is performed from each vertex. If needed new vertices are inserted and consequently a step by step refinement of the object geometry is done. The reconstruction of the final image is performed by bilinear interpolation via graphics hardware. Beside the possibility of a combined rendering with OpenGL-objects, the use of graphics hardware additionally allows an efficient handling of textures. In this context, we introduce a defered texture lookup to prevent a costly sampling of high frequent textures. In addition, this thesis considers aspects of a distributed and parallel computation to speed up Vertex Tracing. In detail we implemented a distributed Vertex Tracing for a heterogenous network as well as a parallel approach for shared memory machines. Despite the adaptive progressive characteristic of the Vertex Tracing both techniques show that a significant speed-up can be achieved.

Die vorliegende Dissertation beschreibt ein Verfahren zur interaktiv physikalisch exakten Simulation spekularer Reflexionen sowie spekularer Brechungen in virtuellen Umgebungen. Unter dem Begriff Vertex-Tracing wird in dieser Arbeit ein Ansatz vorgestellt, der es durch hybrides Rendering erlaubt, traditionelles Hardware-Rendering mit globalen Beleuchtungsphänomenen zu ergänzen. Kern des Verfahrens Vertex-Tracing bildet ein adaptiv progressives Ray-Tracing. Im Gegensatz zum Standard-Ray-Tracing besteht das Ziel darin, vorhandene Bildkohärenzen auszunutzen, indem nur diejenigen Pixel (Samples) berechnet werden, die für die Rekonstruktion des Finalbildes erforderlich sind. Die schrittweise Annäherung an das gewünschte Finalbild erfolgt durch Verfeinerung (Refinement) der Geometrie ausgewählter Polyeder. Diese sind Szenenobjekte, die aufgrund ihrer visuellen Charakteristik in Form spekularer Reflexionen oder Brechungen einem Vertex-Tracing unterzogen werden sollen. Ausgangspunkt der Berechnung dieser Objekte stellen ihre Objekt-Vertices dar. Sie bilden jeweils den Aufpunkt eines geschossenen Primärstrahles vom Betrachter und sind zugleich Startpunkt für eine weitere rekursive Strahlenverfolgung im Sinne des klassischen Ray-Tracing. Je nach Bedarf erfolgt das Einfügen neuer Vertices, dass eine schrittweise Verfeinerung der Objektgeometrie nach sich zieht. Die Rekonstruktion des Finalbildes erfolgt durch bilineare Interpolation mit Hilfe von Graphik-Hardware. Ihre Nutzung gestattet nicht nur ein kombiniertes Rendering mit herkömmlichen OpenGL-Objekten, sondern erlaubt darüber hinaus eine effiziente Behandlung von Texturen im Vertex-Tracing. In diesem Zusammenhang wird ein verzögerter Textur-Lookup vorgestellt. Er verhindert ein vollständiges Sampling von Texturen, das vor allem bei hochfrequenten Texturen einen erheblichen Mehraufwand bedeuten würde. Im Hinblick auf die Beschleunigung des Verfahrens werden ferner Aspekte einer verteilt, parallelen Berechnung untersucht beziehungsweise umgesetzt. Im Vordergrund steht dabei die Verteilung des Vertex-Tracings im Rechner-Cluster sowie eine Parallelisierung des Algorithmus auf Shared-Memory-Maschinen. Beide Ansätze zeigen, dass trotz des adaptiv progressiven Charakters des Verfahrens Vertex-Tracing ein signifikanter Speed-Up erzielbar ist.

Zitieren

Zitierform:
Zitierform konnte nicht geladen werden.