!!ARBvp1.0
ATTRIB pos = vertex.position;
PARAM mat[4] = { state.matrix.mvp };
PARAM mat2[4] = { state.matrix.program[0] };
OUTPUT opos = result.position;
TEMP temp,temp2;
TEMP modpos;

#calculate output position

MUL modpos, pos, {1,-0.8,1,1};

DP4 opos.x, modpos, mat[0];
DP4 opos.y, modpos, mat[1];
DP4 opos.z, modpos, mat[2];
DP4 opos.w, modpos, mat[3];

DP4 result.fogcoord.x, pos, mat[2];
MOV result.color, vertex.color;

#calculate texture coords
MAD result.texcoord[0], pos.xzyw, program.env[12], program.env[11];		#main texture
MUL result.texcoord[1], pos.xzyw, program.env[10];						#shade texture
MAD result.texcoord[2], pos.xzyw, program.env[14], program.env[13];		#detail texture
MOV result.texcoord[2].z, pos.y;
MUL result.texcoord[3], pos.xzyw, program.env[10];						#info texture
END
