Imperfect Shadow Maps

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Benutzeravatar
Schrompf
Moderator
Beiträge: 4858
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Imperfect Shadow Maps

Beitrag von Schrompf »

Bin gerade durch einen Kommentar auf Heise zu folgendem Video gekommen: http://www.youtube.com/watch?v=Pdp3rfyFF14

Und dazu fällt mir spontan ein WOW ein. Ok, es ist *kriechend* lahm, aber immerhin interaktiv. Hat irgendjemand dazu genauere Informationen oder sogar einen Download-Link zu dem Paper? Ich würde mir gern mal durchlesen, ob die Technik auch in realisitischen Spielszenen einsetzbar ist.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Ingrater
Establishment
Beiträge: 103
Registriert: 18.04.2007, 21:52

Re: Imperfect Shadow Maps

Beitrag von Ingrater »

Einmal google und alle sind glücklich ;-)
http://www.uni-koblenz.de/~ritschel/dokumente/ISM.pdf
da is noch mehr in die Richtung
http://www.uni-koblenz.de/~ritschel/
Benutzeravatar
Schrompf
Moderator
Beiträge: 4858
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Imperfect Shadow Maps

Beitrag von Schrompf »

Ok, sorry, der war wirklich zu einfach. Ich hab nur die Siggraph Asia-Seite umgegraben, bis mir eingefallen ist, dass die ja grundsätzlich nicht die besprochenen Paper zum Download anbieten...

Die optische Wirkung dieser Methode ist jedenfalls toll... aber anscheinend nur eine Folge von hunderten geschickt verrechneten ShadowMaps. Performance-technisch also tödlich für komplexere Szenen. Nuja, mal schauen. Muss mir das Paper mal ausführlich zu Gemüte führen.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Eike Anderson
Moderator
Beiträge: 34
Registriert: 28.02.2009, 15:52
Alter Benutzername: Swordfighter

Re: Imperfect Shadow Maps

Beitrag von Eike Anderson »

Schrompf hat geschrieben:Ich hab nur die Siggraph Asia-Seite umgegraben, bis mir eingefallen ist, dass die ja grundsätzlich nicht die besprochenen Paper zum Download anbieten...
Das stimmt so nicht - grundsaetzlich sind alle SIGGRAPH Papers in der ACM Digital Library downloadbar...
Benutzeravatar
dv
Beiträge: 51
Registriert: 15.09.2002, 17:46
Benutzertext: Ugauga.
Alter Benutzername: dv
Wohnort: Südamerikanischer Dschungel
Kontaktdaten:

Re: Imperfect Shadow Maps

Beitrag von dv »

Der Trick ist eben, dass diese Shadowmaps sehr billig sind, daher kann es hunderte geben. Sie sind imperfekt, weil sie die Szene approximiert zeichnen (mittels ein paar punktförmigen Samples). Mittels Push-Pull werden die Löcher in der Shadowmap gefüllt. Das Ganze ist zurzeit langsam, aber die Kosten sind i.A. fix, da primär von der Auflösung abhängig, daher sind ISMs für zukünftige Sachen sehr interessant.
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: Imperfect Shadow Maps

Beitrag von Lord Delvin »

dv hat geschrieben:Der Trick ist eben, dass diese Shadowmaps sehr billig sind, daher kann es hunderte geben. Sie sind imperfekt, weil sie die Szene approximiert zeichnen (mittels ein paar punktförmigen Samples). Mittels Push-Pull werden die Löcher in der Shadowmap gefüllt. Das Ganze ist zurzeit langsam, aber die Kosten sind i.A. fix, da primär von der Auflösung abhängig, daher sind ISMs für zukünftige Sachen sehr interessant.
:D
Das hab ich von Raytracing auch gedacht, man sieht mit welchem Erfolg...außerdem ist nicht zu übersehen, dass die Auflösung seit ein paar Jahren wieder ziemlich zunimmt. Ich mein als TFTs aufkamen, hatte man halt 1280x1024 und das ne weile, dann kamen die 1680er und jetzt sind wir grad bei 1920...das ist von knapp einem MP auf zwei immerhin eine Verdopplung. Und ich glaub nicht, dass es da aufhören wird...allerdings ist das Wachstum zugegebener Maßen wesentlich kleiner als das der Rechnzeit/s...nur das man halt bedenken muss, dass man sich, bis es tatsächlich zu dem Punkt kommt, wos sich lohnen würde, vielleicht schon was besseres ausgedacht hat.
Gruß
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
dv
Beiträge: 51
Registriert: 15.09.2002, 17:46
Benutzertext: Ugauga.
Alter Benutzername: dv
Wohnort: Südamerikanischer Dschungel
Kontaktdaten:

Re: Imperfect Shadow Maps

Beitrag von dv »

Die individuellen Techniken sind irrelevant. Der allgemeine Paradigmenwechsel hin zu Techniken im Screenspace ist das Wichtige. Und da ist der wesentlich langsamere Anstieg der Auflösungen nunmal ein Vorteil, von der Eleganz und Orthogonalität von Screenspace-basierten Methoden mal abgesehen.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4858
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Imperfect Shadow Maps

Beitrag von Schrompf »

Imperfect Shadow Maps arbeiten aber nicht im Screenspace, soweit ich das verstanden habe. Es skaliert also mit der Auflösung der ShadowMaps, aber nicht mit der Auflösung des Bildschirms. Ich muss mich damit aber nochmal detaillierter auseinandersetzen... die Ergebnisse sind jedenfalls optisch sehr beeindruckend, und eine simplifizierte Punktewolke einer Szene müsste man relativ einfach herstellen und verwalten können. Wenn man also mit nur einer Handvoll DrawCalls pro ShadowMap auskommt und viele ShadowMaps als Teilregionen eines großen Rendertargets erzeugt, läuft es am Ende auf DrawCall - SetViewport - DrawCall - SetViewport hinaus... damit könnte das tatsächlich machbar werden.

@Eike: Die ACM Digital Library will Registrierung und Geld haben, soweit ich das gesehen habe. Das würde ich nicht als "verfügbar" bezeichnen, sondern auf eine Stufe mit OpenDownload und Konsorten stellen: der Versuch, mit anderweitig frei verfügbaren Gütern Geld zu verdienen. Gut, dass die Autoren ihre Paper auch noch selbst zur Verfügung stellen...

[edit] Ok, nächstes Mal kommentiere ich wirklich erst, wenn ich das komplette Paper gelesen habe. Die Idee, einen Haufen Point Samples mittels VertexShader über viele Shadow Maps gleichzeitig zu verteilen finde ich genial. Allerdings läuft es am Ende dann immernoch auf die Verteilung von hunderten virtuellen Punktlichtern hinaus, was auch bedeutet, dass man pro Bildschirmpixel nachher hunderte von ShadowMap-Samples und dazugehörige Lichtberechnungen macht. Da ist es kein Wunder, dass all die Beispielszenen vorsichtshalber erstmal nur in 640x480 gerendert wurden.

Aber die Idee könnte man vielleicht auf räumlich ausgedehnte Lichtquellen anwenden. In kleinerem Rahmen dann, z.B. mit 64 Samples für eine Punktlichtquelle mit Volumen. Nur ist halt deren Aufsummierung dann immernoch ein Prozess mit 64 Samples aus 64 deutlich voneinander entfernten Stellen der ShadowMap - ich weiß nicht, ob mir das die weichen Schatten wert wären. Ganz zu schweigen davon, dass ich eigentlich am liebsten solche weichen Schatten nur für die Sonne haben wöllte. Und bei der liefe es auf AnzahlSamples * 2048er ShadowMaps hinaus... das geht nicht.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
dv
Beiträge: 51
Registriert: 15.09.2002, 17:46
Benutzertext: Ugauga.
Alter Benutzername: dv
Wohnort: Südamerikanischer Dschungel
Kontaktdaten:

Re: Imperfect Shadow Maps

Beitrag von dv »

Nicht pro pixel - pro Licht. Eines der Inspirationen zu ISM ist das Paper über Splatting Indirect Illumination. Da werden als Simulation für Indirect-Illumination-Bounces ja virtuelle Punktlichter erzeugt; jedes Licht feuert N Strahlen, und dort, wo sie auftreffen, gibts halt ein VPL. ISM löst das Problem der Schatten, indem diese kleinen, unvollständigen Shadowmaps für jedes VPL generiert werden. Die Fehler der Shadowmaps werden versteckt, da ganz viele Shadowmaps aufsummiert werden. Und was Sonnenlicht angeht, gerade da will man ja harte Schatten. Ausser du meinst Sonnenlicht durch eine Wolkendecke, da sind sie wieder weich, wegen dem Scattering.
MadMax
Beiträge: 59
Registriert: 24.01.2003, 13:31
Kontaktdaten:

Re: Imperfect Shadow Maps

Beitrag von MadMax »

http://www.vis.uni-stuttgart.de/~dachsb ... tions.html
Einer der Autoren des Papers. Da ist im übrigen auch das Splatting Indirect Illumination paper.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4858
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Imperfect Shadow Maps

Beitrag von Schrompf »

dv hat geschrieben:Nicht pro pixel - pro Licht. Eines der Inspirationen zu ISM ist das Paper über Splatting Indirect Illumination. Da werden als Simulation für Indirect-Illumination-Bounces ja virtuelle Punktlichter erzeugt; jedes Licht feuert N Strahlen, und dort, wo sie auftreffen, gibts halt ein VPL. ISM löst das Problem der Schatten, indem diese kleinen, unvollständigen Shadowmaps für jedes VPL generiert werden. Die Fehler der Shadowmaps werden versteckt, da ganz viele Shadowmaps aufsummiert werden.
Ahso, also quasi tausend Deferred VPLs :-) Dann macht auch die Seitenbemerkung Sinn, wo die Autoren auf Blöcke im GBuffer verweisen - die haben wohl schlicht einen 4x4-Downsample benutzt und die indirekte Beleuchtung dann in der auflösungsreduzierten Szene gerendert.
Und was Sonnenlicht angeht, gerade da will man ja harte Schatten. Ausser du meinst Sonnenlicht durch eine Wolkendecke, da sind sie wieder weich, wegen dem Scattering.
Das ist jetzt zwar ein anderes Thema, aber: nein, ich will auch weiche Sonnenschatten. Menschen werfen harte Schatten, aber bereits ein zweistöckiges Haus reicht, um zunehmend weichere Schattenkanten zu werfen. Und in meinem Fall, wo auch noch 100m hohe Klippen Schatten werfen, müsste sich der Hell-Dunkel-Übergang dann schon über einen Meter Boden erstrecken.

Bye, Thomas
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Antworten