JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=5a5f96166d46731632c1351904a9cbc1Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

ZBuffer Mask - Anwendungstutorial

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Tutorials
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 13.10.2006, 13:30    Titel: ZBuffer Mask - Anwendungstutorial Antworten mit Zitat

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 Wink) -> 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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dr. Best
Senior JLI'ler


Alter: 34
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 13.10.2006, 16:37    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 13.10.2006, 16:51    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 13.10.2006, 18:29    Titel: Antworten mit Zitat

Cool, hört sich(/sieht) gut an(/aus). Smile

Werd ich auf jeden Fall auch mal ausprobieren, wenn ich demnächst mal mein Framework auf aktuelle Techniken umstelle Cool


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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 13.10.2006, 20:09    Titel: Antworten mit Zitat

Die Maskierungstechnik ist dazu da ullscreen bloom zu vermeiden, kommt halt auf den angepeilten Stil an Wink

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 13.10.2006, 22:04    Titel: Antworten mit Zitat

Fallen hat Folgendes geschrieben:
Die Maskierungstechnik ist dazu da ullscreen bloom zu vermeiden, kommt halt auf den angepeilten Stil an Wink

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 Wink

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 Wink
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 13.10.2006, 22:12    Titel: Antworten mit Zitat

Ok, dann habe ichs nicht hier geschrieben ^^ Aber ist ja keine grosse Sache. Werde das gleich mal tun Smile

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 14.10.2006, 08:47    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 23.02.2007, 21:53    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Tutorials Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum