Hauptinhalt
Bildsynthese (SS 2024)

Dozent: Prof. Dr. Thorsten Thormählen
Modulbezeichnung: CS 681
Sprache der Vorlesung: Englisch
Computer-generierte Bilder werden heutzutage in einer Vielzahl von Anwendungsgebieten verwendet. Für einige Anwendungen (wie z.B. bei der Erzeugung von Bildern in der Filmindustrie, Werbung oder Medizin) werden typischerweise sehr hohe Anforderungen an die visuelle Qualität gestellt. Die Vorlesung "Bildsynthese" behandelt Verfahren, die es erlauben, photo-realistische Bilder von virtuellen Szenen zu erstellen. Dazu bedarf es einer detaillierten Modellierung und Beschreibung der Szene. Außerdem muss die Lichtausbreitung innerhalb der Szene mittels globaler Beleuchtungsmodelle simuliert werden, was äußerst rechenaufwändig ist. Allerdings lassen sich die Berechnungen leicht parallelisieren, so dass viele Recheneinheiten gemeinsam an der Erzeugung eines Bilds arbeiten können. Heutige Grafikkarten (GPUs) besitzen sehr viele parallele Recheneinheiten sowie spezielle Ray-Tracing-Beschleunigungshardware. Die Vorlesung behandelt Technologien, die es erlauben, diese Recheneinheiten effizient zu nutzen und komfortabel zu programmieren.
Qualifikationsziele
In der Vorlesung werden Methoden vorgestellt, die es den Teilnehmern ermöglichen, computer-generierte Bilder von hoher visueller Qualität zu erstellen. Dies umfasst z.B. Themen, wie die Modellierung einer dynamischen virtuellen Szene, Freiformkurven und –flächen, Verfahren zur globalen Beleuchtung oder Methoden zur Darstellung von Volumendaten. Ein weiteres Ziel der Vorlesung ist, den Teilnehmern ein Verständnis für die Architektur aktueller Grafikkarten zu vermitteln, so dass die Grafikkarte als ein enorm leistungsfähiger Stream-Prozessor mit vielen parallelen Recheneinheiten begriffen wird, der auch für aufwändige Berechnungen außerhalb der Computergrafik eingesetzt werden kann. Hierzu wird die parallele Programmierung der Grafikkarte an praktischen Beispielen geübt. Außerdem soll die allgemeine Fähigkeit zum wissenschaftlichen Arbeiten und zum Lösen von Problemen sowie die Kommunikationsfähigkeit der Teilnehmer verbessert werden.
Voraussetzungen
Die Vorlesung erfordert Grundkenntnisse über Datenstrukturen, Algorithmen und objekt-orientierte Programmierung. Des Weiteren werden grundlegende Techniken der Grafikprogrammierung vorausgesetzt, wie sie in der Vorlesung Grafikprogrammierung vermittelt werden.
Organisation
Die Veranstaltung besteht aus einer Vorlesung (4 SWS) und einer Übung (2 SWS).
Vorlesung: Di. 10:15 - 11:45 Uhr, Do. 10:15 - 11:45 Uhr, MZG Hörsaal III
Übung: Do. 12:15 - 13:45 Uhr, MZG Hörsaal III
Übungsleiter: Sebastian Lieb
Gliederung der Vorlesung
- Einführung
- Ray Tracing Grundlagen
- Lichttransport
- CUDA
- 3D-Modellierung
- Volumen-Rendering
Vorlesungsfolien
Die Vorlesungsfolien werden als HTML5-Webseiten zur Verfügung gestellt. Es wird empfohlen, einen aktuellen Browser zu verwenden (wie z.B. Google Chrome, Mozilla Firefox). In Google Chrome kann die Druckfunktion des Browsers verwendet werden, um eine PDF-Datei der Folien zu erzeugen.
Es gibt zwei Versionen der Folien: intern und extern. Die internen Folien sind umfangreicher und nur für die Studierenden der Philipps-Universität Marburg zugänglich. Der Login wird in der Vorlesung bekannt gegeben.
Teil | Kapitel | Link |
---|---|---|
1. Einführung | 1.1 Einführung und Organisation | pdf_(intern) |
2. Ray Tracing Grundlagen | 2.1 Vulkan Ray Tracing Pipeline | extern, intern |
2.2 Intersection Shader | extern, intern | |
3. Lichttransport | 3.1 Rendering-Gleichung | extern, intern |
3.2 Path Tracing | extern, intern | |
3.3 PBR Materialien | extern, intern | |
3.4 Bildbasierte Beleuchtung | extern, intern | |
4. CUDA | 4.1 Einführung in CUDA | pdf_(intern) |
4.2 Programmieren mit CUDA | pdf_(intern) | |
4.3 Effiziente parallele Algorithmen | pdf_(intern) | |
5. 3D-Modellierung | 5.1 3D-Modellierung | |
6. Volumen-Rendering | 6.1 Volumen-Rendering |
Übungszettel
Die Anmeldung zu den Übungsgruppen erfolgt über die Lernplattform ILIAS. Die Abgabe des Übungszettels muss bis dienstags 12:00 Uhr per E-Mail (PDF oder Text bzw. Quelltexte) an den jeweiligen Tutor erfolgen. Der Login wird in der Vorlesung bekannt gegeben.
Nummer | Thema | Link |
---|---|---|
1 | Vulkan Ray Tracing Pipeline | |
2 | Schatten und Reflexionen | |
3 | Path Tracing / Intersection Shader | |
4 | Rendering Wettbewerb | |
5 | Path Tracing / Theoriefragen |
|
6 | Path Tracing II | |
7 | Einführung in CUDA | |
8 | CUDA Shared-Memory u. Atomics | |
9 | CUDA Rauschreduktion u. Parallele Reduktion | |
10 | CUDA Shared-Memory u. Atomics |
Rendering Wettbewerb
Im Rahmen des Kurses nehmen die Teilnehmer an einem Rendering-Wettbewerb teil. Die Aufgabe besteht darin, mit dem eigenen Raytracer ein realistisches Bild zu erstellen. Die Gewinner erhalten eine Urkunde und einen großformatigen Druck ihres Bildes.