2
ATTRIB pos = vertex.position;
3
PARAM mat[4] = { state.matrix.mvp };
4
PARAM mat2[4] = { state.matrix.program[0] };
5
OUTPUT opos = result.position;
8
#calculate output position
9
DP4 opos.x, pos, mat[0];
10
DP4 opos.y, pos, mat[1];
11
DP4 opos.z, pos, mat[2];
12
DP4 opos.w, pos, mat[3];
14
DP4 result.fogcoord.x, pos, mat[2];
15
MOV result.color, vertex.color;
17
#calculate texture coords
18
MOV result.texcoord[0], vertex.texcoord[0];
19
MUL result.texcoord[1], pos.xzyw, program.env[10]; #shade texture
21
#calculate shadow texture coords
23
DP4 temp.x, pos, mat2[0];
24
DP4 temp.y, pos, mat2[1];
27
ADD temp2,temp2,program.env[17];
30
ADD temp2,temp2,program.env[18];
31
MAD result.texcoord[2], temp, temp2,program.env[16];
33
DP4 result.texcoord[2].z, pos, mat2[2];
34
DP4 result.texcoord[2].w, pos, mat2[3];