Hauptinhalt

Bildsynthese (SS 2024)

Competition Result
Grafik: Sebastian Lieb

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

  1. Einführung
  2. Ray Tracing Grundlagen
  3. Lichttransport
  4. CUDA
  5. 3D-Modellierung
  6. 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 pdf
2 Schatten und Reflexionen pdf
3 Path Tracing / Intersection Shader pdf
4 Rendering Wettbewerb pdf
5 Path Tracing / Theoriefragen 
pdf
6 Path Tracing II pdf
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.