SSAO vs. HBAO vs. HDAO - Was ist der wirkliche Unterschied?

Die Option verwirrte mich, als ich in Far Cry 3 die Wahl zwischen SSAO, HBAO und HDAO hatte.

Hitting google didn't wirklich geben mir keine Antworten noch tat Aktivierung jeder Option und den Vergleich der Ergebnisse. Offensichtlich bin ich blind oder so.

Erstens, welche ist die BESTE Qualität? Zweitens, was ist der wirkliche Unterschied zwischen diesen Optionen?

Lösung

H*AO bietet eine bessere Qualität, allerdings mit einem höheren Leistungsverlust.

SSAO ist weniger genau, verbessert aber die Bildqualität bei deutlich geringerer Leistungseinbuße.

Wenn Sie H*AO verwenden wollen, sollten Sie meines Wissens nach HDAO wählen, wenn Sie eine ATI-Karte haben, oder HBAO, wenn Sie eine nVIDIA-Karte haben.

HBAO und HDAO sind im Wesentlichen das Gleiche, aber unterschiedliche herstellerspezifische Implementierungen.

Hier sind einige BF3-Screenshots, die vielleicht helfen: http://www.reddit.com/r/gaming/comments/kwjtw/my_battlefield_3_screenshot_comparison_ssao_vs/

Ich empfehle, den hier angegebenen Link zu verwenden: http://www.flickr.com/photos/bmorlok/6197863052/in/set-72157627662461565/lightbox/ und die Cursortasten zu benutzen, um schnell zwischen den 3 Screenshots hin- und herzublättern.

Sie sollten schnell in der Lage sein, zu erkennen, wo der Schattenwurf zwischen keinem, SSAO und HBAO stattfindet.

Schauen Sie sich die Bereiche an, in denen sich die Objekte überschneiden. Zum Beispiel, wo der Boden auf die Wand trifft, wo eine Säule auf die Decke trifft, die Büsche, die Trümmerteile auf dem Boden.

Ich habe mir erlaubt, eines der Fotos zu nehmen und die Bereiche zu markieren, auf die Sie beim Hin- und Herblättern achten sollten.

Sie werden feststellen, dass SSAO in denselben Bereichen schattiert, aber viel weniger ausgeprägt ist.

Kommentare (3)

Zunächst einmal handelt es sich bei der Umgebungsverdeckung im Bildschirmraum nicht um einen physikalisch begründeten Effekt, so dass es kein Realismus-Argument gibt. Die Theorie des Effekts besagt im Wesentlichen, dass

jede Oberfläche, die nicht abgedeckt ist (optional innerhalb einer bestimmten Entfernung), wird beleuchtet

Selbst mit Raytracing ist es nur eine schnelle und schmutzige Methode, um kleine Details in Modellen hervorzuheben.

Zweitens sind alle fraglichen Techniken nur Iterationen des SSAO; sie arbeiten alle als Postprozess, nachdem die Szene gerendert wurde. Das bedeutet, dass Shader etwas Magisches tun müssen, um aus den wenigen Informationen, die nach der Rasterung übrig bleiben, etwas Genaues zu erzeugen.

SSAO

Dies ist die älteste Technik. Sie geht davon aus, dass jedes Pixel innerhalb eines bestimmten Screen Space Radius ein möglicher Okkluder ist. Dies wird grob angenähert, indem die Differenz zwischen dem unscharfen und dem ursprünglichen Z-Puffer (Tiefe) berechnet wird und das Ergebnis abgedunkelt wird, wenn die unscharfe Version einen größeren Wert hat.

Der Nachteil dieses Ansatzes ist, dass er sowohl fälschlicherweise abdunkelt als auch bestimmte Merkmale nicht erkennt. Sie müssen sich diese Säule genau ansehen, aber Sie werden feststellen, dass die Decke an den Seiten falsch abgedunkelt ist, während sie an der Kreuzung nicht betroffen ist.

Decke trifft Säule - eine SSAO-Demonstration]1

Dieses Papier enthält einige weitere grafische Beispiele.

HBAO

Dieser Algorithmus versucht, die Probleme von SSAO zu lösen. Dazu verwendet er mehr Informationen, nämlich die Normal Map. Anstatt nach Verdeckern rund um ein Pixel im Bildschirmraum zu suchen, versucht er, kleine Teile der Szene wiederherzustellen und eine fundiertere Annäherung an die Helligkeit, die vorhanden sein sollte, vorzunehmen.

Sie können feststellen, dass die Decke viel deutlicher nach unten zeigt, außerdem ist die Säule oben dunkler.

Die Säule hält die Decke hoch, HBAO

Ein Papier von NVIDIA enthält einige weitere Details dazu.

Schlussfolgerung

HBAO ist ein neuerer Algorithmus, der viel genauere Annäherungen an... eine Annäherung erzeugt.


Die Bilder sind Ausschnitte aus diesen Bildschirmfotos.

Kommentare (3)

HBAO impliziert auch die Verwendung von Augenbildebenen-Techniken, um die Unterschiede in der Größe der Iris zu simulieren, wenn man von bestimmten Lichtebenen in andere Lichtebenen schaut.

Bei HDAO ist dies nicht der Fall.

Kommentare (1)