etqw-sdk/base/renderprogs/interaction/basic_ambient_vertex_fallba...

62 lines
1.7 KiB
PHP
Raw Normal View History

2008-05-29 00:00:00 +00:00
$ifndef instance
OPTION ARB_position_invariant;
$endif
TEMP bitangent;
TEMP R0, R1, R2;
$ifdef instance
TEMP _pos;
TEMP _nrm;
TEMP _tan;
DP4 _pos.x, vertex.texcoord[5], $positionAttrib;
DP4 _pos.y, vertex.texcoord[6], $positionAttrib;
DP4 _pos.z, vertex.texcoord[7], $positionAttrib;
MOV _pos.w, $positionAttrib.w;
DP3 _nrm.x, vertex.texcoord[5], $normalAttrib;
DP3 _nrm.y, vertex.texcoord[6], $normalAttrib;
DP3 _nrm.z, vertex.texcoord[7], $normalAttrib;
MOV result.texcoord[6].w, vertex.texcoord[2];
PARAM mvp[4] = { state.matrix.mvp };
OUTPUT oPos = result.position;
# Transform the vertex to clip coordinates.
DP4 oPos.x, mvp[0], _pos;
DP4 oPos.y, mvp[1], _pos;
DP4 oPos.z, mvp[2], _pos;
DP4 oPos.w, mvp[3], _pos;
$else
ATTRIB _pos = $positionAttrib;
$if !r_32ByteVtx
ATTRIB _nrm = $normalAttrib;
$else
TEMP _nrm;
MOV _nrm, $normalAttrib;
$endif
$endif
PARAM defaultTexCoord = { 0, 0.5, 0, 1 };
# textures 4 takes the base coordinates by the texture matrix
MOV result.texcoord[4], defaultTexCoord;
DP4 result.texcoord[4].x, $texCoordAttrib, $diffuseMatrix_s;
DP4 result.texcoord[4].y, $texCoordAttrib, $diffuseMatrix_t;
# generate the vertex color, which can be 1.0, color, or 1.0 - color
MAD result.color, $colorAttrib, $colorModulate, $colorAdd;
DP3 result.texcoord[5].x, $transposedModelMatrix_x, _nrm;
DP3 result.texcoord[5].y, $transposedModelMatrix_y, _nrm;
DP3 result.texcoord[5].z, $transposedModelMatrix_z, _nrm;
$if ( r_megaDrawMethod != 0 )
SUB R2, _pos, $viewOrigin;
DP3 R1.x, R2, R2;
RSQ R1.y, R1.x;
MUL R1.x, R1.y, R1.x;
MAD result.color.secondary, R1.x, $fogDepths.z, $fogDepths.w;
$endif