Umgebungsverdeckung – Ambient Occlusion (HBAO, VXAO, HDAO, SSAO)

UPDATE: Mittlerweile wurde von Nvidia VXAO eingeführt, momentan verfügbar in Rise of the Tomb Raider (ausschließlich DirectX 11). VXAO steht für Voxel Ambient Occlusion und ist zur Zeit ungeschlagen, da hier für einen realistischen Schattenwurf nicht nur die Objekte verantwortlich sind, die auf dem Bildschirm tatsächlich zu sehen sind, sondern auch Objekte die hinter anderen liegen und diese beeinflussen. Dadurch erreicht man zur Zeit eine unerreichbare Qualität. Allerdings auf Kosten von noch mehr Leistung. (Vergleichsbilder: #1 und #2)

Sicherlich seid ihr schon mal über Abkürzungen wie SSAO, HBAO oder HDAO in den Grafikeinstellungen einiger Spiele gestolpert. AO steht hierbei für Ambient Occlusion, oder auf deutsch Umgebungsverdeckung. Dieses je nach Spiel und AO-Art dezente Grafik-Feature kann für ein wesentlich realistischeres Bild sorgen. Aber was genau macht die Umgebungsverdeckung eigentlich?


Kurz gesagt: Es sorgt für einen räumlicheren Schattenwurf und fügt an einigen Stellen, vor allem an Kanten, einen Schattenwurf hinzu, um das Bild realistischer wirken zu lassen. Denn bevor es Ambient Occlusion gab, konnten selbst die besten Schatteneffekte nichts daran ändern, dass viele Objekte, die dann zwar einen guten, hochauflösenden Schatten mit weichen Kanten warfen, wie “aufgesetzt” wirkten. Nicht so, als stehe das Objekt tatsächlich auf dem Boden. Hier ein Beispiel aus dem realen Leben:

Umgebungsverdeckung Ambient Occlusion real life

Alle drei Objekte werfen einen Schatten. Aber auch innerhalb des normalen Schattenwurfs, zeigt sich nach unten, zur Kante, eine immer stärker werdende Schattierung. Bei dem Zollstock erscheint die linke Seite in einem dunkleren Grau, obwohl sie tatsächlich die gleiche Farbe hat wie die obere Seite. Beim Kugelschreiber und USB-Stick wird an den unteren Kanten die zunehmende Schattierung sehr deutlich. Und genau das, zeige ich euch jetzt anhand eines Screenshots:

Splinter Cell Blacklist Ambient Occlusion Umgebungsverdeckung SSAO HBAO

Achtet rechts auf die Schreibtische, deren Füße und auf die Computer, die auf dem Boden stehen. Jetzt seht euch das gleiche Bild an, komplett ohne Umgebungsverdeckung:

Splinter Cell Blacklist Ambient Occlusion Umgebungsverdeckung SSAO HBAO

Achtet hier auf die Akten rechts auf dem Tisch, die komplett ausgeleuchtet sind, die Kanten der Computer auf dem Boden sowie der Fußboden unter den Tischen und um die Tischfüße herum.

SSAO, HBAO, HDAO

SSAO steht für Screen Space Ambient Occlusion und wurde ursprünglich von CryTek entwickelt. Sie ist heute die bekannteste, aber auch die unpräziseste Methode. Dafür i.d.R. auch sparsamer als die anderen, was die Performance angeht. HBAO steht für Horzion Based Ambient Occlusion, kostet etwas mehr Performance und ist normalerweise stärker, was den Effekt angeht. Die präziseste Variante stammt ursprünglich von AMD: High Definition Ambient Occlusion (HDAO). Die Effekte sind oft subtiler als beim SSAO, manchmal sogar kaum zu sehen und kostet dafür noch am meisten Performance.

Splinter Cell Blacklist - ohne AO
Splinter Cell Blacklist - SSAO
Splinter Cell Blacklist - HBAO

Präzision?

Man könnte sagen, dass SSAO ziemlich brutal ist. Da wird an nahezu jeder Oberfläche ein Schattenverlauf erzwungen, das jedoch auch oft für einen Halo-Effekt sorgt. Vor allem bei beweglichen Objekten, wie z.B. der Spielfigur, die sich vor einer Wand entlang bewegt. Dieser Effekt wirkt wie ein düner, dunkler Schleier, der bei Bewegung auch noch flimmert. Warum ist SSAO aber unpräzise? Es erkennt nicht, ob ein Objekt sich auch tatsächlich räumlich nahe eines anderen befindet und dort den Schatten wirft. Daher auch die bessere Performance. Für SSAO reicht es, wenn sich ein Objekt auf einer zwei-dimensionalen Fläche an einem anderen Objekt befindet und zeichnet dann entsprechend den Schatten:

The Witcher 2 SSAO Umgebungsverdeckung Vergleich

Sehen wir uns mal einen Vergleich zwischen SSAO, der stärkeren aber ungenauen Variante und HDAO, meinem Favouriten, da subtil und präzise, an (3-Sekunden-GIF):

Max Payne 3 SSAO HDAO Comparison

Fazit

Letztendlich kommt es, neben den offensichtlichen Stärken und Schwächen, auch auf den persönlichen Geschmack an. Wenn ich lieber einen stärkeren Effekt haben möchte und dafür auf die Präzision eines HDAO verzichten kann, wähle ich am besten SSAO. Soll der Effekt noch einen Tick stärker ausfallen, kommt HBAO ins Spiel. Möchte ich das Bild jedoch nicht zu sehr ändern, sondern suche nur einen dezenten und dafür präzisen Effekt, sollte ich HDAO wählen. Abgesehen davon kommt es auch darauf an, welche Optionen das Spiel überhaupt bietet. Dann ist es allerdings nicht schlecht zu wissen, welche Option für welchen Effekt sorgt.

Bei Fragen oder Anregungen schreibt in die Kommentare oder schreibt mir direkt über das Kontaktformular.

Wer sich hierüber hinaus und weitergehend zum Thema informieren möchte, dem empfehle ich diesen Link: http://de.wikibooks.org/wiki/Blender_Dokumentation:_Ambient_Occlusion (deutsch) oder http://www.andrew-whitehurst.net/amb_occlude.html (englisch)

2 Gedanken zu „Umgebungsverdeckung – Ambient Occlusion (HBAO, VXAO, HDAO, SSAO)

  1. Vielen Dank für die Erläuterungen.

    Seit einer halben Ewigkeit kam mir immer wieder der Gedanke, was genau eigentlich der Unterschied ist. Ich muss sagen mir persönlich gefällt SSAO viel besser und dazu ist es auch noch Performanceschonender. Ein absolutes Win WIN für mich. Dennoch wollte ich wissen, warum HDAO und HBAO immer angeblich so viel besser seien. Nun kenn ich den Unterschied und weiß worauf ich Achten muss im Vergleich.

    Vielleicht werde ich dann zukünftig öfters HBAO nutzen.
    Ich denke es macht auch viel Unterschied ob man nun eher nen Comicartigen oder realistischer wirkenden Grafikstil spielt. Kann mir Vorstellen, dass wenn eh schon alles Knallbunt ist, die Schatten auch großflächiger verbreitet sein dürfen.

    1. Hallo Patrick, danke erstmal für deinen Kommentar und entschuldige die lange Freigabe und Rückmeldung. (Habe leider keine Zeit mehr für meinen Blog.) HBAO und HDAO sind deshalb “besser”, weil sie präziser sind und HBAO gleichzeitig noch einen stärkeren Effekt hat. Dabei sind alle Techniken nur Approximationen, also Annäherungen und daher “fake”. Ablösung bzw. bessere Effekte werden in Zukunft mit einer Kombination aus Umgebungsverdeckung und Ray-Tracing erzielt; Ray-Tracing sorgt dann dafür, dass tatsächlich physikalisch weniger Licht in den Ecken gelangt und man muss weniger tricksen. Was heißt jetzt aber “präzise”? Die Umgebungsverdeckung sucht einfach nur “stumpf” nach Kanten, von denen der Algorithmus vermutet, da könnten Schatten sein, weil das Kanten meist so an sich haben. Nun gibt’s aber trotzdem Kanten wo es a) wenig/keinen Schatten gibt oder b) der Schattenwurf ganz anders aussehen müsste. Da SSAO weniger präzise ist, gibt es z.B. den Halo-Effekt um gewisse Spielfiguren (die ja auch Kanten haben, z.B. der Oberkörper, der sich vor einem Hintergrund/Objekt/Textur abzeichnet). SSAO denkt dann immer, dass sich diese Figur direkt an diesem Objekt befindet, als würde man in Deckung sitzen. HBAO z.B. erkennt aber, dass die Figur nur optisch über einem Objekt liegt, aber physisch weiter entfernt ist und es deshalb keinen “Schattenwurf” (letztendlich sind es ja einfach nur andere Farbwerte) geben kann.

      Präzision ist nicht immer auf den ersten Blick als “besser” auszumachen. Es hängt oft von der Situation ab und der generellen Ausleuchtung. Im Grunde genommen kann man schon sagen, dass HBAO dem Bild durch den stärkeren Effekt mehr Tiefe verleiht, was aber natürlich je nach Genre und Vorlieben, z.B. in Multiplayer-Shootern, aber auch störend sein kann. In den meisten Fällen sieht HBAO aber tatsächlich besser und ist dem SSAO vorzuziehen. Gut ist es dann aber, wenn die Spiele einen die Optionen bietet und man trotzdem zu SSAO greifen kann.

      Viele Grüße,
      Robert “Filben”

Kommentar verfassen