Seite 1 von 1

Perspective Soft Shadows

Verfasst: 01.12.2011, 11:49
von Artificial Mind
Hallo,

In absehbarer Zeit sollen in YADC Schatten implementiert werden.
Prinzipiell wollten wir uns mal die fortgeschritteneren Techniken angucken, insbesondere (Percentage Closer/Variance) Soft Shadows und Perspective Shadow Mapping. Da wir teilweise "rundum"-Lichtquellen haben und Cubemaps relativ groß sind, dachten wir an Dual Paraboloid Mapping anstatt Cubemaps.

Die Frage ist nun: kann man Soft Shadows und Perspective Shadow Maps kombinieren? Das Samplen muss man ja quasi anpassen, da die Shadow Map "verzerrt" ist.
Hat da jemand Erfahrung/Ideen/Quellen?

Cheers,
Mind

Re: Perspective Soft Shadows

Verfasst: 01.12.2011, 11:56
von dot
Ich hab jetzt keine direkte Erfahrung mit PSM, aber rein prinzipiell sind Perspective Shadow Maps ja nur eine Technik um die Auflösung der Shadowmap besser auszunutzen und sind eigentlich eher unabhängig vom verwendeten Filtering. Trapezoidal Shadow Maps wären da eine ähnliche Technik. Das Ganze sollte sich zusätzlich z.B. auch noch mit Cascaded Shadow Maps oder Parallel Split Shadow Maps kombinieren lassen. Statt Variance Shadow Maps könntest du dir mal Exponential Shadow Maps anschauen, die ein paar Probleme von VSM lösen...

Re: Perspective Soft Shadows

Verfasst: 01.12.2011, 11:59
von Artificial Mind
Perspective Shadow Maps rendern ja Bild verzerrt (z. B. im Frustum) und wenn ich für Soft Shadows in der Shadow Map sample, dann muss ich ja diese Verzerrung mit einberechnen, damit ich die "richtigen" Samples erwische und mein Soft Shadow nicht auch verzerrt wird.

Re: Perspective Soft Shadows

Verfasst: 01.12.2011, 12:00
von dot
Das musst du beim Samplen der PSM doch sowieso immer!? Wenn du einfach nur PCF machen willst, dann seh ich nicht ganz wo das Problem liegt. Du berechnest eben deine Sampleposition und schnappst dir dann die entsprechenden umliegenden Texel auch noch, daran sollte sich doch nix ändern!?

Re: Perspective Soft Shadows

Verfasst: 01.12.2011, 12:07
von Artificial Mind
Dann ist ja gut, das wollte ich wissen :) muss ich also "einfach" nur die Transformationen anpassen.

Re: Perspective Soft Shadows

Verfasst: 01.12.2011, 12:11
von CodingCat
Das hängt stark davon ab, was für Soft Shadows du willst. Wenn du dir einfach im Shadow-Map-Raum die umliegenden Pixel schnappst, hast du natürlich je nach betrachtetem Zentrum sehr ungleiche Weichzeichnungsradien. Da du bei echten Soft Shadows aber in der Regel sowieso einen bestimmten, kontrollierten Weichzeichnungsradius haben willst, musst du eben nur die Projektion dieses Radius in die Shadow Map mit anpassen. Damit hast du lokal natürlich keine ganz gleichmäßige Stichprobenverteilung, das sollte sich bei einigermaßen kleinen Weichzeichnungsradien (hoffentlich) vernachlässigen lassen (sonst müsstest du zunächst Punkte entsprechend dem Soft-Shadow-Radius im Welt- oder Kamera-Raum konstruieren, und einzeln in die Shadow Map transformieren).

Re: Perspective Soft Shadows

Verfasst: 01.12.2011, 12:15
von Artificial Mind
OK gut, danke für die Infos. Die Transformation für das Dual Paraboloid Mapping muss ich dann ja wahrscheinlich auch nochmal mit beachten.

Re: Perspective Soft Shadows

Verfasst: 01.12.2011, 12:26
von Schrompf
Ich würde komplett auf diese perspektivischen Auflösungsverbesserungen verzichten. Die haben nämlich alle gemeinsam, dass sie bei bestimmten Blickwinkeln (Blickrichtung nahezu parallel zur Lichtrichtung) kollabieren. Und in quasi allen Spielen kann man nicht verhindern, dass der Spieler mal so schaut. Ich finde, dass ist ein Ausschlusskriterium.

Die meisten Leute heutzutage nehmen Parallel Split Shadow Maps oder (etwas schlichter, aber quasi das gleiche) Cascaded Shadow Maps. Bei den Splitterwelten benutzen wir kreisförmig verzerrte ShadowMaps, aber ich überlege schon seit geraumer Weile, auch auf PSSM zu wechseln.

[edit] Das bezieht sich nur auf Sonnenlicht. Punktlichtquellen sind von sowas natürlich nicht betroffen.