Gamestudio Links
Zorro Links
Newest Posts
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
Trading Journey
by howardR. 04/28/24 09:55
Zorro Trader GPT
by TipmyPip. 04/27/24 13:50
Data from CSV not parsed correctly
by jcl. 04/26/24 11:18
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (AndrewAMD, SBGuy), 987 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
PSSM #380168
08/13/11 22:29
08/13/11 22:29
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline OP
Expert
Slin  Offline OP
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Ich habe die letzten Tage damit zugebracht shadows.c zum laufen zu bekommen und hatte dabei mit mehreren Problemen zu kämpfen:

  • Es gibt mehrere modelle und map entities mit modellen und keine blöcke. Fast überall sind eigene shader drauf, auch gibt es wasser mit planaren reflektionen. Problem war, dass offenbar mehr oder weniger random irgendein shader oder so, je nachdem was grad sichtbar war für mat_stencil benutzt wurde, weshalb mal das ganze bild schwarz war, mal alles korrekt war und noch ein paar andere varianten. Die Lösung für mich war jetzt mat_stencil einen eigenen shader zuzuweisen der einfach nur die schatten rausgibt.
  • Auf der Suche nach der Lösung ist mir aufgefallen, dass bei render_stencil im Manual mehrfach der Begriff des Stencil Buffers genutzt wird, aber in falschem Kontext, oder zumindest irgendwie nicht schlüssig, wie zum Beispiel "Ist diesem Pointer eine Bitmap zugewiesen, wird der Inhalt des Stencil-Buffers nach dem Rendern in diese Bitmap kopiert und nicht über den Bildschirm gezeichnet". Ich habe eher den Eindruck, dass der Stencil Buffer so wie er gedacht ist, als Maske verwendet wird um dann einen Fullscreenquad maskiert in diese Textur zu rendern. Das hat mich erst etwas verwirrt und sollte meiner Meinung nach angepasst werden.
  • Liegt es an meinem eigenen Shader für mat_stencil oder werden die Schatten nicht vom Nebel beeinflusst? Ich habe den Nebel jetzt bei mir einfach mit in die vp_pssm.fx gepackt.
  • Ich habe einiges ausprobiert um die Schatten einigermaßen hübsch einzustellen, wirklich gelungen ist es mir allerdings nicht. Schön wäre eine Option die Schatten auf einen Teil von clip_far zu begrenzen, bei meinen Versuchen dies umzusetzen hat sich einiges sehr komisch verhalten. Überhaupt habe ich den Eindruck, dass die Matrizen noch irgendwie fehlerhaft sind, da ich eigentlich bei meinen Einstellungen eine deutlich bessere Qualität erwartet habe.
  • Wichtig wäre vor allem aber das Flackern an den Rändern zu minimieren, da gibt es die Möglichkeit, die Depthmapviews in einem Raster der Texelgröße zu halten.
  • Es wäre toll eine plug and play funktionalität zu haben um die Schatten in eigenen shadern zu nutzen ohne ein extra view und eine postprocessing stage zu benötigen.
  • Im Manual sollte erwähnt werden, dass man nach dem wechseln der Auflösung einen Frame warten muss um die Schatten neu zu aktivieren, ansonsten wird es bei mir extrem langsam.


Es gibt sicher noch mehr, aber mehr fällt mir grad noch nicht ein laugh.

Re: PSSM [Re: Slin] #380351
08/16/11 08:01
08/16/11 08:01
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Danke für das Feedback. Können Sie zu dem fehlerhaften mat_stencil, und zu dem Nebelproblem ein Beispiel hochladen? Im Source sehe ich nicht, was das bewirken könnte, aber ich kann dann der Sache nachgehen.

Der Stencil Buffer kann zwar in der Tat als Maske verwendet werden. Bei Stencil Schatten dient er aber als normaler Buffer, dessen Inhalt einfach auf den Screen gezeichnet wird. Das Handbuch ist hier korrekt. Die Wartezeit von 1 Frame stimmt allerdings - das wird noch ergänzt.

Artefakte sind ein bekanntes Problem bei PSSM Schatten und liegen nicht an fehlerhaften Matrizen. Zum Artefakt-Problem gibt es ein Tutorial von Microsoft, das sich mit dieser Problematik befasst und Ratschläge zur Optimierung gibt.


Re: PSSM [Re: jcl] #380353
08/16/11 08:20
08/16/11 08:20
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline OP
Expert
Slin  Offline OP
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Quote:

Danke für das Feedback. Können Sie zu dem fehlerhaften mat_stencil, und zu dem Nebelproblem ein Beispiel hochladen? Im Source sehe ich nicht, was das bewirken könnte, aber ich kann dann der Sache nachgehen.

Werde ich nach der Gamescom, nächste Woche machen.

Quote:

Der Stencil Buffer kann zwar in der Tat als Maske verwendet werden. Bei Stencil Schatten dient er aber als normaler Buffer, dessen Inhalt einfach auf den Screen gezeichnet wird.

Ich kenne es so, dass die Shadowvolumes gerendert werden und dabei Frontfaces den Stencil Buffer erhöhen und Backfaces verringern und überall wo der Stencil Buffer größer als 0 ist wird dann entweder ein Fullscreenquad mit Stencil Buffer als Maske gerendert oder auch die gesamte Szene ohne die Lichtquelle. Was Sie machen, ist jetzt, dass der Stencil Buffer nicht als Maske sondern als Textur fungiert mit Werten von 0 oder 1, die dann direkt über das Bild gelegt wird, oder wie kann ich das verstehen?

Quote:

Artefakte sind ein bekanntes Problem bei PSSM Schatten und liegen nicht an fehlerhaften Matrizen. Zum Artefakt-Problem gibt es ein Tutorial von Microsoft, das sich mit dieser Problematik befasst und Ratschläge zur Optimierung gibt.

Klar gibt es dazu einen Haufen Material, aber mit 4 Splits, relativ geringer Sichtweite und hoher Depthmap Auflösung von 2048 oder sogar 4096 erwarte ich eigentlich eine höhere Qualität, als die die ich erreiche, aber okay, vielleicht irre ich mich auch wirklich, da werde ich noch etwas mehr herumprobieren müssen, mir die Depthmaps genauer angucken usw.

Re: PSSM [Re: Slin] #380488
08/18/11 09:03
08/18/11 09:03
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Korrekt - der Stencil Buffer wird in eine 24-Bit Textur kopiert, die dann über das Bild gezeichnet wird. Sonst könnte man damit kein Postprocessing machen.

Was die Artefakte betrifft, so sind sie in unserer PSSM-Implementation weder schwächer noch stärker als in anderen Implementationen, zumindest habe ich keinen Unterschied festgestellt. Tatsächlich stammt die Implementation auch nicht von uns, sondern von einem publizierten PSSM Algorithmus, der auch in professionellen Spielen verwendet wird.


Moderated by  jcl, Nems, Spirit, Tobias 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1