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 der bereits gehaltenen Vorlesungsteile:
Vorlesungsteil 1
Mut zum Rapid Prototyping: Finanzmarkt Spieleindustrie, Rollen und Entwicklungen im Gamedesign, Immersion
Vorlesungsteil 2
Ideenfindung durch Kreativtechniken: Brainstorming, Mind Maps, 6-3-5 Methode, Collective Notebook, Kopfstandtechnik, Provokationstechnik, Reizwortanalyse, Osborn Checkliste, Analogien, Bisoziationen, Semantische Intuition
Vorlesungsteil 3
Wissenschaftlichen Arbeiten und Schreiben: Lyx, Recherche, Anforderungen an Quellen, Referenzieren
Vorlesungsteil 4
Grundlagen des Beleuchtungsdesigns: Motivation, Kontext, Eigenschaften, direkt/indirekt, Cheating, Ziele
Vorlesungsteil 5
Beleuchtungselemente in der Praxis: Shape from Shading, Strahlungsdichte, Lichttypen: Richtungs-, Positionslicht, Strahler und Flächenlicht, Three-Point-Lighting, Ambientes Licht, Abschwächung
Vorlesungsteil 6
Einführung in die Shaderprogrammierung I: Konvolution, Blur-Effekt, Render-Pipeline OpenGL, Vertex- und Fragment-Shader, LWJGL, Licht über Tiefe, Ambientlight, Uniforms, Variyngs, Torus, Multitexturing, Einfache und komplexe Wasserdynamik
Vorlesungsteil 7
Einführung in die Shaderprogrammierung II: Refraktion und Schatten, Gradienten und Normale zur Oberfläche, Reflexion und Kaustik, Experimentelle GUI, komplette Wassersimulation, Vertexshader verbiegt Mesh
Vorlesungsteil 8
Zustandsautomaten und UML: Zustands- und Aktivitätsdiagramme, FSM, Javagotchi, Zustandsphasen, Strategy-Pattern, FSM in Unity, Fußballsimulationen durch FSM, Xaitment, Schach und FSM, Fuzzylogik, Fuzzy FSM, Künstliche Verdummung
Vorlesungsteil 9
Einführung in die Wegeplanung: Agentenbasiert, Graphentheorie, Breiten-, Tiefen- und Bestensuche, A*-Algorithmus, Heuristiken, Quantisierung, Reguläre Grids, String-pulling, Catmull-Rom Spline, Eckpunkt-, kreis- und volumenbasierte Wegepunkt-Graphen, Lazy probabilistic roadmap, Rapidly-exploring Random Trees
Vorlesungsteil 10
Kollektive Intelligenz: Schwarmintelligenz, autonome Agenten und Steuerungsverhalten, Aufbau und Architektur einer Agenten-Simulation, Flocking boids, Ant colony optimization, Framework AntMe
Vorlesungsteil 11
Mathematische Einführung in lokale Beleuchtungs-modelle: 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
Vorlesungsteil 12
Mathematische Einführung in lokale Beleuchtungs-modelle II: Strahler, Texture-Mapping, Ambientes Licht, Diffuse Reflexion, Energieverteilung, Spiegelnde Reflexion, Optimierungen: Halfway-Vektor, Fallunterscheidung und Exponentenalternative, Beleuchtungsmodelle von Phong und OpenGL
Vorlesungsteil 13
Schattierungsmodelle:
Flat shading, Gouraud shading, Machband-Effekt, Verarbeitung visueller Wahrnehmung, Neuronenmodelle,
Phong shading
Vorlesungsteil 14
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 15
Die Suche nach dem heiligen Gral:
Makro-, Meso- und Mikrostruk-turen, 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 16
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 17
Einführung in Echtzeit-Schatten
Besprechung der Evaluationsergebnisse, Wiederholung klausurrelevanter Themen der Vorlesungsteile 1-6
Vorlesungsteil 18
Wiederholung
Wiederholung klausurrelevanter Themen der Vorlesungsteile 7-16
Klausur
12.02.2013, 8:00-9:30, Z211 Klausurhinweise
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.