shader texturing(ARB): Unterschied zwischen den Versionen
Aus DGL Wiki
(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. | + | 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
Inhaltsverzeichnis
Texturing
Zurück zur Shadersammlung
Beschreibung | Autor | Version |
---|---|---|
Einfache Texturierung eines Quads. | dj3hut1 | 1.0 |
Bilder
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