DGL
https://delphigl.com/forum/

Ambient Occlusion Shader
https://delphigl.com/forum/viewtopic.php?f=20&t=9211
Seite 1 von 1

Autor:  Aya [ Mo Mai 10, 2010 16:21 ]
Betreff des Beitrags:  Ambient Occlusion Shader

Hi,

ich hab schon oft gehört das leute in OpenGL/D3D via Shader AmbientOccluion hinbekommen... wie machen die das?
So richtig gefunden habe ich dazu nichts bisher.. immer nur lösungen die auf sehr spezielle anwendungsfälle passen. :(

Aya~

Autor:  Coolcat [ Di Mai 11, 2010 09:10 ]
Betreff des Beitrags:  Re: Ambient Occlusion Shader

Starcraft 2 benutzt scheinbar Screen‐Space Ambient Occlusion (SSAO) was sich wohl irgendwie beim Deferred Shading mit einbauen lässt. Ich hab das hier nicht gelesen, sieht aber gut aus:
http://ati.amd.com/developer/SIGGRAPH08 ... raftII.pdf (Abschnitt 5.5)

Autor:  Flash [ Di Mai 11, 2010 09:14 ]
Betreff des Beitrags:  Re: Ambient Occlusion Shader

Starcraft II sieht definitv gut aus. ;)

Autor:  TAK2004 [ Di Mai 11, 2010 09:44 ]
Betreff des Beitrags:  Re: Ambient Occlusion Shader

Ja SC2 nutzt SSAO, wie viele andere auch(God of War 3, Crisis, Stalker,..).
SSAO ist im gegensatz zum AO in Echtzeit möglich und man kann noch mehr machen als nur die Szene rendern.
AO geht mitlerweile auch in Echtzeit aber zu einem sehr hohen kostenfaktor, der einige CPU Kerne und ne sehr gute Graka braucht.
Die Papers und Code, für echtzeit AO, sind allerdings recht nutzlos oder closed source.
SSAO ist nur eine schlechte echtzeit näherung, was man aber bei richtiger Anwendung fast nicht merkt und für wenig extra GPU Zeit viel raus reisst.
SSAO benötigt Daten, welche bei deferred renderer sowieso an fallen.
Ein großes Problem beim SSAO ist die verteilung der Nachbar Probes. Hier kommt die Normal Map mit rauschen zum einsatz, welche die Lookupmap für die Probes ist. Je nach wie hoch man die Quali für sein SSAO treiben will, werden mehr oder weniger Probes genommen. Durch das Rauschen in der normalmap werden die Probes recht verstreut in der Umgebung des aktuellen Texels gesucht. Damit man nicht das Pattern von der Rauschtextur nicht wieder bemerkt, wird oft ein Matrix auf die Texturkoordinaten verwendet, welche die Textur dann rotiert, verschiebt.
Das zweite große Problem ist ein Edgebleeding, was die wirklich kunst beim SSAO zu scheinen sein.
Im gamedev.net forum findest du hunderte Implementierungen und einige haben die Probleme gelöst und offen gelegt.
http://www.youtube.com/watch?v=R_L-_oGTbqw
http://www.gamedev.net/community/forums/topic.asp?topic_id=556187&PageSize=25&WhichPage=9

Autor:  Aya [ Di Mai 11, 2010 22:28 ]
Betreff des Beitrags:  Re: Ambient Occlusion Shader

Hi,

danke für die links :)
Funktioniert wunderbar~

Aya

Autor:  Coolcat [ Di Mai 11, 2010 22:57 ]
Betreff des Beitrags:  Re: Ambient Occlusion Shader

Zitat:
Funktioniert wunderbar~

Ab in die Shadersammlung damit?

Autor:  Flash [ Do Mai 13, 2010 07:21 ]
Betreff des Beitrags:  Re: Ambient Occlusion Shader

Wäre definitiv ne feine Sache.

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/