Shadow Volumes und Shadow Mapping mit OpenGL/GLSL

Inhaltsangabe:Einleitung: Um die Realität in der Computergrafik so gut wie möglich nach zustellen, sind realistisch anmutende Schatten unerlässlich. Je realistischer die Szenen werden, desto weniger Fehldarstellungen kann man sich erlauben. Schatten geben dem Betrachter in einer virtuellen Umgebung eine genauere Vorstellung von der Objekt Objekt Beziehung und unterstützen den räumlichen Eindruck. Im Rahmen dieser Bachelorarbeit werden die zwei bekanntesten Herangehensweisen Shadow Mapping und Shadow Volumes diskutiert und implementiert. Die Vor und Nachteile dieser werden intensiv erläutert. Des weiteren werden Möglichkeiten aufgezeigt, welche die genannten Techniken visuell verbessern und beschleunigen können. Von der Vielzahl an Erweiterungen von Shadow Mapping werden die Techniken Perspective Shadow Mapping, Light Space Perspective Shadow Mapping, Cascaded Shadow Mapping und Dual Paraboloid Shadow Mapping genauer erläutert. Zu den Shadow Volumes werden die beiden Verfahren Z Pass und Z Fail genau erklärt und implementiert. Des weiteren wird der Algorithmus anhand eines Minimalbeispiels erläutert und auf Probleme eingegangen.Inhaltsverzeichnis:Inhaltsverzeichnis: AbbildungsverzeichnisVII TabellenverzeichnisXI 1.Einleitung1 2.Motivation und Zielstellung3 2.1Aufbau der Arbeit4 3.Grundlagen5 3.1Terminologie5 3.1.1OpenGL5 3.1.2Mesh14 3.1.3Softshadows14 3.2Schatten gebende Verfahren15 3.2.1Zeitgeschichtliche Entwicklung17 4.Shadow Mapping23 4.1Die Theorie23 4.2Die Schatten-Transformation Pipeline25 4.3Probleme26 4.3.1Z-Fighting27 4.3.2Peter-Pan28 4.3.3Perspektivisches Aliasing29 4.3.4Dueling Frusta30 4.4Weiterentwicklungen31 4.4.1Light Space Perspective Shadow Maps31 4.4.2Dual Paraboloid Shadow Maps31 4.4.3Queried Virtual Shadow Maps33 4.4.4Cascaded Shadow Maps35 4.5Softshadows43 4.6Variable Near- und Far-Clip Plane44 4.7Zusammenfassung45 5.Shadow Volumes47 5.1Die Theorie47 5.2Z-Pass49 5.3Z-Fail51 5.4Konstruktion der Shadow Volumes52 5.5Rendern der Shadow Volumes60 5.6Probleme mit Animation62 5.7Vor- und Nachteile63 5.82-Pass-Rendering zu 1-Pass-Rendering63 5.9Optimierungen65 5.9.1Persistente Datenspeicherung66 5.9.2Dynamic Z-Fail66 5.9.3Silhouettentracking66 5.10Zusammenfassung66 6.Die Demoapplikation69 6.1Aufbau69 6.2Parametrisierung von Cascaded Shadow Mapping70 6.3Parametrisierung von Shadow Volumes71 6.4Vergleich71 6.5Performance Tests72 6.5.1Cascaded Shadow Mapping73 6.5.2Shadow [...]