TU Darmstadt / ULB / TUprints

Foundations and Methods for GPU based Image Synthesis

Widmer, Sven (2018)
Foundations and Methods for GPU based Image Synthesis.
Technische Universität Darmstadt
Ph.D. Thesis, Primary publication

[img]
Preview
Text
Dissertation-SvenWidmer-Final-2018-06-26.pdf - Accepted Version
Copyright Information: CC BY-SA 4.0 International - Creative Commons, Attribution ShareAlike.

Download (51MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Foundations and Methods for GPU based Image Synthesis
Language: English
Referees: Goesele, Prof. Dr. Michael ; Dachsbacher, Prof. Dr. Carsten
Date: 2018
Place of Publication: Darmstadt
Date of oral examination: 14 July 2017
Abstract:

Effects such as global illumination, caustics, defocus and motion blur are an integral part of generating images that are perceived as realistic pictures and cannot be distinguished from photographs. In general, two different approaches exist to render images: ray tracing and rasterization. Ray tracing is a widely used technique for production quality rendering of images. The image quality and physical correctness are more important than the time needed for rendering. Generating these effects is a very compute and memory intensive process and can take minutes to hours for a single camera shot. Rasterization on the other hand is used to render images if real-time constraints have to be met (e.g. computer games). Often specialized algorithms are used to approximate these complex effects to achieve plausible results while sacrificing image quality for performance.

This thesis is split into two parts. In the first part we look at algorithms and load-balancing schemes for general purpose computing on graphics processing units (GPUs). Most of the ray tracing related algorithms (e.g. KD-tree construction or bidirectional path tracing) have unpredictable memory requirements. Dynamic memory allocation on GPUs suffers from global synchronization required to keep the state of current allocations. We present a method to reduce this overhead on massively parallel hardware architectures. In particular, we merge small parallel allocation requests from different threads that can occur while exploiting SIMD style parallelism. We speed-up the dynamic allocation using a set of constraints that can be applied to a large class of parallel algorithms. To achieve the image quality needed for feature films GPU-cluster are often used to cope with the amount of computation needed. We present a framework that employs a dynamic load balancing approach and applies fair scheduling to minimize the average execution time of spawned computational tasks. The load balancing capabilities are shown by handling irregular workloads: a bidirectional path tracer allowing renderings of complex effects at near interactive frame rates.

In the second part of the thesis we try to reduce the image quality gap between production and real-time rendering. Therefore, an adaptive acceleration structure for screen-space ray tracing is presented that represents the scene geometry by planar approximations. The benefit is a fast method to skip empty space and compute exact intersection points based on the planar approximation. This technique allows simulating complex phenomena including depth-of-field rendering and ray traced reflections at real-time frame rates. To handle motion blur in combination with transparent objects we present a unified rendering approach that decouples space and time sampling. Thereby, we can achieve interactive frame rates by reusing fragments during the sampling step. The scene geometry that is potentially visible at any point in time for the duration of a frame is rendered in a rasterization step and stored in temporally varying fragments. We perform spatial sampling to determine all temporally varying fragments that intersect with a specific viewing ray at any point in time. Viewing rays can be sampled according to the lens uv-sampling to incorporate depth-of-field. In a final temporal sampling step, we evaluate the pre-determined viewing ray/fragment intersections for one or multiple points in time. This allows incorporating standard shading effects including and resulting in a physically plausible motion and defocus blur for transparent and opaque objects.

Alternative Abstract:
Alternative AbstractLanguage

Computergenerierte Objekte und Szenen in Filmen, Werbung und Computerspielen zeichnen sich durch einen hohen Realisumus aus. Diese können kaum noch durch den Betrachter von klassisch fotografierten Objekten unterschieden werden. Dabei sind Effekte wie globale Beleuchtung, Kaustiken sowie Bewegungs- und Tiefenunschärfe integrale Bestandteile für eine realistische Darstellung. Es existieren zwei unterschiedliche Verfahren zur Erzeugung solcher Bilder. Die Verfolgung von Strahlen (Ray tracing im folgendem genannt) wird im Bereich der fotorealistischen Bildsynthese für Filme eingesetzt. Dabei ist die Bildqualität und physikalische Korrektheit entscheidend. Die Berechnung eines einzelnen Bildes kann mehrere Minuten oder auch Stunden dauern, spielt aber im Gegensatz zur Korrektheit nur eine untergeordnete Rolle. Rasterisierung auf der anderen Seite findet hauptsächlich Verwendung im Bereich der Computerspiele und anderer interaktiver Medien. Oft kommen dabei vereinfachte Modelle und Verfahren zum Einsatz, die schnell ein glaubwürdiges Bild erzeugen und wichtige Effekte aufgrund der limitierten Rechenzeit nur approximieren.

Die Dissertation beleuchetet neue Algorithmen für interaktive Anwendungen mit dem Ziel, die visuelle Qualität und Korrektheit von Ray tracing basierten Verfahren zu erreichen. Dazu ist die Dissertation in zwei Teile gegliedert. Im erste Teil werden Algorithmen und Lastverteilungsverfahren für Grafikkarten untersucht. Für Algorithmen wie Bidirectionales Path Tracing oder die Konstruktion von KD-Bäumen als Beschleunigungsstruktur kann der Speicherverbrauch nicht zum Startzeitpunkt angegeben werden und ist abhängig von Eingabedaten. Dynamische Speicherverwaltung kann das Problem minimieren. Bei der Verwendung massiv paralleler Hardware ist darauf zu achten, dass der Zustand der Speicherverwaltung immer konsistent ist. Dies erfolgt mittels Synchronisationobjekten, deren Verwendung aber Performanceeinbußen hervorrufen. Wir präsentieren ein Verfahren, welches den Synchronisationsaufwand auf massiv paralleler Hardware signifikant reduziert. Im Speziellen werden einzelne Allokationsaufrufe unterschiedlicher nebenläufiger Threads zusammengefasst. Durch weitere restriktive Anforderungen an die Anwendung, etwa das Freigeben von Speicher am Ende des Programms, kann die Laufzeit verbessert werden. Im Bereich der Filmproduktion ist der Rechenaufwand zur Bildgenerierung besonders hoch. Daher werden häufig CPU Rechnerverbünde eingesetzt, um den zeitlichen Aufwand zu reduzieren. Im Zuge dieser Arbeit präsentieren wir ein System zur dynamischen Lastverteilung in Grafikkarten basierten Rechnerverbünden. Das Verfahren minimiert speziell die Antwortzeit interaktiver Anwendungen.

Im zweiten Abschnitt der Dissertation kombinieren wir Ray tracing basierte Verfahren mit Rasterisierung um die Bildqualität für interaktive Anwendungen zu verbessern. Wir stellen dazu eine adaptive Beschleunigungsstruktur für Ray tracing Verfahren im Bildraum vor. Die Struktur approximiert dabei die sichtbare Szenengeometrie anhand von Flächen. Der Vorteil ist ein schneller Ausschluss von Leerraum innerhalb der Geometrie, die nicht durch einen Strahl getroffen werden. Desweiteren kann der Ansatz einen exakten Schnittpunkt, basierend auf der Approximation der Fläche, berechnen. Das Verfahren erlaubt es uns komplexe Phänomene, wie Tiefenunschärfe und korrekte Reflektionen auf rauen Oberflächen, in Echtzeit zu simulieren. Um Bewegungsunschärfe in Kombination mit transparenten und opaquen Objekten zu simulieren haben wir einen auf Ray tracing basierenden Algorithmus entwickelt. Dieser trennt das Samplen der Raum- von der Zeitkomponente. Es ermöglicht uns durch die Wiederverwendung von sichtbaren Fragmenten interaktive Bildwiederholraten zu erreichen. Die zu jedem Zeitpunkt eines Bildes potenziell sichtbare Szenengeometrie wird rasterisiert. Im Anschluss erfolgt das räumliche Sampling um alle Fragmente zu ermitteln, die einen Sichtstrahl schneiden. Sichtstrahlen werden dabei anhand der Linse der Kamera erzeugt, um Tiefenunschärfe zu simulieren können. Abschließend wird die zeitliche Komponente evaluiert, der Farbwert berechnet und alle Fragmente eines Pixels akkumuliert.

German
URN: urn:nbn:de:tuda-tuprints-75164
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Graphics, Capture and Massively Parallel Computing
Date Deposited: 13 Sep 2018 12:31
Last Modified: 13 Sep 2018 12:31
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/7516
PPN: 436600099
Export:
Actions (login required)
View Item View Item