Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
LeeDiGer Super JLI'ler
Anmeldedatum: 31.08.2003 Beiträge: 366 Wohnort: Duisburg Medaillen: Keine
|
Verfasst am: 11.02.2008, 12:38 Titel: Pixelshader in Kombination mit Fog Renderstates? |
|
|
Kann man eigentlich mit Pixelshader gerenderte Objekte mit Nebeleffekte einsetzen?
Ich habe das Problem, dass bei aktiviertem Nebel alle Objekte automatisch die maximale Nebelfarbe direkt annehmen, egal wie die Distanz zur Kamera ist.
Ist es üblich, einfach die Fog Renderstates zu deaktivieren und im Pixelshader ein eigenes Nebelmodell zu entwickeln? _________________ Kein Rückzug! Kein Aufgeben! |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 11.02.2008, 12:43 Titel: |
|
|
Ohne viel Ahnung von Shadern zu haben:
Meiner Meinung nach, sind da dafür da, die FFP zu ersetzen, weil diese zu unflexibel ist. Und da die Tendenz ja ganz eindeutig nach "nur noch Shadern" geht, würde ich sagen, dass es gar keine schlechte Idee ist, den Nebel auch im Pixelshader zu berechnen und die FFP da weit raus zu halten. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 11.02.2008, 14:26 Titel: |
|
|
Ein eigenes Nebelmodell geht denke ich ohne Probleme mit nem Pixelshader. Üblich ist es denke ich nicht.
Ich würde lieber zuerst schauen, ob du nicht vielleicht falsche Einstellungen für die Fog-Renderstates hast. Die sollten idR. funktionieren und wenn ich mich recht erinnere, hab ich die auch schon mal erfolgreich zum Einsatz gebracht.
Ggf. bei den DirectX-Beispielen nachschauen. Dort sollte wohl auch ein Beispiel mit Nebel sein. _________________ 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: 11.02.2008, 19:08 Titel: |
|
|
Es ist schon üblich den Nebel im PixelShader/VertexShader zu berechnen
Vor allem da die FFP sowieso nur noch emuliert wird.
Wieso allerdings deine objekte trotz aktivierten PixelSahder UND Fog die Farbe des nebels annehmen ist schon unüblich. Renderst du denn nachdem du dein objekt mit dem PixelShader gerendert hast das objekt nochmal ohne PixelShader aber mit Fog? Dann kann es durchaus sein das du dieses Ergebniss hast. _________________ "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 |
|
|
LeeDiGer Super JLI'ler
Anmeldedatum: 31.08.2003 Beiträge: 366 Wohnort: Duisburg Medaillen: Keine
|
Verfasst am: 11.02.2008, 20:04 Titel: |
|
|
Ich muss mich da leicht korrigieren. Wenn ich nur den Vertexshader aktiviere, dann wird direkt die maximale Nebelfarbe eingesetzt. Wenn ich dann den Pixel Shader einbau, dann seh ich im warsten Sinne des Wortes schwarz.
Die Objekte rendere ich sicherlich nicht 2mal pro Frame
Ich hab jetzt nur den Renderstate für Nebel auf True gesetzt....und dabei kamen lauter pechschwarze Objekte bei raus....
Naja, hab jetzt auch keine Probleme mit, ein Nebelmodell per Hand in den Shader zu implementieren.... Hat mich halt nur gewundert, warum das so ist. Lichtquellen über FFP haben ja auch keine Probleme (im Sinne von schwarzen oder überbeleuchteten Objekten oder so mit Shader bereitet. _________________ Kein Rückzug! Kein Aufgeben! |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 11.02.2008, 20:18 Titel: |
|
|
Ich buin nicht ganz sicher wie das in der Kombination VertexShader+FFPEmulation aussieht, aber kann es sein das man im VertexShader nicht noch einige Daten wie die Tiefe zurückgeben muss aus dem dann erst der nebel berechnet werden kann?
Die Semantic dafür dürfte sein.
Hier findest du etwas mehr Semantics: http://msdn2.microsoft.com/en-us/library/bb509647(VS.85).aspx
Die :FOG Semantic bedeutet aber das du den Fog im VertexShader berechnen musst, ob dies nur die Tiefe sein muss oder sonst was, kA, dürfte aber im Netz zu finden sein.
http://randomchaosuk.blogspot.com/2007/07/shader-fog.html _________________ "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 |
|
|
|