Computergraphik - Grundlagen WS'19/20
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
Aktuelle Informationen:
- Die Nachschreibeklausur findet am Montag, 20.07.2020 um 13.15 Uhr in Raum G30 statt [Hygienehinweise]
- Die Ergebnisse der Klausur hängen jetzt am schwarzen Brett. Die Einsicht ist am 25.02.2020 13.00-15.00 Uhr im Raum G23
- Die Startzeit für die Klausur wird auf 10:30 Uhr gelegt.
- Das Modul kann im Master nur belegt werden, wenn dieses oder ein äquivalentes Modul noch nicht im Bachelor-Studiengang belegt wurde.
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
Ort und Zeit:
- Vorlesungsbeginn: Mittwoch, 23.10.2019, 9:45-11:15 Uhr in IZ 160 (MP 23.3)
- Übungsbeginn: Freitag, 25.10.2019, 9:45-11:15 Uhr in IZ G40 (MP 23.2)
- Vorlesungszeit: Montag, 21.10.2019 - Samstag 08.02.2020, Weihnachtsferien: Sonntag, 22.12.2019 - Sonntag 05.01.2020
Vorlesungsfolien:
Die Vorlesungsfolien und Übungsblätter sind durch ein Passwort geschützt. Das Passwort wird in der ersten Vorlesung bekannt gegeben.
Übungen:
Die Übungen werden über unseren institutsinternen Git-Server verteilt. Bitte erstellen Sie einen Account auf https://git.cg.cs.tu-bs.de/ und schreiben Sie eine EMail mit Ihrem Account an cgg@cg.cs.tu-bs.de, damit wir Sie in die Gruppe eintragen können.
Das Repository wird wöchentlich aktualisiert und befindet sich hier: https://git.cg.cs.tu-bs.de/CG1/WS1920
Einige der Übungen benötigen zusätzliche Daten, die sich nicht im Repository befinden. Diese können Sie hier herunterladen.
Für alle, die versuchen, das Projekt unter Windows zu kompilieren: Die Bildbibliothek hängt von GraphicsMagick (http://www.graphicsmagick.org/) und davon, dass gm.exe im Pfad zu finden ist!
25.10.2019
Ausgabe Blatt 01 / Einführung / Setup
01.11.2019
Q/A-Stunde
08.11.2019
Ausfall
15.11.2019
Besprechung Blatt 01 / Ausgabe Blatt 02
22.11.2019
Besprechung Blatt 02 / Ausgabe Blatt 03
29.11.2019
Besprechung Blatt 03 / Ausgabe Blatt 04
06.12.2019
Besprechung Blatt 04 / Ausgabe Blatt 05
13.12.2019
Besprechung Blatt 05 / Ausgabe Blatt 06
20.12.2019
Besprechung Blatt 06
10.01.2020
Ausgabe Blatt 07
17.01.2020
Besprechung Blatt 07 / Ausgabe Blatt 08
24.01.2020
Besprechung Blatt 08 / Ausgabe Blatt 09
31.01.2020
Besprechung Blatt 09
07.02.2020
Fragestunde
Ray-Tracing Competition
Gewinner der Raytracing Competition 2019
Fabian Blömker, Nikkel Heesen und Melvin Scharke Adrian Hoff, Malte Wessels, Hendrik Zajonc
Freigegeben unter den Bedingungen der CC-BY-SA-3.0
Die Teilnahme an der Ray-Tracing Competition ist Teil der Studienleistung
- Präsentation am 05.02.2020 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 müssen bis 03.02.2020, 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)
- 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)
- Und vieles mehr: Kaustiken, Multi-Spektrales Rendering, Polarisation, ...
- Freie 3D-Modelle. Beachtet: Polygonal Tris only.
Zusatzmaterial
Hier findet ihr Zusatzmaterial, welches hilfreich sein könnte.
- C++-Kompakt - Ein einfache Einführung in C++ (slides)
Anforderungen:
Programmierkenntnisse empfohlen.
Klausur:
- 12.02.2020: 10:30-12:00 Uhr in IZ 160 (MP 23.3)
- 12.02.2020: 9:45-11:15 Uhr (bzw. 10:30-12:00 Uhr für Personen, die vorher bereits eine Klausur schreiben) in IZ 160 (MP 23.3)
- Zugelassene Hilfsmittel:
- Wörterbuch
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,
Press, 2012Mit