shader texturing(ARB): Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Ein Texturshader in asm)
(kein Unterschied)

Version vom 14. März 2009, 18:09 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. Ausserdem 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