shader texturing(ARB)

Aus DGL Wiki
Wechseln zu: Navigation, Suche

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