Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Aug 07, 2025 06:35

Foren-Übersicht » Programmierung » Shader
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di Jul 04, 2006 22:39 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Heute im Quakenet, hat mich einer gefragt wie man effektive Schatten in Außenleveln rendern könnte. Da ich selbst keinen Plan davon hatte (hab bis jetzt nur Schattenwerfende Punktlichquellen gebaut) musste ich mir schneller was ausdenken als ich tippen konnte. Die Stencilshadows sind ja doch nicht das ware, weil man viel zu Fus machen muss.

Die Bedingung sollte in etwa Folgende sein:

Die Umgebung kann unendlich groß sein, das Licht kommt aus nur einer Richtung.

Die shadowmap muss aus der Sicht der Lichtquelle gezeichnet werden. Da es unmöglich ist die ganze Umgebung in eine Shadowmap zu rendern, wird nur der Frustum dort hineingerdert. (Der rest kann teilweise muss aber nicht wegelessen werden)
Da der Frustum unprojeziert ziehmlich unförmig ist und sich irgend wie gar nicht auf eine Textur projezieren lässt wird er voher umgeformt und erhällt die Form eines Würfels. Sogar die LOD problem der shadowmap verschwindet hier vollkommen, da in der nähe der viele Samples und in der Entfernung sehr wenige Samples berücksichtig werden. Nun muss von unserem Transfomiertem Würfel die Silluette gefunden werden, da alles außerhalb des Cubus/Frustum nicht sichtbar ist. Nun kann alles unter berücksichtung der entsprechnden Transformationen in den Tiefen buffer gerendert werden. Idealerweise sind die Daten Quadtree obtimiret, dessen Zellen immmer obern beginnen und unten Enden. (Da entfällt das zurückschreiben in den Z-Buffer gleicher effekt wie mit den BSP bäumen)

Im finalem Renderdurchgung muss die gleiche Transfomation enewannt werdne um die Texturkoordinaten für die shadowprojektion zu ermitteln.

Da in der shadowmap quasi ein LD berücksichtigt wird kann die um einiges kleiner werden, als wenn die Tiefen maps z.B. kachelweise gerändert werden. Man kann es als vor und Nachteil werten, das bei jeder Kammerabewegung eine neue Shadowmap generiert werden muss, vorteil ist, das es ein relativ geringer aufwand ist, Nachteil, das man diese map überhaupt nicht wiederverwerten kann...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 04, 2006 23:22 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wie siehts mit Objekten aus die Schatten in den Sichtbaren Bereich hinein werfen?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 04, 2006 23:54 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Die dürfen nicht wegelassen werden.

Im Opengl chat hat sich allerding dann nach langen diskusionen herausgestell, das es so etwas schon gibt:

http://www.comp.nus.edu.sg/~tants/tsm/psm.html

Man stolper halt doch ab und zu mal auf einen Algoritmus, den man noch nicht in einem Spiel so direkt sehen kann.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Shader


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 16 Queries | GZIP : On ]