Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 08:51

Foren-Übersicht » Programmierung » Shader
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Shaderwasser in 2D
BeitragVerfasst: Mo Jan 22, 2007 16:37 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 25, 2005 16:00
Beiträge: 189
Programmiersprache: Java, C#
Hi.

Zuerst mal ein Bild:
Bild


Das Wasser auf der rechten Seite würd ich gern mit schönem, animierten Shaderwasser inklusive Reflektionen und Refraktionen ersetzen (bei den Reflektionen gibts natürlich die einschränkung das nur das was oberhalb des Wassers is reflektiert, aber das is ja erstma egal). Später soll das ganze erweitert werden, sodass auch Steine im Wasser sein können die umspült werden, usw. Und ums noch ein bisschen schwieriger zu machen - das ganze soll mit möglichst wenigen Texturen funktionieren (also möglichst keine Bump- / Height- / Normalmaps).

Derzeit hängt ich schon an der Animation.
Auf meiner Suche hab ich bisher ein gutes Beispiel im Rendermonkey gefunden, wo das ganze mit 3D Perlin Noise umgesetzt wurde. Dummerweise wurden für die Reflektionen ne Cubemap verwendet, die als Texturkoordinaten nen
3-Komponenten-Vektor benutzt. Das ganze lässt sich damit leider nicht umsetzen, da ich meine Reflektion in einer 2D-Textur vorliegen hab, die nur 2 Texturkoordinaten braucht. Ohne dritte Komponente sieht das Wasser aber irgendwie komisch aus...


Ich habe keine Beispiele oder Tutorials gefunden die mir weiter helfen könnten, deswegen frag ich einfach mal euch.
Ich bin eigentlich dankbar für alles, Tipps (wo ich suchen soll oder Ideen wie ihr das realisieren würdet), Links, Beispielsources, usw.


cya und schonma Danke im Vorraus,
Deathball


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 29, 2007 18:09 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 25, 2005 16:00
Beiträge: 189
Programmiersprache: Java, C#
Fragen wir mal anders - kann ich überhaupt durch Veränderung der Texturkoordinaten den Eindruck entstehen lassen das einzelne Pixel eine unterschiedliche Höhe haben oder muss ich auf eine Lösung zurück greifen die auf Vertizes (soll der Plural von Vertex sein :wink: ) aufbaut?
(damit mein ich dann ein "Netz", das das Wasser simuliert)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 29, 2007 18:54 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Warum nimmst du nicht einfach eine Cubemap mit einer Himmeltextur. Dann sieht man schön den Himmel, wie er sich im Wasser spiegelt. Und dann noch ein bisschen Brechung des unter der Wassoberfläche liegenden und voilà...
Oder versteh ich dein Problem falsch?

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 29, 2007 18:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
Ja, kannst du, das Schlagwort lautet "Parallaxmapping" (einfach mal nach suchen)

_________________
Bevor du definierst, was etwas ist, versichere dich seiner Existenz.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 30, 2007 15:54 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Tomok hat geschrieben:
Ja, kannst du, das Schlagwort lautet "Parallaxmapping" (einfach mal nach suchen)


Parallaxmapping ist in dem Fall Blödsinn IMHO. Parallaxmapping braucht viel Performance. In dem Fall sollte eine Normalmap eigentlich Reichen.

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 30, 2007 20:35 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Ich würde nichts pauschal als "Blödsinn" bezeichnen, es kommt immer auf die Implementierung und vor allem die Optimierungen drauf an, wie das Verhältnis Performance zu Grafikqualität rüberkommt...

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 28, 2007 17:04 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 25, 2005 16:00
Beiträge: 189
Programmiersprache: Java, C#
Danke erstmal für eure Tipps - kommt zwar spät, aber aus irgendeinem Grund wollte ich noch mit meinem Dankespost warten und hab ihn dann völlig vergessen :oops:

So, zurück zu meinem Problem:
Nach längerer Beschäftigungszeit mit dem Problem (allerdings mit Pausen zwischen drin) habe ich beschlossen - das Parallax und Bump mapping lässt du erstmal außen vor :wink:

Derzeit bräuchte ich glaube ich etwas Nachhilfe bei den Grundlagen fürchte ich. Beim googeln habe ich folgendes Zitat gefunden:

Zitat:
du/dv normal maps
du/dv normal map are almost the same like standard normal maps. They are only red and green, this allows us to distort the texture coordinates of the reflection and refraction texture in the s and t directions by adding the du/dv normal map.


Ok, DU/DV-Normalmaps sind derzeit für mich erstmal eines: Schön bunt :)

Kann mir jemand erklären wie ich DU/DV-Normalmaps benutze?
Einfaches Multiplizieren mit den Texturkoordinaten oder simples addieren ergibt für mich nämlich nicht so viel Sinn und ich habe jetzt noch nichts gefunden was einfach erklärt was man mit DU/DV-Normalmaps macht.



cya und schonma Danke,
Deathball


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 28, 2007 21:35 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 27, 2005 12:44
Beiträge: 393
Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Hallo,

ich könnte mir vorstellen, dass die du/dv Normalmap z.B. nur die x- und y-Werte der Normalen abspeichert.
Den z-Wert bekommt man dann automatisch, da jede Normale Länge 1 hat.

Viele Grüße
dj3hut1


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 28, 2007 22:32 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Ahhh, Secret of Mana style, nice =)

Hab ein interessanten artikel dazu gefunden:

http://www.bonzaisoftware.com/water_tut.html

Hat den nicht Sascha Willems nen GLSL wasser demo mal gemacht,
schau mal im forum nach, ich meine da gibts was.

Und tool um normal maps zu erstellen gibts auch ;)
siehe: viewtopic.php?t=5750


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 29, 2007 19:15 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 25, 2005 16:00
Beiträge: 189
Programmiersprache: Java, C#
Erstma thx für die Posts.

Finalspace hat geschrieben:
Ahhh, Secret of Mana style, nice =)

:)



So, zu http://www.bonzaisoftware.com/water_tut.html - die Site kenn ich, da is der quote von - nur helfen tut sie mir irgendwie nicht :(


Zum Normalmap erstellen - darüber mach ich mir derzeit noch gar keine Gedanken ;)


zu Sacha's Demo: Die die ich gefunden hab benutzt Cubemaps, auf die ich eigentlich verzichten wollte...



So, ich bin jetzt nochma nen Schritt zurück gegangen.
Normalmaps benutzt man ja zum Bump-Mapping. Beim Bump-Mapping entsteht der 3 dimensionale Eindruck dadurch das die Lichtintensität über der Textur variert (aufgrund der unterschiedlichen Normalen, die ja in der Normalmap gespeichert werden).
Diese Technik kann ja in meinem Fall gar nicht funktionieren, da ich ja gar kein Per-Pixel-Lightning drin hab.
Ergo ist es derzeit sinnlos sich über Normalmaps und deren Derivate Gedanken zu machen, da sie ja zunächst alle mal über die gleiche Technik funktionieren - nämlich mit Licht, oder?


edit: es sei denn mein Lichtstrahl ist nur imaginär und wird nur aufs Wasser angewand...
Würd ich jetzt mal so sagen...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 13, 2007 15:47 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 25, 2005 16:00
Beiträge: 189
Programmiersprache: Java, C#
Sodele. Nach langem suchen hat endlich dieser Artikel hier Licht ins Dunkel der DUDV-Maps gebracht. :)


Leider ist das Resultat nicht wirklich schön. Um genau zu sein sieht es Wasser noch nicht mal im entferntesten ähnlich. :(
Ich wüsste jetzt aber nicht was man großartig anders machen könnte damit es eher nach Wasser aussieht.
(imho sieht das ganze einfach zu flach aus um als Wasser erkannt zu werden).



Bild

Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 13, 2007 23:30 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Gib im doch mal noch einen kleinen blauen Touch. Vielleicht kommen dadurch die Caustics besser raus.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 14, 2007 09:20 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Poste mal die benutzen Texturen für das Wasser vielleicht musste einfach nur bessere texturen benutzen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 16, 2007 18:27 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 25, 2005 16:00
Beiträge: 189
Programmiersprache: Java, C#
So, hab jetzt mal die Wassertextur ausgewechselt - bringt aber relativ wenig, genau wie das Wasser blauer zu machen :(

Bild

Bild


zur Wassertextur an sich - eigentlich benutz ich ganz normale Wassertexturen...

z.B.:
Bild
(gehört zum 2. Screenshot)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ] 
Foren-Übersicht » Programmierung » Shader


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]