Hauptinhalt

Bildsynthese (SS 2024)

Competition Result
Grafik: Sebastian Lieb

Dozent: Prof. Dr. Thorsten Thormählen
Modulbezeichnung: CS 681
Sprache der Vorlesung: Englisch

Im Sommersemester 2025 wird dieses Modul aufgrund eines geplanten Forschungssemesters nicht angeboten.

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. Zur Auffrischung der Grundlagen können die ersten 6 Episoden der Videos zur Shader-Programmierung ansehen werden (siehe unten).

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 extern, 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

Übungen

Die Anmeldung zu den Übungsgruppen sowie die Abgabe des Übungszettels erfolgt über die Lernplattform ILIAS

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.

Videos zur Shader-Programmierung

Im Wintersemester 2021 wurde mit der Aufnahme von Videos zur Shader-Programmierung begonnen. Die ersten Videos dieser Reihe können zur Wiederholung des Stoffes der Vorlesung Grafikprogrammierung verwendet werden. Einige spätere Videos dieser Reihe haben ebenfalls einen starken Bezug zum Stoff dieser Vorlesung.