shader verysimple: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Code)
K (Code: GLSlang Quelltext war als C++ markiert.)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 13: Zeile 13:
 
==Bilder==
 
==Bilder==
 
{|
 
{|
|[[Bild:Beispielbild.jpg|framed|Bildbeschreibung]]
+
|''Kein Bild vorhanden''
 
|-
 
|-
|[[Bild:Beispielbild.jpg|framed|Bildbeschreibung]]
 
 
|}
 
|}
  
Zeile 28: Zeile 27:
 
==Code==
 
==Code==
 
Vertex Shader
 
Vertex Shader
<cpp>
+
<source lang="glsl">
 
void main(void)
 
void main(void)
 
{
 
{
Zeile 34: Zeile 33:
 
   gl_Position = ftransform();
 
   gl_Position = ftransform();
 
}
 
}
</cpp>
+
</source>
  
 
Fragment Shader
 
Fragment Shader
<cpp>
+
<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);
 
}
 
}
</cpp>
+
</source>

Aktuelle Version vom 10. März 2009, 21:49 Uhr

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);
}