Graphische Datenverarbeitung (Master)

NummerUmfangTermineDozent
0412314VDienstag, 9-10 Uhr
Donnerstag, 9-10 Uhr
Prof. Dr. Mario Botsch
041232Mittwoch, 10-12
Donnerstag, 14-16
Astrid Bunge
Martin Komaritzan

Hier gibt es die Ergebnisse der Lehrevaluation. Vielen Dank für das Feedback! 

Lerninhalte

Diese Vorlesung vermittelt die theoretischen und praktischen Grundlagen der Computergraphik. Thematischer Schwerpunkt ist die Visualisierung (oder das Rendering) einer dreidimensionalen Szene. Hierfür müssen zunächst mehrere Teilprobleme verstanden und gelöst werden, wobei wir uns an Konzepten und Methoden anderer Disziplinen (Physik, Biologie, Mathematik, Informatik) orientieren können: Wie breitet sich Licht in einer Szene aus? Wie interagiert Licht mit Objekten und unterschiedlichen Materialien? Wie funktioniert eine Kamera oder die menschliche visuelle Wahrnehmung? Wie repräsentieren wir dreidimensionale Modelle und Szenen?

Die Vorlesung gliedert sich in vier thematische Blöcke:

  • Die Globale Beleuchtung (Ray Tracing, Path Tracing) beantwortet die obigen Fragen und ermöglicht es uns, photorealistische Bilder zu berechnen (z.B. für computergenerierte Filme). Durch etwas Mathematik, effiziente Algorithmen und schlaue Datenstrukturen können wir die Rechenzeit von Stunden auf Minuten oder Sekunden reduzieren.
  • Interaktives Echtzeit-Rendering wird durch die Rasterisierungspipeline erreicht, welche den Lichttransport vereinfacht und alle Berechnungen hochgradig parallel auf der Graphikkarte durchführt. Wir werden einen interaktiven stereoskopischen OpenGL-Renderer entwickeln.
  • Nachdem wir den Rendering-Prozess verstanden haben, betrachten wir die Eingabe, d.h., die 3D-Szenenbeschreibung. Wir werden mehrere Geometrie-Repräsentationen kennenlernen, die jeweils eigene Stärken und Schwächen haben. Neben Dreiecksnetzen werden wir implizite Flächendarstellungen (für Constructive Solid Geometry) und Freiform-Kurven und -Flächen (für Computer-Aided Design) betrachten.
  • Am Ende werden wir kurz Charakter-Animation betrachten, wobei wir uns auf einfaches Linear Blend Skinning für Skelett-Animation sowie Linear Blend Shapes für Gesichtsanimationen beschränken, da fortgeschrittene Techniken in einer eigenen Vorlesung “Computer Animation” behandelt werden.

Zum besseren Verständnis werden die meisten der in der Vorlesung behandelten Techniken in den praktischen Übungen implementiert. Diese Übungen bestehen aus drei Mini-Projekten (Globale Beleuchtung, Echtzeit-Rendering mit OpenGL, Geometrische Modellierung mit Subdivision- und Bezier-Flächen), welche jeweils ca. 4 Wochen Bearbeitungszeit haben.

Corona-Maßnahmen

  • Aufgrund der Corona-Pandemie wird die Vorlesung nicht in Präsenz stattfinden.
  • Statt dessen wird es vorher aufgezeichnete Vorlesungsvideos geben, die zusammen mit den Vorlesungsfolien jeweils bis zum Donnerstag abend bereitgestellt werden.
  • Zu den eigentlichen Vorlesungsterminen (Dienstag und Donnerstag, 8-10 Uhr) wird es dann in der Folgewoche Online-Fragestunden geben, in der Fragen geklärt und Quizzes durchgespielt werden. Wahrscheinlich reicht hier ein zweistündiger Termin (Dienstag oder Donnerstag 8-10 Uhr) oder zwei einstündige Termine (Dienstag und Donnerstag, 9-10 Uhr). Die Fragestunden werden per Videokonferenz (wahrscheinlich BigBlueButton) durchgeführt werden.
  • Fragen zu Vorlesungsinhalten können entweder online in der Fragestunde gestellt oder vorher auf unseren interaktiven HTML-Folien direkt und anonym gepostet werden.
  • Auf die Vorlesungsvideos und -folien können Sie nur mit einem Passwort zugreifen. Bitte registrieren Sie sich im LSF für die Veranstaltung, damit wir Ihnen die Zugangsdaten über den LSF-Emailverteiler zuschicken können.

Voraussetzungen

  • Eine mathematische Grundausbildung (Lineare Algebra, Analysis) wird vorausgesetzt.
  • Allgemeine Programmierkenntnisse sowie Datenstrukturen und Algorithmen werden vorausgesetzt.
  • Das Bearbeiten der praktischen Übungsaufgaben erfolgt in C++. Es wird am Anfang einen C++-Crash-Kurs geben.

Vorlesungsmaterialien

Hier gibt es unsere Online-Materialien:

Nach Vorlesungsende gibt es die HTML-Folien auch in Form einer Electron-App, was Archivierung und Offline-Zugriff ermöglicht (ca. 700MB):

Folgende weitere Literatur wird (auszugsweise) verwendet:

  • Foley, van Dam, Feiner, Hughes: Computer Graphics: Principles and Practice, Addison-Wesley, 1996.
  • Glassner: An Introduction to Ray Tracing, Academic Press, 1989
  • Pharr, Humphreys: Physically Based Rendering, Morgan Kaufmann, 2004
  • Shreiner, Seller, Kessenich, Licea-Kane: OpenGL Programming Guide, 8th edition, Addison-Wesley, 2013.
  • Seller, Wright, Haemel: OpenGL SuperBible: Comprehensive Tutorial and Reference, 6th edition, Addison-Wesley, 2013
  • Rost, Licea-Kane, Ginsburg, Kessenich: OpenGL Shading Language, 3. Edition, Addison-Wesley, 2009
  • Farin: Curves and Surfaces for CAGD. A Practical Guide, Morgan Kaufmann, 2001

Tentative Vorlesungsplanung

WocheVorlesung 1Vorlesung 2Übung
44Introduction  
45Ray IntersectionsColors 
46LightingTriangle Meshes 
47Ray Tracing in C++Efficient Ray Tracing in C++Ray Tracing
48Rendering EquationPath Tracing
49TransformationsProjections
50Rasterization PipelineOpenGL
51Texture MappingShadowsSolar System
1Freeform Curves 1Freeform Curves 2
2Freeform SurfacesSubdivision Surfaces
3Implicit SurfacesVolume Rendering
4Fun with FourierImage CompressionBezier & Subdivision
5Spatial Data StructuresAdvanced OpenGL
6Character AnimationConclusion