Werbung
Eine möglichst realistische Berechnung der Beleuchtung ist aktuell eine der größten Herausforderungen. Ein komplettes Raytracing ist das angestrebte Endziel, bis dies in den aktuellen Auflösungen allerdings möglich sein wird, werden noch einige Jahre vergehen. Als Zwischenschritt zu diesem Ziel sieht NVIDIA das sogenannte VXGI (Voxel Global Illumination).
Mit VXGI präsentiert NVIDIA eine dynamische Berechnung eines Szenarios mit der Einbeziehung einer Reflexion einer direkten und indirekten Lichtquelle sowie von vorherigen Reflexionen und diffuser Beleuchtung.
Path Tracing ist dabei ein Subfeld von Raytracing und kann im obigen Beispiel für zwei Reflexionen und nur wenige Lichtpfade bereits recht komplex werden. Mit fast unendlicher Pfadlänge und Anzahl an Lichtpfaden ergibt sich darauf das Raytracing.
Auf dem Weg zu VXGI und Raytracing war zunächst einmal das Light Mapping der erste Schritt, bei dem die Oberfläche aber noch aus allen Richtungen die gleiche Reflexion zeigte. Das Ergebnis waren eher spiegelnde Oberflächen, die noch keine Struktur bzw. Reflexionseigenschaften mit einbezogen haben.
Dynamic Direct und Virtuell Point Lights brachte eine weitere Detailstufe der Beleuchtung hinzu, die auch für dynamisch Lichtquellen eine möglichst realistische Darstellung von Licht und Schatten erreichte.
Ambient Occlusion ermöglicht eine realistische Beleuchtung der Geometrie, verzichtet dabei aber auf ein Path Tracing, sondern verwendet einfachere Berechnungen, um die Darstellung der Beleuchtung zu simulieren. Anhand von Watch Dogs erklärte NVIDIA kürzlich die Funktionsweise von HBAO+ (Horizon Based Ambient Occlusion). Moderne Beleuchtungstechniken kombinieren einige der oben genannten Techniken.
Mit VXGI will NVIDIA einen Schritt weiter gehen. Um die Brücke zum Raytracing schlagen zu können, muss NVIDIA einige Vereinfachungen einführen. So wird indirektes Licht immer unscharf angenommen und mit in die Berechnung einbezogen wird auch nur die erste Reflexion, da diese die Hauptintensität darstellt. VXGI ist theoretisch aber auch in der Lage mehr als eine Reflexion mit einzubeziehen. Dann aber blähen sich die Berechnung weit auf und die Ausführung der Berechnung ist nicht mehr in Echtzeit möglich.
Für VXGI wird der zu beleuchtende 3D-Raum in 3D-Voxel aufgeteilt. Dies sind einfache 3D-Objekte, denen zwei Eigenschaften zugewiesen werden können: Durchlässigkeit für das Licht und in welche Richtung sowie in welcher Farbe das Licht aus dem Voxel emittiert. Um den Raum in die Voxel aufzuteilen, sind bestimmte Sampling-Verfahren notwendig, die dedizierte Hardware voraussetzen, die ebenfalls nur in der Maxwell-Architektur vorhanden sind. Sie sind auch Teil des DirectX-12-Subsets, welches bereits von Maxwell beherrscht wird. Dazu aber später mehr.
VXGI (Voxel Global Illumination)
Die Voxel repräsentieren in einer kompletten Renderszene die Lichtquellen. Abhängig vom Abstand der Oberfläche sind die Voxel unterschiedlich groß und werden in Trichtern unterschiedlicher Richtung, Länge und Dicke dargestellt. Durch die unterschiedliche Größe der Voxel in Abhängigkeit zur Oberfläche wird ein "Level of Detail" eingeführt.
VXGI (Voxel Global Illumination)
Richtung und Länge dieser Trichter beschreiben den Pfad, aus dessen Richtung das Licht auf die Oberfläche fällt. Die Dicke beschreibt die Diffusion - je dicker, desto diffuser das Licht. Pro Pixel werden aktuell typischerweise 3-4 Trichter verwendet. Deren Anzahl kann aber angepasst werden und beschreibt damit auch den Detailgrad der Beleuchtungsdarstellung.
Wie so oft bietet eine Präsentation in bewegten Bildern an und so haben wir auch dies in einem Youtube-Video anzubieten:
Datenschutzhinweis für Youtube
An dieser Stelle möchten wir Ihnen ein Youtube-Video zeigen. Ihre Daten zu schützen, liegt uns aber am Herzen: Youtube setzt durch das Einbinden und Abspielen Cookies auf ihrem Rechner, mit welchen Sie eventuell getracked werden können. Wenn Sie dies zulassen möchten, klicken Sie einfach auf den Play-Button. Das Video wird anschließend geladen und danach abgespielt.
Ihr Hardwareluxx-Team
Youtube Videos ab jetzt direkt anzeigen