Kurzbeschreibung
Die Studierenden erlernen aktuelle Techniken zur Erzeugung interaktiver und photorealistischer Computergrafik, wie sie bspw. in Computerspielen, XR Anwendungen und Filmen verwendet wird. Dabei liegt der Schwerpunkt nicht auf der praktischen Anwendung sondern vor allem auf den darunterliegenden Algorithmen. Ziel ist es diese zu verstehen, zu erweitern und sinnvoll anwenden zu können.
Lehrform/SWS
4 SWS: Vorlesung 2 SWS; Praktikum / Projekt 2 SWS
Arbeitsaufwand
Gesamtaufwand 180 Stunden, davon
- 36h Vorlesung
- 36h Praktikum / Projekt
- 108h Selbststudium
Learning Outcome
(WAS) Die Teilnehmenden können verschiedene Methoden des Bildentstehungsprozesses umsetzen
(WOMIT) indem sie
- die physikalischen Wechselwirkungen von Licht und Material mathematisch beschreiben um verschiedene Beleuchtungsverfahren zu implementieren
- Verfahren der Bildsynthese zur Rasterisierung und zum Ray-Tracing bewerten, vergleichen und kombinieren
- Beschleunigungsverfahren für Renderingverfahren entwickeln und einsetzen
- Graphische Effekte welche sich Eigenschaften und Fähigkeiten moderner Grafikkarten zu Nutze machen umsetzen
- Methoden der Umsetzung von Algorithmen auf GPUs anwenden und kritisch reflektieren
(WOZU) um in der Lage zu sein sowohl graphische Anwendungen mit Hilfe von Methoden an der Grenze des heute vorhandenen Wissens und an der Spitze der aktuellen Technologie umzusetzen, zu erweitern, als auch um selbst wissenschaftliche Beiträge zur Weiterentwicklung des Gebietes der Bildsynthese zu leisten.
Inhalt
- Objekt- und Szenenmodellierung, Szenengraphen
- Radiometrische Grundlagen
- Licht-Materie-Wechselwirkung
- Material- und Reflexionsmodelle, BRDFs
- globale Beleuchtung und Lichttransportphänomene
- Ray Tracing, Path Tracing und Photon Mapping
- Rasterisierung
- Multi-Pass Rendering
- Screen-Space Ambient Occlusion
- Shadow Mapping
- Deferred Shading und Light Pre-Pass
Medienformen
- Beamergestützte Vorlesung
- Praktika / Projekt in Kleingruppen, um die erlernten Methoden und Techniken einzuüben und zu vertiefen (Rechnerlabor)
Studien-/Prüfungsleistungen
Gewichtung der Prüfungsleistung für die Gesamtnote ist jeweils in Klammern angegeben.
Entweder Projektarbeit:
- Projektpräsentation (30%)
- Projektdokumentation (70%)
Oder Fachvortrag:
- Fachpräsentation (50%)
- Schriftliche Ausarbeitung (50%)
Literatur
- Matt Pharr, Greg Humphreys: Physically Based Rendering, 3rd Edition, Morgan Kaufmann 2016.
- Peter Shirley: Realistic Ray Tracing, 3. Auflage, AK Peters 2003.
- Peter Shirley: Fundamentals of Computer Graphics, 4. Auflage, AK Peters 2016.
- Henrik Wann Jensen: Realistic Image Synthesis Using PhotonMapping, AK Peters 2001.
- Philp Dutre, Phillippe Bekaert, Kavita Bala: Advanced Global Illumination, B&T 2003
Geförderter Kompetenzerwerb
Das Modul zahlt auf folgende Handlungsfelder und Kompetenzbereiche ein. Eine ausführliche Beschreibung der konkreten Komptenzen finden Sie weiter unten.
Designing for User Experiences
Developing Interactive and Distributed Systems
Exploring Advanced Interactive Media
Enhancing Interactions on Different Scales
Designing for User Experiences
-
Konzepte
-
Haben ein ausgeprägtes konzeptionelles Denkvermögen entwickelt, um komplexe Probleme zu analysieren, innovative Lösungsansätze zu konzipieren und diese in verständliche und erfahrbare Konzepte zu überführen.
-
Können angemessene Informationsarchitekturen entwicklen, evaluieren, iterieren und optimieren.
-
Gestaltung
-
Haben ein gutes Verständnis für visuelles Design: Farbe, Typografie, Layout, visuelle Hierarchisierung, Designsysteme etc.
-
Können visuelle Darstellung und Präsentation komplexer Daten und Informationen für verschiedene Zielgruppen konzipieren und erstellen.
-
Verstehen narrative Strukturen und können diese in unterschiedlichen Medien und Kontexten zum Storytelling einsetzen.
Developing Interactive and Distributed Systems
-
Technologie
-
Kennen State-of-the-art Technologie zur Umsetzung von software-basierten Anwendungen (insb. in den Bereichen Web, Mobile, IoT, AR/VR, AI), können konkurrierende alternative Technologien auswählen und evaluieren, sich neue technologische Möglichkeiten erschließen, diese bewerten, nutzen, und integrieren sowie zukunftsorientiert neue Möglichkeiten screenen.
-
Wissen was ein Computer ist und wie Software darauf ausgeführt wird.
-
Entwurf
-
Verstehen formale Strukturen.
-
Können abstrahieren, logisch denken und komplexe Zusammenhänge verstehen.
-
Können Aspekte realweltlicher Probleme zu identifizieren, die für eine informatische Modellierung geeignet sind, algorithmische Lösungen für diese (Teil-)Probleme bewerten und selbst so zu entwickeln, dass diese Lösungen mit einem Computer operationalisiert werden können.
-
Konzepte (bspw. Paradigmen, Architekturen, Pattern) für die web-basierte Verteilung von Komponenten (bspw. Frontend/Clients/Apps, Backend/Server/Cloud) für verteilte interaktive Anwendungen kennen und umsetzen können.
-
Implementierung
-
Kennen Entwicklungsumgebungen, Tools und entwicklungsnahe Prozesse und diese praktisch nutzen (insb. IDE, Compiler, Linker, Libraries, Debugging, Unit-Testing, Repositories für eigenen Code / git, Build Tools, Paketmanager).
-
Können (komplexe) Softwaresysteme im Team entwickeln.
-
Kennen Grundkonzepte agiler Entwicklung und agilen Arbeitens wie iterative und inkrementelle Entwicklung, selbstorganisierte Teams, Transparente Kommunikation, etc. und können diese in Projekten anwenden.
-
Können digitale Produkte und verschiedene Software-Artefakte zur Evaluation und zur Nutzung auf typischen Distributionswegen (bspw. Clickdummy, Web-Deployment, App Store) für verschiedene Zielgruppen bereit stellen (lauffähig, sicher und gebrauchstauglich).
Driving Creation Process
-
Innovation
-
Management
-
Kommunikation
-
Können Ideen vermitteln, sich über Anforderungen verständigen, Feedback einholen und mit verschiedenen Interessengruppen zu interagieren und verhandeln.
-
Sind in der Lage Arbeits- und Forschungsergebnisse klar und verständlich in aussagekräftigen, zielgruppengerechten Berichten, Präsentationen o.Ä. zu kommunizieren.
Enhancing Interactions on Different Scales
-
Situated Interaction
-
Haben ein tiefes Verständnis für die Bedürfnisse, Verhaltensweisen und Erwartungen der Benutzer:innen.
-
Haben die Fähigkeit den Kontext von Interaktionen zu verstehen und darauf zu reagieren.
In der linken Spalte sehen Sie, welche Kompetenzen für das Modul vorausgesetzt werden (hellgrauer Balken). In der rechten Spalte sehen Sie, welche Kompetenzen Sie mit dem Modul erwerben können (farbiger Balken). Die Kompetenzen sind in Handlungsfelder und Bereiche gegliedert.
Wenn Sie auf den grauen oder farbigen Balken klicken, gelangen Sie zu einer Liste von Modulen, die auf diese Kompetenz einzahlen. Hier finden die eine Übersicht über alle Kompetenzen und die Module, die auf diese einzahlen.