shader texturing(ARB)

Aus DGL Wiki
Version vom 14. März 2009, 18:09 Uhr von Dj3hut1 (Diskussion | Beiträge) (Ein Texturshader in asm)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
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. 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