Ambient Occlusion: Definition & Bedeutung fürs Gaming
Licht möglichst natürlich zu setzen, verleiht Szenen in Computerspielen einen ordentlichen Schub Realismus. Dunkle Ecken oder Schatten in einer Felswand wirken natürlich und verleihen gleichzeitig Tiefe. Genau darum kümmert sich Ambient Occlusion. Wie es funktioniert, ob es sich in Spielen lohnt und was dein System dafür leisten muss, erfährst du im folgenden Beitrag.
Was ist Ambient Occlusion genau?
Ambient Occlusion (Deutsch: Umgebungsverdeckung, auch Umgebungsokklusion - kurz AO) ist eine Schattentechnik die verwendet wird, um 3D-Objekte realistischer aussehen zu lassen. Dies wird erreicht indem natürliche Schatten simuliert werden die auftreten sollten, wenn indirekte oder Umgebungsbeleuchtung auf ein Objekt trifft. Bei Videospielgrafik dient Ambient Occlusion dazu, einem Spiel eine realistischere Umgebungsbeleuchtung zu verleihen.
Tatsächlich handelt es bei dieser Schattierungstechnik um einen Trick, bei dem "gefälschte" indirekte Schatten verwendet werden.
Der grafische Effekt erzeugt für ein gerendertes Bild eine Art Karte die anzeigt, an welcher Stelle die Farben verdunkelt werden sollen. Als zusätzlicher Schritt bei der Generierung wird diese weitere Schicht erzeugt und auf die Computergrafik gelegt.
So sorgt diese Shading-Methode dafür, dass verdeckte Flächen mit einem Schatten belegt werden und tiefer liegende Ebenen (etwa zwischen zwei Steinen oder hintere Objekte in einem voll gestellten Regal) dunkler erscheinen.
Damit dies ohne größeren Rechenaufwand gelingt, wird das Verhalten von Licht gar nicht erst in die Berechnung mit einbezogen. Vielmehr verlässt sich die Methode darauf, dass ein hinterer Bereich, ein verdeckt stehendes Objekt oder eine Ecke im Raum erfahrungsgemäß weniger gut ausgeleuchtet sind.
Das sichtbare Ergebnis ist physikalisch nicht zwingend korrekt, entspricht aber ungefähr unserer eigenen Wahrnehmung, dass zum Beispiel die Fuge im Mauerwerk dunkler ist, als die Wand. Oder auch dass Kanten und Ecken in einem Raum stets weniger gut ausgeleuchtet sind.
Beim genauen Untersuchen der dargestellten Szene würde dies wohl auffallen, weil mancher Schatten falsch gesetzt ist und anderes gar keinen Schatten wirft. Läufst du durch eine so gestaltete Landschaft während links und rechts Feinde lauern, wirkt es aber vor allem realistischer.
Wie funktioniert Ambient Occlusion?
Statt zu betrachten, wie sich Lichtstrahlen durch eine dreidimensionale Landschaft bewegen, nimmt Ambient Occlusion das Maß der Verdeckung von Pixeln als Orientierung. Je tiefer ein Bildpunkt in einem Raum oder einer Oberfläche liegt, desto stärker wird seine Originalfarbe abgedunkelt.
Um den genauen Wert für die Verschattung zu erhalten, wird von der jeweiligen Oberfläche aus in den Raum geblickt. Kann hierbei in alle Richtungen geschaut werden ohne auf ein Hindernis zu stoßen, würde logischerweise auch von überall her Licht auf die Fläche scheinen. Sie bleibt deshalb hell.
Kann zwar in alle Richtungen geschaut werden, aber in kurzer Distanz befindet sich ein Hindernis, ist das Objekt von etwas anderem verdeckt. Es wird abhängig vom festgestellten Abstand dunkler dargestellt.
Bei einem stark eingeschränkten Blickwinkel wird genauso vorgegangen. Je begrenzter der freie Blick in alle Richtungen ist, desto dunkler wird der Bereich gehalten. Bei einem großen Abflussrohr, einem Eimer oder auch den Fugen einer Ziegelwand kann das beobachtet werden.
Der zugehörige Algorithmus prüft zusammengefasst wie wahrscheinlich es ist, dass Licht einen bestimmten Bereich des sichtbaren Bildes erreicht und legt darüber das Maß der Verdunklung fest. Die Position einer oder auch mehrerer Lichtquellen spielt hierfür keine Rolle. Dadurch läuft die Berechnung sehr effizient ab.
Folgende Grafik veranschaulicht das Konzept nochmals. Tatsächlich wird die "Verdunkelung" eines Punktes berechnet, indem von diesem aus Strahlen in einer Halbkugel geworfen werden. Diese Strahlen berechnen dann die Sichtbarkeit des Punktes. Somit wird dieser teilweise verdeckt, wenn der Strahl auf ein anderes Objekt trifft. Wie dunkel der Punkt dann schlussendlich dargestellt wird hängt davon ab, wie viele Strahlen im Halbkreis ungehindert wandern können.
In dunklen Umgebungen wie Höhlen oder düsteren Räumen, funktioniert diese Herangehensweise sehr gut. Werden hingegen zusätzlich richtige Schatten im Sonnenlicht geworfen, etwa vom Protagonisten oder anderen großen Objekten, können Konflikte auftreten. Eine Kante, die komplett in der Sonne liegt, erscheint plötzlich genauso dunkel wie eine gegenüberliegende. Auch die Orientierung des Schattenwurfs stimmt häufig nicht mit der Richtung überein, aus der das Sonnenlicht einfällt.
Aus diesem Grund wurde und wird Ambient Occlusion um weitere Methoden der Betrachtung ergänzt. Teils wird die Ausrichtung der Lichtquellen berücksichtigt. Außerdem lässt sich die Verdeckung wesentlich komplexer gestalten, als durch die einfache Prüfung auf benachbarte Pixel.
Je mehr Schritte hinzukommen oder je weiter entfernt vor einer Fläche nach möglichen Hindernissen gesucht wird, umso anspruchsvoller zeigt sich Ambient Occlusion bei der Berechnung.
Wann wird Ambient Occlusion verwendet?
Nach dem Rendern eine Szene wird im Grunde standardmäßig Ambient Occlusion angewendet. Wird darauf verzichtet, fehlen viele feine Schattierungen in unebenen Oberflächen. Normale Schatten hingegen, die aber meist nur von größeren Objekten geworfen werden, sind jedoch vorhanden.
Selbst beim Einsatz von Raytracing (der tatsächlichen Simulation echten Lichts) kann nicht auf AO verzichtet werden. Der Rechenaufwand für eine realitätsnahe Darstellung wäre selbst für aktuelle Hardware deutlich zu intensiv. Zudem wird Ambient Occlusion gern verwendet, da es subtile Beleuchtungsschwankungen anzeigt und den Augen hilft Oberflächendetails zu erkennen, die ansonsten ausgewaschen oder nicht wahrnehmbar wären. Umgebungsokklusion eignet sich auch hervorragend dafür, eine zu helle Gesamtbeleuchtung auszugleichen.
Nur zum Vergleich: Ein Bild mit 4K-Auflösung und 120 Hertz Bildwiederholfrequenz weist in einer Sekunde ziemlich genau 1 Milliarde Bildpunkte auf. Auf einen einzelnen Quadratmeter fallen in der gleichen Zeit bei Bewölkung 10 Milliarden mal so viele Photonen (eine 1 mit 21 Nullen), die anschließend auch noch reflektieren.
Soll ein Spiel realistisch aussehen und es steht gerade nicht unbegrenzt viel Rechenleistung zur Verfügung, ist Ambient Occlusion eine einfache und effiziente Methode, um das zu erreichen. In einem actiongeladenen Shooter im Battle-Royale-Stil wird dagegen darauf verzichtet, weil hier vor allem die Framerate zählt und weniger ein gelungenes Ambiente.
Die verschiedenen Arten der Umgebungsverdeckung
Seitdem Ambient Occlusion erstmals angewandt wurde, sind weitere Techniken und Abwandlungen davon entstanden. Im Folgenden gehen wir auf alle ein und erklären euch die Unterschiede.
SSAO: Der Ursprung
Bei der Screen Space Ambient Occlusion (SSAO) zählt ausschließlich die Position und damit die Verdeckung der Pixel. Je schlechter eine Fläche einzusehen ist, umso dunkler wird sie dargestellt (siehe dazu oben die kleine Abbildung).
Zum ersten Mal kam die Methode bei Crysis im Jahr 2007 zum Einsatz. Um der begrenzten Rechenleistung gerecht zu werden, handelt es sich bei der Umgebungsverdeckung selbst lediglich um ein zweidimensionales Bild.
Der für dich sichtbare Bereich (screen space) wird als Fläche behandelt, auf der jedoch zunächst die weiter oben beschriebene Verdeckung der Bildpunkte als Information hinterlegt wird. Daraus entsteht eine Art Filter, der das gerenderte Bild in bestimmten Bereichen dunkler erscheinen lässt.
Um möglichst wenig Performance einzubüßen, wird die Auflösung verringert. Statt ein Pixel werden immer gleich vier betrachtet, um den Rechenaufwand entsprechend zu minimieren. SSAO verbraucht keine CPU-Leistung und verleiht der Grafik trotzdem einen ordentlichen Schub, ohne zu rechenintensiv zu sein. Dennoch tastet SSAO nur bestimmte Bereiche des Bildschirms ab, weshalb das Bild in manchen Spielen etwas körnig aussehen kann oder Schatten überbetont werden.
Das Resultat sind konsequent dunkle Bereiche rund um die Kanten von Objekten, in Räumen und an weniger gut sichtbaren Flächen komplexer Figuren. Woher in diesem Moment das Licht der Sonne, einer Flamme oder eines Scheinwerfers strahlt, spielt keine Rolle.
SSDO: Verspricht kleine Verbesserungen
Bei Screen Space Directional Occlusion (SSDO) wird das SSAO um einen weiteren Rechenschritt ergänzt. Zusätzlich zu der absoluten Verdunklung einer Fläche wird die Richtung des einfallenden Lichts berücksichtigt. Hierbei werden die jeweiligen Raumwinkel unterschiedlich gewichtet, um die Richtung des Lichts zu berücksichtigen. Was zur Sonne zeigt, erscheint jetzt hell erleuchtet. Der Sonne abgewandte Kanten und verdeckte Stellen werden noch weiter abgedunkelt.
Diese Methode grenzt sich besonders wirkungsvoll von SSAO ab, wenn Außenbereiche im Sonnenlicht dargestellt werden. Während eine direkt zur Sonne zeigende Spalte heller erscheint, wird eine gegenüberliegende zusätzlich verschattet. Besonders unnatürlich wirkende Verdunklungen werden dadurch vermieden.
In düsteren Kellergewölben, beschienen von Kerzen und Fackeln, dürfte der Unterschied kaum spürbar sein.
HBAO: Mit mehr Details
Die von Nvidia entwickelte Verdunklungsmethode Horizon-Based Ambient Occlusion (HBAO) bezieht weitere Faktoren in die Erzeugung von Schatten mit ein. Vor allem werden zusätzliche Informationen zur Geometrie einzelner Objekte und der gesamten Umgebung berücksichtigt.
So wird unter anderem auch erfasst, wie Objekte und deren Oberflächen ausgerichtet sind. Somit wird ähnlich wie bei SSDO dem Einfallwinkel des Lichts Rechnung getragen. Dazu erscheinen beispielsweise besonders hohe Decken dunkler als niedrige.
Die Schatten selbst basieren zwar weiterhin nicht auf realen Berechnungen zum Lichteinfall, aber dank einer Vielzahl weiterer Faktoren versucht die Methode, der Realität ein Stück näherzukommen. Gleichzeitig sorgen die weiteren Berechnungsschritte und die zusätzlichen Daten (die dafür aus jedem Frame entnommen werden) für eine höhere Belastung der Grafikkarte.
Um dem entgegenzuwirken, hat Nvidia in seiner Ursprungsversion von 2008 die Details deutlich verringert. Das führt bei komplexen Schattenwürfen etwa bei Pflanzen zu unschönen Fragmenten.
Der Nachfolger HBAO+ nutzt einen verbesserten Algorithmus, um auf der einen Seite schnellere Berechnungen auszuführen und auf der anderen Seite mehr Details zu bieten. Die Grundlagen zur Erstellung der Schatten bleiben jedoch identisch.
HDAO, also High Definition Ambient Occlusion, ist vergleichbar mit HBAO+, stammt aber von AMD. Je nach der von dir genutzten Grafikkarte wirst du die eine oder andere Methode einsetzen können. Beide Hersteller verwenden entsprechende Algorithmen, die zur Architektur ihrer GPUs passen. Damit verläuft die Berechnung der jeweils selbst entwickelten Methode deutlich effizienter, sodass sich der Geschwindigkeitsverlust in einem überschaubaren Rahmen bewegt.
VXAO: Mit komplexer Herangehensweise
Statt die Umgebung einzelner Flächen zu untersuchen um lokal herauszufinden, wo eine Stelle weniger gut erreichbar für Licht ist, betrachtet VXAO die räumliche Anordnung der gesamten Szenerie.
VXAO steht dabei für Voxel Ambient Occlusion. Ein Voxel ist ein Würfel. In genau diese Form wird die sichtbare Landschaft zerlegt, um anschließend über einen gerichteten Lichteinfall genau aufzeigen zu können, was verdeckt und was gut ausgeleuchtet ist.
Dass hierbei eine halbwegs zügige Berechnung gelingt, liegt an der extrem starken Reduzierung der Information durch die Zerlegung in größere 3d-Würfel. Im Grunde wird die detaillierte Darstellung wie bei Minecraft in ein grobes Gebilde großer Klötze verwandelt.
Statt der Kantenlänge „1“ besitzen die resultierenden Würfel, die die dreidimensionale Struktur abbilden sollen, zum Beispiel die Kantenlänge „3“. Das würde theoretisch die Anzahl der benötigten Würfel für ein komplettes Objekt im Vergleich zu einzelnen Pixeln annähernd um den Faktor 30 verringern. Davon ausgehend, dass stets nur Oberflächen der Objekte dargestellt werden, ist es noch immer der Faktor 10.
Auf diesem stark vereinfachten Bild, das jedoch die Lage und Struktur der verschiedenen Elemente gut abbildet, wird ein Lichteinfall dargestellt. So können unterschiedliche Schattenwürfe kombiniert werden. Vor allem aber findet die Ausrichtung der Schatten deutlich mehr Beachtung.
Voxel bilden die Geometrie einer Szene genauer ab, was ein noch besseres Okklusions-Rendering ermöglicht. Daher überrascht es nicht, dass VXAO mehr Ressourcen von eurem Rechner fordert als SSAO, HDAO und HBAO.
Was bringt mir Ambient Occlusion fürs Gaming?
Ambient Occlusion ist ein rein optischer Effekt. Weder kannst du dadurch das Spielgeschehen besser verfolgen, noch wirst du in vielen Spielen Details besser erkennen können.
Allerdings gelingt es AO auf elegante Weise, eine Landschaft oder einen Raum wesentlich lebendiger und realistischer darzustellen. Dank dunkler Ecken und sichtbarer Schatten in Mauervorsprüngen oder Felsen wirken gerenderte 3D-Grafiken plastischer.
Dabei mag der Schattenwurf nicht immer mit der Realität übereinstimmen. Außerdem treten gerade bei den noch intensiveren Methoden HBAO+ oder VXAO durchaus Fehler auf, also Verdunklungen, wo sie nicht unbedingt hingehören.
Die Wahrnehmung des Effekts in Spielen geschieht jedoch eher hintergründig. Im Vordergrund bleibt das Spielgeschehen an sich, das durch AO optisch aufgewertet wird.
Trotzdem kann Ambient Occlusion dabei helfen, bestimmte Oberflächendetails besser zu erkennen, gerade wenn diese ansonsten ausgewaschen dargestellt werden. Auch falls euch ein Bereich in einem Spiel zu hell ist kann Umgebungsokklusion helfen, die Helligkeit oder einen Blendeffekt zu reduzieren.
Wie wirkt sich Ambient Occlusion auf meine FPS aus?
Im Gegensatz zum Raytracing, welches selbst ein leistungsstarkes System zum Schwitzen bringen kann, halten sich die Leistungseinbußen bei AO in Grenzen. Das liegt natürlich daran, dass die Verdunklung mehr aus der Erfahrung heraus eingesetzt wird, wo ein Schatten sein könnte. Ergo können sogar schon günstigere Grafikkarten mit guter Preisleistung mit AO umgehen. Und in gefühlten 99 Prozent der Fälle sieht das Ergebnis auch stimmig aus.
- SSAO als dezenteste Variante zeigt sich dabei auch am anspruchslosesten. In einem wenig repräsentativen Versuch meinerseits sank bei „Rise of the Tomb Raider“ die Framerate um nicht einmal 2 Prozent.
- HBAO+ macht sich diesbezüglich bemerkbarer. Aufgrund der zusätzlichen Berechnungen und eines zugegebenermaßen deutlich besseren Ergebnisses werden knapp 8 Prozent weniger Frames pro Sekunde erreicht.
- HDAO liegt irgendwo zwischen SSAO und HBAO. Die Auswahl von HDAO gegenüber SSAO oder HBAO führt bei AMD-Karten zu einem geringen Frameratenabfall, bei Nvidia-Karten jedoch zu einem erheblichen.
- VXAO landet erwartungsgemäß auf dem letzten Platz. Die Framerate sinkt bei aktiver Voxel Ambient Occlusion im Vergleich zum Verzicht auf den Einsatz des Effekts um circa 13 Prozent.
Die Werte dienen selbstverständlich nur zur groben Orientierung. Es wird aber deutlich, dass zumindest SSAO kaum Auswirkungen auf die Geschwindigkeit haben wird. VXAO hingegen beansprucht vergleichsweise viele Ressourcen.
Gleichzeitig ist der optische Unterschied durchaus beachtlich. Bleiben die Schatten ausgeschaltet, fehlt es in zahlreichen Situationen an Tiefe. Statt einer natürlichen Wirkung hat die Szenerie meist den Anstrich dessen, was sie tatsächlich ist: Eine gerenderte Computergrafik.
Zumindest SSAO solltest du für die Stimmung und wegen der kaum spürbaren Auswirkungen auf deine Bildrate in jedem Fall aktivieren. Willst du maximalen Realismus erreichen, ist VXAO die beste Wahl. Für Letzteres legen wir dir ein eher stärkeres Modell aus unserer Grafikkarten-Rangliste ans Herz.
Einen kleinen Vergleich der AO-Techniken seht ihr im folgenden Bild (Klick damit es größer wird):
Zudem empfiehlt es sich, an anderer Stelle Anpassungen vorzunehmen. Während HBAO+ keine 10 Prozent Leistung einfordert, sind es bei einer einzelnen Detailstufe oftmals deutlich mehr, während der optische Unterschied dies nicht unbedingt widerspiegelt. Auch die Qualität der tatsächlich generierten Schatten kann stattdessen angepasst werden. Deren Formen wird dadurch zwar einfacher, aber dank AO ergibt sich insgesamt ein stimmigerer Eindruck.
Lediglich bei absolutem Fokus auf die Framerate erscheint es tatsächlich sinnvoll, auf jegliche Art von Ambient Occlusion zu verzichten. Dann wirkt die Spielewelt zwar eher comichaft als echt, was aber in dem Zusammenhang keine Rolle spielen dürfte.
Jetzt weiterlesen: Diese Artikel könnten dich auch interessieren
Ein Artikel von Mario. Falls ihr mehr über unsere Autoren erfahren wollt, besucht unsere Über-Uns-Seite.