Hauptinhalt

Bildsynthese (SS 2021)

Competition Result
Grafik: Sebastian Lieb

Dozent: Prof. Dr. Thorsten Thormählen
Modulbezeichnung: CS 681

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 und die Vorlesung behandelt Technologien (insbesondere CUDA), 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 mittels CUDA 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, per Live-Stream
Übung: Do. 12:15 - 13:45 Uhr, per Live-Stream

Übungsleiter: Sebastian Lieb

Gliederung der Vorlesung

  1. Einführung
  2. CUDA
  3. Ray Tracing Grundlagen
  4. Lichttransport
  5. 3D-Modellierung
  6. Volumen-Rendering

Vorlesungsfolien

Die Vorlesungsfolien werden jeweils kurz vor der Veranstaltung auf dieser Webseite verlinkt. Die Folien sind derzeit nur für die Studenten 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. CUDA 2.1 Einführung in CUDA pdf_(intern)
2.2 Programmieren mit CUDA pdf_(intern)
2.3 Effiziente parallele Algorithmen pdf_(intern)
3. Ray Tracing Grundlagen 3.1 Vulkan Ray Tracing Pipeline extern, intern
3.2 Intersection Shader extern, intern
4. Lichttransport 4.1 Rendering-Gleichung extern, intern
4.2 Path Tracing extern, intern
4.3 PBR Materialien extern, intern
4.4 Bildbasierte Beleuchtung extern, 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 Einführung in CUDA pdf
2 CUDA Shared-Memory u. Atomics pdf
3 CUDA Rauschreduktion u. Parallele Reduktion pdf
4 Vulkan Ray Tracing Pipeline pdf
5 Schatten und Reflexionen
pdf
6 Path Tracing / Intersection Shader pdf
7 Rendering Wettbewerb pdf
8 Path Tracing / Theoriefragen pdf
9 CUDA Shared-Memory u. Atomics
10 Rendering Wettbewerb

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.