Die Motivation hinter der Umgebungsokklusion (AO) im Allgemeinen besteht darin, die Art und Weise zu approximieren, in der Spalten und Ecken häufig beschattet werden, da weniger indirektes Licht in sie einfällt. Ein Beispiel aus einem Foto meines Büros: Beachten Sie die Verdunkelung an den Rändern, an denen sich Wände und Decke treffen. Der Raum wird nur durch das Licht beleuchtet, das durch das Fenster hereinkommt und herumspringt.
Um dieses Phänomen genau zu simulieren, verwenden Offline-Renderer Techniken wie Pfadverfolgung und Photonenabbildung. Für Echtzeitzwecke berechnen wir es entweder offline vor oder approximieren es irgendwie.
Die Umgebungsokklusion des Bildschirmraums (SSAO) basiert auf der Beobachtung, dass Sie Ecken und Spalten erkennen können, indem Sie den Tiefenpuffer (und möglicherweise auch die Normalenvektoren) eines gerenderten Bildes betrachten und so die ungefähre AO als Post-Okklusion berechnen. bestehen. Der Tiefenpuffer ist eine grobe Darstellung der Geometrie in der Szene. Wenn Sie also Tiefenpufferwerte in der Nähe eines Zielpixels abtasten, können Sie sich ein Bild von der Form der umgebenden Geometrie machen und erraten, wie dunkel diese durch AO ist sollte sein.
Dieses Diagramm von Bavoil und Sainz (2008) zeigt, wie Tiefenpufferwerte, die als eine Art Höhenfeld interpretiert werden, eine diskretisierte Version einiger Geometrien darstellen. Bei der Berechnung des SSAO für das mittlere Pixel würden Sie die Tiefenwerte der umgebenden Pixel betrachten und sie in eine Formel einfügen, die einen dunkleren Wert erzeugt, wenn die Geometrie konkaver ist (wie im Diagramm), und einen helleren Wert, wenn die Geometrie flach oder konvex ist.
Die Formel, in die die Tiefenwerte eingehen, wird in Analogie zu Filterkernen, die für Unschärfen, Kantenerkennung und dergleichen verwendet werden, als "Kernel" bezeichnet. SSAO ist jedoch komplizierter als nur eine lineare Faltung der Tiefenwerte. Der Teufel steckt im Detail. Die Verteilung der Proben und die Formel, mit der sie verarbeitet werden, um den Okklusionswert zu erzeugen, waren in den letzten zehn Jahren Gegenstand zahlreicher Untersuchungen, um den Realismus zu verbessern und Artefakte zu reduzieren und gleichzeitig eine gute Leistung zu erzielen.