- program NeuerShader_vs;
- uses ARB_vertex_program;
- param
- lightPos : vec4;
- camPos : vec4;
- varying
- texcoord : vec4;
- lightVec : vec4;
- viewVec : vec4;
- var
- lVec : vec4;
- vVec : vec4;
- begin
- result.position := MatrixMult4(state.matrix.mvp,vertex.position);
- texcoord := vertex.texcoord[0];
- lVec := lightPos - vertex.position;
- lightVec.x := dot(vertex.texcoord[1], lVec);
- lightVec.y := dot(vertex.texcoord[2], lVec);
- lightVec.z := dot(vertex.texcoord[3], lVec);
- vVec := camPos - vertex.position;
- viewVec.x := dot(vertex.texcoord[1], vVec);
- viewVec.y := dot(vertex.texcoord[2], vVec);
- viewVec.z := dot(vertex.texcoord[3], vVec);
- end;