shader verysimple: Unterschied zwischen den Versionen
Aus DGL Wiki
(→Code) |
Flo (Diskussion | Beiträge) K (→Code: GLSlang Quelltext war als C++ markiert.) |
||
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 13: | Zeile 13: | ||
==Bilder== | ==Bilder== | ||
{| | {| | ||
− | | | + | |''Kein Bild vorhanden'' |
|- | |- | ||
− | |||
|} | |} | ||
Zeile 28: | Zeile 27: | ||
==Code== | ==Code== | ||
Vertex Shader | Vertex Shader | ||
− | < | + | <source lang="glsl"> |
void main(void) | void main(void) | ||
{ | { | ||
Zeile 34: | Zeile 33: | ||
gl_Position = ftransform(); | gl_Position = ftransform(); | ||
} | } | ||
− | </ | + | </source> |
Fragment Shader | Fragment Shader | ||
− | < | + | <source lang="glsl"> |
uniform sampler2D Texture0; | uniform sampler2D Texture0; | ||
Zeile 44: | Zeile 43: | ||
gl_FragColor = texture2D(Texture0, gl_TexCoord[0].xy); | gl_FragColor = texture2D(Texture0, gl_TexCoord[0].xy); | ||
} | } | ||
− | </ | + | </source> |
Aktuelle Version vom 10. März 2009, 21:49 Uhr
Inhaltsverzeichnis
verysimple
Zurück zur Shadersammlung
Beschreibung | Autor | Version |
---|---|---|
sehr einfacher Shader, welcher eine Textur an Flächen bindet. | damadmax | 0.1 |
Bilder
Kein Bild vorhanden |
Ich bin mir nicht sicher ob ein einfaches texturiertes Quad als bildliches Beispiel ausreicht?.
Beschreibung
Der Shader ist sehr einfach gehalten. Im Vertex Shader wird lediglich die Standard Transformation durchgeführt und die Texturkoordinate für den Fragment Shader ausgelesen. Der Fragment Shader bannt diesen Texel über einen Lookup in der gebundenden Textur in den Framebuffer.
Besondere Vorraussetzungen
keine
Code
Vertex Shader
void main(void)
{
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_Position = ftransform();
}
Fragment Shader
uniform sampler2D Texture0;
void main(void)
{
gl_FragColor = texture2D(Texture0, gl_TexCoord[0].xy);
}