!!ARBvp1.0 ATTRIB iColor = vertex.color; ATTRIB iCoord = vertex.texcoord; ATTRIB iPos = vertex.position; ATTRIB iNormal = vertex.normal; OUTPUT oColor = result.color; OUTPUT oCoord = result.texcoord; OUTPUT oPos = result.position; # standard stuff .... PARAM mvp[4] = { state.matrix.mvp }; DP4 oPos.x, mvp[0], iPos; DP4 oPos.y, mvp[1], iPos; DP4 oPos.z, mvp[2], iPos; DP4 oPos.w, mvp[3], iPos; # vertex position in eye space is used to colorize PARAM mvinv[4] = { state.matrix.modelview.invtrans }; DP3 oColor.x, mvinv[0], iPos; DP3 oColor.y, mvinv[1], iPos; DP3 oColor.z, mvinv[2], iPos; MOV oCoord, iCoord ; END