Computergraphik - Grundlagen WS'22/23
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
- 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
Mittwochs, 9:45 - 11:15 Uhr in IZ 160 (MP 23.3)
Wöchentlich, beginned am 26.10.2022
Freitags, 9:45 - 11:15 Uhr in IZ 160 (MP 23.3)
Wöchentlich, beginnend am 28.10.2022
Mittwoch, 15.2.2023, 9:45-11:15 Uhr in SN 22.1 (Nachrichtentechnik Gebäude gegenüber, linker Flur ganz oben)
Weichnachtsferien
Freitag, 23.12.2022 - Freitag 06.01.2023
Vorlesungen
Die Vorlesungsfolien und Übungsblätter 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.
26.10.2022
Introduction
Ü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. Bitte erstellen Sie einen Account auf https://git.cg.cs.tu-bs.de/
Das Repository wird wöchentlich aktualisiert und befindet sich hier: https://git.cg.cs.tu-bs.de/CG1_WS2223/Base
Solltet ihr noch keinen Git-Account an unserem Institut haben, registriert euch sich bitte:
Benutzername: v.nachname (v: 1. Buchstabe Ihres Vornamens)
E-Mail: Ihre @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 auf unsererm institutsinternen Gogs-Git-Server.
Die Anmeldung für die Prüfung erfolgt über das Prüfungsamt.
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!
Einige der Übungen benötigen zusätzliche Daten, die sich nicht im Repository befinden. Diese könnt ihr [hier] herunterladen.
28.10.2022
Ausgabe Blatt 01
18.11.2022
Abgabe Blatt 02 | Ausgabe Blatt 03 | Präsentation Gruppe 10, 1, 13
25.11.2022
Abgabe Blatt 03 | Ausgabe Blatt 04 | Präsentation Gruppe 4, 8, 2,
02.12.2022
Abgabe Blatt 04 | Ausgabe Blatt 05 | Präsentation Gruppe 9, 15, 12,
09.12.2022
Abgabe Blatt 05 | Ausgabe Blatt 06 | Präsentation Gruppe 6, 3, 14,
16.12.2022
Abgabe Blatt 06 | Ausgabe Blatt 07 | Präsentation Gruppe 19, 21, 7
13.01.2023
Keine Übung
20.01.2023
Abgabe Blatt 07 (per git) | Ausgabe Blatt 08 | Präsentation Gruppe 20, 5
27.01.2023
Abgabe Blatt 08 (per git) | + Bonusblatt | Präsentation Gruppe 17, 22
03.02.2023
Fragestunde, Besprechung Bonusblatt
10.02.2023
Fragestunde
Die Teilnahme an der Ray-Tracing Competition ist Teil der Studienleistung
- Präsentation am 1.2.2023 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 29.01.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)
- 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,
Press, 2012Mit