Computer Graphics
TU Braunschweig

Computergraphik - Grundlagen WS'23/24
Vorlesung mit Übung

Prof. Dr.-Ing. Marcus Magnor

Hörerkreis: Bachelor & Master
Kontakt: cgg@cg.cs.tu-bs.de

Modul: INF-CG-30, INF-CG-24
Vst.Nr.: 4216008, 4216014

Gewinner der Raytracing Competition 2020
Kirstin Rohwer                                                                              Oliver Müller, Johannes Schmechel

Freigegeben unter den Bedingungen der CC-BY-SA-3.0

Die Wiederholungsklausur findet am Mittwoch, den 24.07.2024 von 09:45 - 11:15 voraussichtlich in IZ 161 statt.

Die Klausur fand am Mittwoch, den 14.02.2024 von 09:45 - 11:15 in SN 23.1 statt.
Sie benötigen dokumentenechtes Schreibwerkzeug. Eigenes Papier sowie Taschenrechner sind nicht erlaubt bzw. werden nicht gebraucht.

Bitte überprüfen Sie diese Webseite am Morgen vor der Klausur. Falls es unerwartete Änderungen gibt, werden diese hier bekanntgegeben.

Aktuelle Informationen

  • Das Modul kann im Master nur belegt werden, wenn dieses oder ein äquivalentes Modul noch nicht im Bachelor-Studiengang belegt wurde.
  • Bitte ein eigenes Notebook zur Bearbeitung der Übungen mitbringen. Falls kein eigenes Notebook verfügbar sein sollte, schreibt uns bitte eine Mail.

 

Beschreibung

In der Vorlesung werden die theoretischen und praktischen Grundlagen der Computergraphik vermittelt. Neben einem allgemeinen Überblick über das Gebiet der graphischen Datenverarbeitung liegt der Schwerpunkt der Vorlesung auf Bildsyntheseverfahren (Rendering). Am Beispiel des Ray Tracing-Ansatzes werden eine Reihe fundamentaler Themen der Bilderzeugung sowohl theoretisch als auch praktisch erklärt. Als Teil der vorlesungsbegleitenden Übungen entwickeln die Vorlesungsteilnehmer ihr eigenes Ray Tracing-Programm und lernen auf diese Weise typische Rendering-Probleme und -Lösungen am praktischen Beispiel kennen. Am Ende des Semesters wird jeder Student seinen eigenen funktionstüchtigen Ray Tracer entwickelt (und verstanden) haben.

Inhalt

  • Grundlagen der digitalen Bildverarbeitung
  • Physikalische Gesetze des Lichttransports
  • Die menschliche visuelle Wahrnehmung
  • Der Ray Tracing-Ansatz
  • Geometrie und Transformation
  • Objekt- und Szenenmodellierung
  • Beschleunigungsstrukturen
  • Material- und Reflektionsmodelle
  • Textur
  • Grundlagen der Bild-Signalverarbeitung
  • Sampling
  • Anti-Aliasing

Anmeldung

Bitte nutzt unser neues Online-Teilnahmeformular. Dieses findet ihr direkt auf unserer Webseite, unter Teaching > Course Enrollment.

Der Git-Account-Name bezieht sich auf euren Git-Account auf unsererm institutsinternen Gogs-Git-Server (siehe Übungen unten).

Die Anmeldung für die Prüfung erfolgt über das Prüfungsamt.

Ort und Zeit

Vorlesung

Mittwochs, 9:45 - 11:15 Uhr in IZ 160 (MP 23.3)

Wöchentlich, beginned am 25.10.2023

Übung

Freitags, 9:45 - 11:15 Uhr in IZ 160 (MP 23.3)

Wöchentlich, beginnend am 27.10.2023

Prüfung

Mittwoch, 14.02.2024, 9:45-11:15 Uhr in SN 23.1

Weichnachtsferien

Samstag, 23.12.2023 - Freitag 05.01.2024

Vorlesungen

Die Vorlesungsunterlagen sind durch ein Passwort geschützt. Das Passwort wird in der ersten Vorlesung bekannt gegeben.

Die Unterlagen aus der Veranstaltung des vergangenen Wintersemesters sind hier zu finden.

25.10.2023

Introduction + Ray Tracing Overview [PDF] [Video]

01.11.2023

Ray Tracing Fundamentals [PDF] [Video]

08.11.2023

Radiometry [PDF] [Video]

15.11.2023

Shading I [PDF] [Video]

22.11.2023

Shading II [PDF] [Video]

29.11.2023

Acceleration [PDF] [Video]

06.12.2023

Texturing [PDF] [Video]

13.12.2023

Geometry [PDF] [Video]

20.12.2023

Perception [PDF] [Video]

10.01.2024

Sampling [PDF] [Video]

17.01.2024

Anti-Aliasing [PDF]

24.01.2024

Distributed Ray Tracing + Global Illumination: Path Tracing [PDF] [PDF]

31.01.2024

Ray Tracing Competition

07.02.2024

Fragestunde Klausur (Gastvortrag im Übungsslot am 09.02.2024)

Übungen

Bitte ein eigenes Notebook zur Bearbeitung der Übungen mitbringen. Falls kein eigenes Notebook verfügbar sein sollte, schreibt uns bitte eine Mail.

Die Übungen werden über unseren institutsinternen Git-Server verteilt.

Solltet ihr noch keinen Git-Account an unserem Institut haben, registriert euch bitte auf https://git.cg.cs.tu-bs.de/

Benutzername: v.nachname (v: 1. Buchstabe Vorname)
E-Mail: Eure @tu-bs.de Adresse

Bitte nutzt unser neues Online-Teilnahmeformular. Dieses findet ihr direkt auf unserer Webseite, unter Teaching > Course Enrollment.

Der Git-Account-Name bezieht sich auf euren Git-Account an unserem Institut (siehe oben).

Die Anmeldung für die Prüfung erfolgt über das Prüfungsamt.

Das Repository wird wöchentlich aktualisiert und befindet sich hier: https://git.cg.cs.tu-bs.de/CG1_WS2324/Base

Für alle, die versuchen, das Projekt unter Windows zu kompilieren: Die Bildbibliothek hängt von GraphicsMagick (http://www.graphicsmagick.org/) ab und davon, dass gm.exe im Pfad zu finden ist!

Einige der Übungen benötigen zusätzliche Daten, die sich nicht im Repository befinden. Diese könnt ihr [hier] herunterladen.


Um den zeitlichen Rahmen der Übungstermine einzuhalten, ist die Hausaufgabenabgabe wie folgt organisiert:

  • Jedes Übungsblatt wird von mehreren zufällig ausgewählten Gruppen in der Übung am Abgabetag präsentiert.
  • Jede Gruppe muss zwei Übungsblätter präsentieren. Bei Nichterscheinen gibt es keine Punkte.
  • Für die restlichen Gruppen, die nicht präsentieren müssen, wird der letzte Commit vor 9:45 Uhr am Abgabetage zur Bepunktung herangezogen.

27.10.2023

Ausgabe Blatt 1

03.11.2023

Troubleshooting

10.11.2023

Abgabe Blatt 1 | Ausgabe Blatt 2 | Präsentation Gruppe 6, 2, 12, 9

17.11.2023

Abgabe Blatt 2 | Ausgabe Blatt 3 | Präsentation Gruppe 7, 13, 10

24.11.2023

Abgabe Blatt 3 | Ausgabe Blatt 4 | Präsentation Gruppe 5, 1, 3, 4

01.12.2023

Abgabe Blatt 4 | Ausgabe Blatt 5 | Präsentation Gruppe 8, 11, 13

08.12.2023

Abgabe Blatt 5 | Ausgabe Blatt 6 | Präsentation Gruppe 3, 1, 6

15.12.2023

Abgabe Blatt 6 | Ausgabe Blatt 7 | Präsentation Gruppe 11, 12, 9

22.12.2023

Keine Übung

12.01.2024

Abgabe Blatt 7 (Lösung)  | Ausgabe Blatt 8 | Präsentation Gruppe 8, 5, 2

19.01.2024

Abgabe Blatt 8 (Lösung) | Ausgabe Bonusblatt | Präsentation Gruppe 4, 7, 10

26.01.2024

Besprechung Bonusblatt | Präsentation freiwillig

02.02.2024

Fragestunde Klausur

09.02.2024

Gastvortrag "Game Dev" + Fragestunde Klausur

Die Teilnahme an der Ray-Tracing Competition ist Teil der Studienleistung

  • Präsentation am 31.01.2024 im Vorlesungsraum (IZ 160) zur Vorlesungszeit (9:45 Uhr)  
    (Zeigt Bilder, erklärt, was ihr implementiert habt und an welchem Teil der Szene man eure Erweiterung erkennen kann)
  • 5-6 Minuten pro Gruppe
  • Folien und Source Code sollten bis 28.01.2024, 23:59 Uhr eingereicht sein
  • Gruppengröße: Einteilung wie bisher
  • Zielsetzung: Erweiterung im "Wert" von "Gruppengröße * 100" Punkten
  • Notwendig: Erreichen von "Gruppengröße * 50" Punkte
  • Mögliche Erweiterungen:
    • Baut eine komplexe, schöne Szene (bis zu 60 Punkte)
    • Neue komplexere Shader: (Punkte je nach Komplexität)
      • parallax mapping (50 Punkte)
      • nicht-photorealistisches Rendering (cel-, sketch-shading, ..., je 40 Punkte)
      • subsurface effects (80 Punkte)
      • glow effects (40 Punkte)
      • emissive shading (20 Punkte)
    • Tiefenunschärfe, Flächen- / Volumenlichtquellen, … (je 100 Punkte)
    • MIP-Mapping, Prozedurale Texturen, Bewegungsunschärfe… (je 60 Punkte)
    • Tesselation von Geometrie, prozedurale Geometrie… (je 80 Punkte)
    • Spline Oberflächen, … (100 Punkte)
    • Globale Beleuchtung / Path Tracing (200 Punkte)
    • Portierung des Raytracers auf die GPU (CUDA/OptiX/OpenCL) (200 Punkte)
    • Blurry Reflections und Refractions (100 Punkte)
    • Und vieles mehr: Kaustiken, Multi-Spektrales Rendering, Polarisation, ...
  • Freie 3D-Modelle. Beachtet: Polygonal Tris only.
  • Praktisches Nachschlagewerk Physically Based Rendering: From Theory To Implementation

Zusatzmaterial

Hier findet ihr Zusatzmaterial, das hilfreich sein könnte.

  • C++-Kompakt - Ein einfache Einführung in C++ (slides

 

Anforderungen

Programmierkenntnisse empfohlen.

Literatur

  • Andrew Glassner, An Introduction to Ray-Tracing, Academic Press, 1989
  • James Foley, Andries van Dam, et al., Computer Graphics : Principles and Practice, 3. Ausgabe, Addison-Wesley, 2013
  • Andrew Glassner, Principles of Digital Image Synthesis, 2 Bände, Morgan Kaufman, 1996
  • Alan Watt, 3D Computer Graphics, Addison-Wesley, 1999
  • Peter Shirley, Realistic Ray-Tracing, 2.Ausgabe, AK Peters, 2003
  • Frank Nielsen, Visual Computing, Charles River Media, 2005
  • Matt Pharr und Greg Humphreys, Physically Based Rendering, 3. Ausgabe, Morgan Kaufmann, 2016
  • Steven J. Gortler, Foundations of 3D Computer Graphics, Mit Press, 2012