PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "Deferred Shadowing" in Unreal Engine 3


Gast
2007-03-28, 17:25:32
Man sprich hier von "Deferred Shadowing".
Schonmal an anderer Stelle gefragt:
Was soll das sein?
Wie sieht der Algo aus?
Ich hab vor Jahren mal "deferred Shadowing" an der Uni implementiert, aber das hatte mit dem Samplen einer HDR Envmap zu tun.
Aber das kann ja wohl nicht gemeint sein.

deekey777
2007-03-28, 18:20:26
Schonmal an anderer Stelle gefragt:
Was soll das sein?
Wie sieht der Algo aus?
Ich hab vor Jahren mal "deferred Shadowing" an der Uni implementiert, aber das hatte mit dem Samplen einer HDR Envmap zu tun.
Aber das kann ja wohl nicht gemeint sein.
"Deferred Shadowing" ist auch der falsche Begriff dafür. Keine Ahnung, wer damit anfing. Vielleicht so gar Epic selbst.

http://forum.beyond3d.com/showthread.php?p=744476#post744476
http://forum.beyond3d.com/showthread.php?t=36790 (nAos Posting)

Gast
2007-03-28, 18:29:55
"Deferred Shadowing" ist auch der falsche Begriff dafür. Keine Ahnung, wer damit anfing. Vielleicht so gar Epic selbst.

http://forum.beyond3d.com/showthread.php?p=744476#post744476
http://forum.beyond3d.com/showthread.php?t=36790 (nAos Posting)
Das einzige aussagekräftige ist das hier:
Basically their shadowing algorythm projects screen space pixels back into light space so they would have to do 2x or 4x the work for shadowing if AA was enabled, but that's true reguardless of the AA implementation.
Mhh.
Das bedeutet ja nicht, dass sie kein Deferred Shading machen. Es bedeutet aber mindestens, dass sie einen "Z-Pass" machen, bei dem der Z-Wert noch in das normale Rendertarget geschrieben wird, um ihn auslesen und rekonstruieren zu können. Quasi das was die Crytekjungs auch machen. Damit ist das AA unter DX9 natürlich auch im Arsch und unter 10 kann man den Wert auch auslesen ohne ihn ein zweites mal zu speichern. Klingt aber interessant und wäre ein paar Erklärungen mehr wert.

deekey777
2007-04-26, 21:42:13
Ich bin mal so frech und erstelle ein neues Thema, da das Fehlen des MSAA in einigen UE3-Titeln für Verwirrung sorgt.
Weitere Threads: http://www.forum-3dcenter.org/vbulletin/showthread.php?t=222837
http://www.forum-3dcenter.org/vbulletin/showthread.php?t=358207
Das einzige aussagekräftige ist das hier:

Mhh.
Das bedeutet ja nicht, dass sie kein Deferred Shading machen. Es bedeutet aber mindestens, dass sie einen "Z-Pass" machen, bei dem der Z-Wert noch in das normale Rendertarget geschrieben wird, um ihn auslesen und rekonstruieren zu können. Quasi das was die Crytekjungs auch machen. Damit ist das AA unter DX9 natürlich auch im Arsch und unter 10 kann man den Wert auch auslesen ohne ihn ein zweites mal zu speichern. Klingt aber interessant und wäre ein paar Erklärungen mehr wert.
Irgendwie muss man alles aus der Nase ziehen:
http://forum.beyond3d.com/showthread.php?p=976645#post976645
In our title we use the same technique (with AA ;) ) and we call it deferred shadowing, others call it forward shadow mapping

DaEmpty
2007-04-27, 13:07:09
Irgendwie muss man alles aus der Nase ziehen:
http://forum.beyond3d.com/showthread.php?p=976645#post976645
Das wirkt schon irgendwie lächerlich.

Mal anderer Ansatz:
Wir brauchen zur Zeit des Shadings die alle Informationen inkl Schatten.
Den Schatten können wir prinzipiell im Screenspace beschreiben (Zhang98) oder im Lightspace (normales Shadowmapping).
Der erste Ansatz funktioniert auf den ersten Blick wieder mit AA nicht. Laut nAo funktioniert ihr Ansatz aber irgendwie mit AA.

Deferred Shadowing im Sinne von Deferred Shading mit einem Pass pro Lichtquelle macht imo auch keinen Sinn, wenn man nicht komplett auf Deferred Shading wechselt.

Bleibt die Möglichkeit, die Informationen aus einem ersten Pass (reiner Z-Pass?) bei der Schattenberechnung zu nutzen. Vielleicht irgendwelche Stenciltricks? Aber hier würde AA immer funktionieren.

Was mich noch komplett verwirrt:
Dunno about GRAW, but UE3.0 graphics engine is not a deferred renderer, only shadows (maps) computations are deferred (or better decoupled) from the renderer.
Wie oder was soll man da entkoppeln?
Imo macht die Aussage nur Sinn, wenn man den Schatten im Screen/Eye-Space berechnet oder vielleicht sogar schon miteinander verrechnet, was aber einen Informationverlust bedeutet, der zB Selfshadowing in den 2,5D Raycastingshadern (Reliefmapping etc) verhindern würde. Worin dann aber der Unterschied zu Zhang98 bestehen könnte, ist mir auch nicht klar.

Vielleicht sollten wir mal die verschiedenen Ansätze diskutieren. So sollte man auf eine Lösung kommen...

Gast
2007-08-30, 23:07:19
Ab hier: http://forum.beyond3d.com/showthread.php?p=1054399#post1054399

deekey777
2008-02-03, 12:12:34
Nachdem (http://www.forum-3dcenter.org/vbulletin/showthread.php?t=401807) selbst Besitzer einer Radeon der R500-Generation in den Genuß der Kantenglättung in UE3-Spielen kommen können, stellt sich die Frage, warum das (Kantenglättung) "aufeinmal" funktioniert.

PS: Der letzte Link zum B3D-Forum ist sehr aufschlussreich.:)