hi ! i tried to set up vertex_program lighting for the first time, and as i am very much a beginner in vertex program, i took slug production’s tutorial to start :
!!ARBvp1.0\
\
This is a sample ARB Vertex Program
\
ATTRIB iPos = vertex.position;
ATTRIB iColor = vertex.color;\
We need 2 texture units to perform the PPL
ATTRIB iTex0 = vertex.texcoord[0];
ATTRIB iTex1 = vertex.texcoord[1];
PARAM mvp[4] = { state.matrix.mvp };
PARAM lightpos = program.env[69];
PARAM Radiusfactor = program.env[70];
TEMP tmp;
OUTPUT oPos = result.position;
OUTPUT oColor = result.color;
OUTPUT oTex0 = result.texcoord[0];
OUTPUT oTex1 = result.texcoord[1];\
This just does out vertex transform by the modelview projection matrix
DP4 oPos.x, mvp[0], iPos;
DP4 oPos.y, mvp[1], iPos;
DP4 oPos.z, mvp[2], iPos;
DP4 oPos.w, mvp[3], iPos;\
Write our color out directly
MOV oColor, iColor;\
Temp Vector from the Light to the Vertex
SUB tmp, vertex.position,lightpos;\
Scale the light
MUL oTex0, tmp, Radiusfactor;\
Write out the 1 texture coordinates directly
MOV oTex1, iTex1;
END
the vertex program works fine : when i render only the lighting pass, it is correct; the same with only the base textured rendering… but when i render both, zfighting artifacts appear
i tried to put some polygon offset on the second pass, and part of the artifact disapeared, but some are still here…
i checked the old post and found the OPTION thingy, but it didnt work for me (the sphere on which i was applying my vp became transparent)
here is a shot of the problem : http://www.ece.fr/~miffre/public/tmp.jpg
if anyone can help, thanks in advance
wizzo