Warum wird AO als Nachbearbeitung betrachtet?

7

Umgebungsokklusion ist eine physikalische Annäherung an die Okklusion von Umgebungslicht. Wenn Umgebungslicht nicht als Nachbearbeitung betrachtet wird, warum ist AO? Die Umgebungsokklusion hat die gleichen Eingaben wie die reguläre verzögerte Beleuchtung sowie Kernel und eine Rauschkarte, kann jedoch im Wesentlichen auf die gleiche Weise behandelt werden. Gibt es einen Grund, warum dies als Nachbearbeitung betrachtet wird und verzögerte Beleuchtung / Beschattung nicht?

Karim Abdel Hamid
quelle

Antworten:

10

Dies ist eine möglicherweise verwirrende Wiederverwendung der Terminologie. Ambient Occlusion ist an sich kein Nachbearbeitungseffekt. Screen Space Ambient Occlusion ist ein Nachbearbeitungseffekt, bei dem der Tiefenpuffer verwendet wird, um die durch Ambient Occlusion erzeugten Effekte zu approximieren.

Ambient Occlusion ist eine relativ teure globale Methode, während Screen Space Ambient Occlusion die billigere Alternative für Echtzeitanimationen ist. Nur letzteres gilt als Nachbearbeitung.

Trichoplax
quelle
2
Ein weiterer möglicher Grund für die Verwirrung ist, dass Ambient Occlusion meistens in einem separaten Durchgang wiedergegeben und später hinzugefügt wird. Es so aussehen zu lassen, als könnte es sich um einen Nachbearbeitungseffekt handeln.
bram0101
@ bram0101 Gilt das für Ambient Occlusion, die nicht die Screen Space Ambient Occlusion-Näherung verwendet?
Trichoplax
2
@trichoplax Ja, zum Beispiel mit Voxel-Cone Traced AO. Bei dieser Methode wird der AO als separater Durchgang hinzugefügt
RichieSams
1
@trichoplax mit Offline-Rendering-Engines wird viel getan, insbesondere mit VFX oder allgemeinen 3D-Animationen. Es kann einige Gründe geben, es separat zu rendern. 1. Die meisten Shader und Lichter haben keine Schaltfläche zum Einschalten, was bedeutet, dass Sie einen Renderpass dafür erstellen müssen. 2. Pässe können schneller gerendert oder einfacher eingerichtet werden. 3. In VFX oder einigen Animationsproduktionen werden sie in verschiedenen Durchgängen gerendert, um sie dann zur besseren Kontrolle in der Post zusammenzufügen. Ich spreche von ua von Offline-Render-Engines, also ist es ao Raytracing.
bram0101
Diese Kommentare deuten darauf hin, dass es nicht so einfach ist, wie ich es beschrieben habe, und es gibt eine viel bessere Antwort, die darauf wartet, veröffentlicht zu werden ...
Trichoplax
4

Umgebungsokklusion ist keine Technik, sondern ein Konzept. Es kann als Nachbearbeitungseffekt wie SSAO, SSDO, HBAO + usw. implementiert (und angenähert) werden. @Trichoplax gab eine gute Antwort, ich wollte nur auf die Kommentare näher eingehen.

Gibt es einen Grund, warum dies als Nachbearbeitung betrachtet wird und verzögerte Beleuchtung / Beschattung nicht?

Ich persönlich würde das verzögerte Rendern als Nachbearbeitungseffekt betrachten, aber es hängt von Ihrer Definition eines Nachbearbeitungseffekts ab. Für diese Antwort gehe ich davon aus, dass alles andere Geometrie als ein Bildschirmraum-Quad oder ( Dreieck ) gerendert werden muss.

Nachbearbeitungstechniken

Bildschirmraum-AO-Techniken umfassen das Ablesen der Tiefe und / oder der normalen Puffer, um zu bestimmen, ob Licht eingeschlossen werden soll. Es gibt Erweiterungen dieser Techniken, die sich sowohl mit zeitlichem Aliasing als auch mit zeitlichem Aliasing befassen Okklusionen durch Objekte in der Szene . Einige Leute wenden AO auch an, um Teile der Szene zu trennen (z. B. dynamische und statische Objekte). Hier könnte die Definition der Nachbearbeitung mehrdeutig werden.

Einige Renderer verarbeiten AO jedoch vor dem Durchlaufen der Beleuchtung. Normalerweise machen diese Renderer entweder einen Z-Prepass oder sind Light-Prepass-Renderer. Dies kann auf Geräten mit niedrigerem VRAM oder eDRAM verwendet werden, um Speicherplatz zu sparen, da Sie während Ihres Beleuchtungsdurchlaufs auch Tonemapping durchführen können.

Statische Techniken des Weltraums

Lightmaps können insbesondere für statische Umgebungen verwendet werden. AO kann einfach offline berechnet werden. Ebenso können Kunstobjekte AO-Texturen haben.

Partial Dynamische Techniken des Weltraums

Einige Objekte benötigen nur grobe AO und sind weitgehend starr. Zum Beispiel AO-Felder und Abziehbilder mit oder ohne SSAO verwendet werden, um die AO für einige Objekte zu verbessern (von Nathan Reed). Ein weiteres Beispiel ist das Platzieren eines Kreises um die Füße eines Charakters.

Dynamische Techniken des Weltraums

NVidia hat VXAO entwickelt , einen voxelbasierten Umgebungsokklusionseffekt, mit dem AO an Stellen simuliert werden kann, die auf dem Bildschirm nicht sichtbar sind. Dies war einer der Nachteile von SSAO. Ein weiteres Problem mit SSAO ist, dass es für jeden Frame berechnet werden muss und einem zeitlichen Aliasing unterliegt (schlecht für VR, obwohl einige Leute Verbesserungen dafür entwickelt haben). VXAO kann auch die Speicher- / Produktionskosten vieler AO-Texturen reduzieren. Außerdem kann VXAO bei Updates eine erhebliche Latenz haben (wenn die Anwendung dies wünscht). VXAO hat jedoch hohe Leistungskosten.

Andere Anwendungen, wie z. B. voxelbasierte Spiele, können AO sehr einfach mithilfe von Algorithmen approximieren, die auf Nachbarschaftsinformationen basieren. Dies ähnelt VXAO, jedoch ohne die Rasterungsschritte (Voxelisierungsschritte), und sie können viel gröbere Annäherungen aufweisen.

Wie Sie sehen können, gibt es viele Implementierungen von AO, von denen viele keine Nachbearbeitungseffekte sind.

Asse
quelle