shader texturing(ARB): Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Ein Texturshader in asm)
 
K (Ausserdem -> Außerdem)
 
Zeile 24: Zeile 24:
 
Für die Shader werden nur die Erweiterungen [[GL_ARB_fragment_program]] und [[GL_ARB_vertex_program]] benötigt.
 
Für die Shader werden nur die Erweiterungen [[GL_ARB_fragment_program]] und [[GL_ARB_vertex_program]] benötigt.
  
Es muss ein Texturbild geladen und [[glBindTexture | gebunden]] werden. Ausserdem sollte man pro Vertex eine gültige [[glTexCoord | Texturkoordinate ]] erzeugen.
+
Es muss ein Texturbild geladen und [[glBindTexture | gebunden]] werden. Außerdem sollte man pro Vertex eine gültige [[glTexCoord | Texturkoordinate ]] erzeugen.
  
 
==Code==
 
==Code==

Aktuelle Version vom 21. März 2012, 15:57 Uhr

Texturing

Zurück zur Shadersammlung

Beschreibung Autor Version
Einfache Texturierung eines Quads. dj3hut1 1.0

Bilder

Quad ohne Textur.
Quad mit Textur.

Beschreibung

Dieser Shader texturiert ein Quad.

Besondere Vorraussetzungen

Für die Shader werden nur die Erweiterungen GL_ARB_fragment_program und GL_ARB_vertex_program benötigt.

Es muss ein Texturbild geladen und gebunden werden. Außerdem sollte man pro Vertex eine gültige Texturkoordinate erzeugen.

Code

Vertexprogramm

texarb.vp

!!ARBvp1.0

ATTRIB iPos = vertex.position;

OUTPUT oPos = result.position;

PARAM mvp[4] = { state.matrix.mvp };

#transform vertex with mvp
DP4 oPos.x, iPos, mvp[0];
DP4 oPos.y, iPos, mvp[1];
DP4 oPos.z, iPos, mvp[2];
DP4 oPos.w, iPos, mvp[3];

#set texcoord for fragment program
MOV result.texcoord[0], vertex.texcoord[0];

END


Fragmentprogramm

texarb.fp

!!ARBfp1.0

#lookup texture
TEX result.color, fragment.texcoord[0], texture[0], 2D;

END