!!ARBvp1.0 PARAM mvp[4] = {state.matrix.mvp}; PARAM light = program.env[0]; TEMP temp; ADD temp, vertex.position, light; MAD temp, vertex.position.w, temp, -light; DP4 result.position.x, mvp[0], temp; DP4 result.position.y, mvp[1], temp; DP4 result.position.z, mvp[2], temp; DP4 result.position.w, mvp[3], temp; END