!!ARBvp1.0 PARAM mvp[4] = { state.matrix.mvp }; PARAM local = program.local[0]; PARAM consts = { 2, 0, 0, 0 }; ATTRIB inPosition = vertex.position; ATTRIB inColor = vertex.color; ATTRIB inTexCoord = vertex.texcoord; OUTPUT outPosition = result.position; OUTPUT outColor = result.color; OUTPUT outTexCoord = result.texcoord; TEMP tmpPosition; ADD tmpPosition, inPosition, program.local[0]; DP4 outPosition.x, mvp[0], tmpPosition; # Transform the x component of the per-vertex position into clip-space DP4 outPosition.y, mvp[1], tmpPosition; # Transform the y component of the per-vertex position into clip-space DP4 outPosition.z, mvp[2], tmpPosition; # Transform the z component of the per-vertex position into clip-space DP4 outPosition.w, mvp[3], tmpPosition; # Transform the w component of the per-vertex position into clip-space MOV outColor, inColor; MOV outTexCoord, inTexCoord; END