Vorlesung Beleuchtung und Rendering
In der Vorlesung setzen wir in diesem Semester den Fokus auf lokale Beleuchtungsmodelle und Renderung von Echtzeitszenarien. Wir beschäftigen uns dabei nicht nur mit klassischen Beleuchtungsmodellen sondern schauen uns aktuelle Trends und Verfahren an und setzen diese im Shadercode um. Als Programmiersprache verwenden wir Java und für die OpenGL-Anbindung kommt LWJGL zum Einsatz. Da wir parallel zur Vorlesung im Rahmen der Praktika an zwei größeren Projekten arbeiten werden (dabei durchlaufen wir die verschiedenen Phasen der agilen Softwareentwicklung), werden dafür ja nach Bedarf relevante Vorlesungsteile angeboten.
Empfehlungen zu vorhergehenden Veranstaltungen
Es wird empfohlen, die folgenden Verstaltungen vor dieser zu besuchen: Programmierung I (I-120) und II (I-121),
Computergrafik/Visualisierung I (I-340) und II (I-341) sowie Algebra und höhere Mathematik (I-380).
Die Empfehlungen sind allerdings keine Zulassungsvoraussetzung.
Übersicht zu den Vorlesungsinhalten
Hier eine Übersicht zu den geplanten Vorlesungsteilen. Die Vorlesungsteile können sich auch über mehrere
Vorlesungen erstrecken.
Vorlesungsteil 1
Grundlagen des Beleuchtungsdesigns: Motivation, Kontext, Eigenschaften, direkt/indirekt, Cheating, Schatten, Ziele, Three-Point-Lighting
Vorlesungsteil 2
Beleuchtungsmodelle Phong und OpenGL: global versus lokale, Notation, Vektoren als Positionen, Richtungen und Farben, Materialeigen-schaften, Grad der Streuung, ideal, spekular, diffus, Absorbtion, Transmission, Transparenz, Transluzenz, Lichtquellenmodelle, Positionslicht, Abschwächungsfunktion, Nebel, Strahler, Texture-Mapping, Ambientes Licht, Diffuse Reflexion, Energieverteilung, Spiegelnde Reflexion, Phong und OpenGL
Vorlesungsteil 3
Schattierungsmodelle:
Flat shading, Gouraud shading, Machband-Effekt, Verarbeitung visueller Wahrnehmung, Neuronenmodelle,
Phong shading
Vorlesungsteil 4
Beleuchtungselemente in Texturen verstecken:
Idee der Normalenverbiegung, Bump mapping, Normal mapping, Normalen herleiten, Tangentialraum, Basisvektoren orthogonal und orthonormal,
Welt- versus Texturkoordinaten, Gram-Schmidt-Orthogonali-sierung, Normalmaps automatisiert erstellen
Vorlesungsteil 5
Texture-Mapping: Einleitung und Grundlagen, allgemeine Verfahren, prozedurale Texturen, Sampling, Wrapping Modes, Blending, Bump-, Displace-, Normalmapping, Light-, Multimaps
Vorlesungsteil 6
Die Suche nach dem heiligen Gral:
Makro-, Meso- und Mikrostrukturen, Interaktionen von Licht, Allgemeine Relfexions-funktion, Licht in der Physik, Welle-Teilchen-Dualismus,
Strahlenoptik, Licht als Energieform, Radiometrie, Lichtenergie, Strahlungsfluss und -dichte, Polarkoordinaten, Bogen- und Raumwinkel,
Transformationen, BRDF, Strahlungsintensität, Irradiance, Radiosity, Render-gleichung, Isotropische und Anisotropische BRDF, Helmholtz-Reziprozität,
Energieerhaltung, BRDF in Echtzeitanwendungen, Kontinuierlich versus Diskret, Gonio-Reflektometer
Vorlesungsteil 7
Displacement Mapping:
Nachteile des Normal Mapping, Displacement Mapping, Tangentialraum, Höhenkarte speichern, Mesustruktur und Beleuchtung, per-vertes und per-pixel Varianten,
Verdeckungen, Herausforderungen, iterative und nicht-iterative Methoden, sichere und unsichere Verfahren, Bump Mapping, Bewegungsparallaxe, Parallax Mapping, Parallax Mapping mit
Offsetbe-grenzung, Parallax Mapping mit Normalenneigung, Parallax Occlusion Mapping, Relief Mapping, Chronologie der Beleuchtungs- und Mappingverfahren
Vorlesungsteil 8
Einführung in Echtzeit-Schatten: Relevanz von Schatten, Leonardo Da Vinci, Lambert, Terminlogie, Halb- und Kernschatten, Hard- und Soft-Shadows, Shadow-Maps, Shadow-Volumes, Single-Sample-Soft-Shadows, Hard-Shadows mit Smoothies, Ambient-Occlusion, Screen-Space-Ambient-Occlusion
Vorlesungsteil 9
GPU-basierte Echtzeit-Anwendungen: Game- und Physikengines, Simulationen, Robotik, Super-Computer, Watson, Quantencomputer, Autonome Systeme, Echtzeit-Computer-Vision, OpenCV, Merkmalsextraktion, Kinect, Gestenraum, SIFT, GPU-based SIFT, Model-Fitting, Least-Squares, RANSAC, Image Stitching
Vorlesungsteil 10
Augmented Reality: SolidWorks, allgemeines Verfahren, Homographie, RANSAC-Strategie, Pose-Estimation, Synthetisches Kameramodell, Korrektur der Linsenverzeichnung, Kamera-Kalibrierung, OpenCV, Marker, Kalman-Filter, Bildstabilisierung
Vorlesungsteil 11
Video- bzw. bildbasierte 3D-Rekonstruktion: Image-based data recording, Structure-from-Motion, Keyframe-Extraction, Fish-Eye-Correction, Two-View Geometry, Epipolargeometrie, Fundamental-Matrix, Essentialmatrix, 8-Point Algorithm und normalized 8-Point-Algorithm, Robust Fundamentalmatrix Estimation, Multicore Bundle Adjustment, VisualSFM, Bundler, MicMac, OpenMVG, Photosynth, CMVS, PMVS, Surface-Fitting, Georeferenzierung
Klausur
Termin steht noch nicht fest
Die Veranstaltungsfolien und kompletten Programmierbeispiele der Vorlesung sind bei OPAL, dem Online-Bildungs-Portal Sachsen zu finden.
Scheinkriterien
Im Rahmen der Veranstaltung wird eine Belegarbeit (BGA) angefertigt, die mit 30% in die Note einfließt. Die 90-minütige Klausur (SP) am Ende des Semesters trägt die restlichen 70% bei. Sowohl Belegarbeit als auch Klausur müssen mindestens mit einer 4.0 bestanden werden.