PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [OpenGL]Suche Tipps zur GLSL Shader Implementierung


DaBrain
2007-06-08, 09:01:05
Nicht direkt für mich selbst, weil ich selber gar keine Ahnung habe,

Ein Freund von mir sucht eine gute Seite (englisch) die sich mit dem Thema GLSL und Shadern beschäftigt. Besonders Normal Mapping und Environment Mapping.

Weiss jemand da was, oder hat vielleicht sogar Lust selber ein bisschen zu helfen?

Danke schonmal im Vorraus. :)

1337Gast
2007-06-08, 10:20:26
Ich war schon selbst mal in dieser Situation, online konnte ich leider nichts vernünftiges finden. Die GLSL Tutorials die man so findet sind recht Oberflächlich, geben aber keinen vernünftigen Einstieg.

Dann habe ich mir das OpenGL Orange Book gekauft, es lohnt sich.

Und dann stellt sich mir zwangsläufig die Frage... warum fragt dein Freund nicht selber? ;)

DaBrain
2007-06-08, 12:23:31
Ich denke mal das tut er, aber nicht hier, sondern in englischen Foren. ;)

Es scheint auch ganz gut zu laufen bis jetzt, nur steckt da halt viel 'trial and error' drin. Was wahrscheinlich Zeitverschwendung ist, wenn man jemanden findet der sich damit auskennt und mal kurz drüber guckt. ;)

rotalever
2007-06-08, 14:25:30
Ich denke mal das tut er, aber nicht hier, sondern in englischen Foren. ;)

Es scheint auch ganz gut zu laufen bis jetzt, nur steckt da halt viel 'trial and error' drin. Was wahrscheinlich Zeitverschwendung ist, wenn man jemanden findet der sich damit auskennt und mal kurz drüber guckt. ;)
Wenn man erstmal das Grundgerüst der Sprache beherrscht, also Syntax, dann ist der Rest eh nur noch Theorie und hat nicht mehr viel mit GLSL zu tun. Normalmapping ist im Prinzip ein bisschen Mathematik, mehr auch nicht. Für so weitere Tricks scheint die GPU Gems Reihe oder vll. auch ShaderX ganz gut zu sein.

del_4901
2007-06-08, 15:54:13
Normal mapping ist einfaches per-Pixel Lightning, nur das man dafür nicht die interpolierte Vertexnomale nimmt, sondern die Normale aus einer Textur. (Object Space Normal Mapping)

Bei (Tangent Space Normal Mapping) ist die Textur einfach in die xy-Ebene gedreht. Um die richtige Normale zu bekommen, muss man diesen Wert noch auf das Polygon drehen.

Bei Enviroment Mapping mische ich den reflektiven Anteil einfach mit der Farbe des Pixels. Den reflektiven Anteil bekomme ich aus dem Reflektionsgesetz und einer speziell vorgerenderten Cube-Map.

DaBrain
2007-06-09, 11:45:44
Danke für die Antworten. Das Orangebook steht bei ihm schon auf der Liste. ;)

Irgendwelche generellen Tipps wenn ein Shader nur auf Nvidia Karten läuft?

rotalever
2007-06-10, 13:47:44
Danke für die Antworten. Das Orangebook steht bei ihm schon auf der Liste. ;)

Irgendwelche generellen Tipps wenn ein Shader nur auf Nvidia Karten läuft?
Der generelle Tip ist CGshader zu nutzen, da sie sowohl mit OpenGl und und DirectX funktionieren und zudem ein wunderbarer Compiler von Nvidia vorliegt, den sie auch für Linux bereitstellen. Die haben auch auf deren Seite ein paar PDFs für Einsteiger wo eigentlich alles drinsteht.