Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 13.10.2006, 13:30 Titel: ZBuffer Mask - Anwendungstutorial |
|
|
Hier die Weiterführung vom ZBuffer Mask Tutorial, für all jene welche sich gefragt haben was genau denn das ganze bringt:
Wenn man den ganzen Bildschirmbereich als Testareal nimmt so kann man die daraus gewonnene Textur als wunderbare Maske nutzen um zB DepthOfField Effekte einzugrenzen (nur maskiertes wird geblurt).
Depth Of Field (DOF)
Dies hat den Vorteil das man im Gegensatz zu herkömmlichen DOF nicht die Szene mehrfach rendern muss (Layered oder Depthbased DOF) sondern den maskierten Bereich als Inputwert hat.
Maskierungstextur
Szene -> Szenentextur
Szenentextur um Faktor 0.25 Skalieren (Textur ist also 4x kleiner als das Orignal) und bluren -> Blurextur
Blurtextur mit Maskentextur multipliziert
Endszene mit DOF:
Bloom
Auch kann man mit dieser Technik das faken von HDRR (Bloom) verfeinern. "Shadow of the Colossus" (SotC) ein erfolgreiches PS2 Spiel nutzt auf eine etwas andere Art diese Technik.
SotC rendern zB weit entfernte Levelbereiche seperat von dem der restlichen Szene um dann diesen Bereich je nach Daten (Outdoor, Tageszeit, etc) einem Bloom Effekt zu unterziehen. Die Szene wird also theoretisch 2x gerendert (mit unterschiedlichen Near und Farclip Bereichen).
Der Vorteil an unserer Technik ist nun dass das Rendern der weit entfernten Bereiche weg fällt, indem man nur die Bereiche dem Bloomprozess unterziehen welche maskiert wurden:
Maskierungstextur
Szene -> Szenentextur
Szenentextur um Faktor 0.25 Skalieren (Textur ist also 4x kleiner als das Orignal) -> Bloomtextur
Bloomtextur mit Testtextur multiplizieren -> Bloomtextur
Bloomtextur bloomen (Technik kann sich ja jeder selbst herleiten ) -> Bloomtextur
Bloomtextur über Szenentextur legen (additiv oder negativ multiplikativ)
Im vergleich zum Fullscenebloom:
Und wie es in SotC aussieht:
mfg Mark
PS: Teile davon sind auch auf www.gamedev.de zu finden, unter anderem auch das erste Tutorial nur vom Leitder Seite umgeschrieben und mit einem konkreten Beispiel zum Lightshafting versehen (es gibt diverse Arten vom Lightshafting, über ZBuffer Masks geht es am schnellsten). _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Dr. Best Senior JLI'ler
Alter: 34 Anmeldedatum: 17.06.2004 Beiträge: 269 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 13.10.2006, 16:37 Titel: |
|
|
Gutes Tutorial. Ich werd mich glaub ich mal etwas intensiver mit dieser Technik beschäftigen, wenn ich mich den Postscreenshadern widme. Da müsste man die ZBuffer Mask dann ja hervorragend als Alphamaske verwenden können. Diese Technik müsste doch eigentlich auch brauchbar sein, wenn man realtime shadows ohne Pixel Shader realisieren möchte, oder? Aber ich glaube, das ist nicht gerade der optimale Anwendungsbereich dafür. |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 13.10.2006, 16:51 Titel: |
|
|
Nein RT Shadows macht man ganz anders ich glaube nicht das dir da diese Technik behilflich sein könnte, aber evtl findet sich ja etwas. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 13.10.2006, 18:29 Titel: |
|
|
Cool, hört sich(/sieht) gut an(/aus).
Werd ich auf jeden Fall auch mal ausprobieren, wenn ich demnächst mal mein Framework auf aktuelle Techniken umstelle
Ich weiß zwar nicht, wie Bloom konkret funktioniert, aber wäre mit deiner Technik auch ein Fullscene-Bloom möglich (wenn man vielleicht noch mehrere Maskierungstexturen verwendet)? _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 13.10.2006, 20:09 Titel: |
|
|
Die Maskierungstechnik ist dazu da ullscreen bloom zu vermeiden, kommt halt auf den angepeilten Stil an
Hatte ich nichtmal ein Tut zum Thema Bloom gemacht (Offtopic)? _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 13.10.2006, 22:04 Titel: |
|
|
Fallen hat Folgendes geschrieben: | Die Maskierungstechnik ist dazu da ullscreen bloom zu vermeiden, kommt halt auf den angepeilten Stil an |
Ach so, ich bin davon ausgegangen, dass es wiederum eine ganz andere Technik ist, die mit Bloom und HDRI überhaupt nichts zu tun hat.
Gründlich lesen sollte man können
Fallen hat Folgendes geschrieben: | Hatte ich nichtmal ein Tut zum Thema Bloom gemacht (Offtopic)? |
Hmm...falls ja, hab ich es versäumt, es durchzunehmen.
Du hast jedenfalls unter "Projects (general stuff)" eine Bloom-Demo, falls du das mit Tutorial meinst. Allerdings hast du ja auch mal ein Shader-Tut geschrieben, das zwar auf deiner Seite liegt, aber dort nirgendwo verlinkt ist _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 13.10.2006, 22:12 Titel: |
|
|
Ok, dann habe ichs nicht hier geschrieben ^^ Aber ist ja keine grosse Sache. Werde das gleich mal tun
Also evtl hast du mich falsch verstanden dieses Tut hier soll nur aufzeigen wozu genau man zum Beispiel diese maskierungstechnik nutzen kann, also was man mit der aus der Anwendung gewonnenen Textur feines anstellen kann.
mfg Mark _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 14.10.2006, 08:47 Titel: |
|
|
joah, das sieht auch schon sehr viel besser aus als das Fullscreen Bloom. Da ist es ja irgendwie einfach nur Heller, aber so, das nur das Fenster überstrahlt, das sieht geil aus. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 23.02.2007, 21:53 Titel: |
|
|
Ich wollte zum DOF Effekt noch etwas anmerken:
Um einen weicheren übergang zu bekommen lohnt es sich die Maskierungstextur auch zu bluren, dies hat folgende Nebeneffekte:
- kein aprupter Wechsel von fokusiert zu nicht fokusiert
- filigrane Elemente wie zB Blätter oder Zaun/Gitter Bereiche werden besser erreicht
mfg Mark _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
|