Hi, i have a problem with concepts of perspective transformation.
There are a way to get back the z at view space after perspective transformation? I have the next code, about something related to a texture projection, but i need the view space depth, not the (0,1) clipped one:
modelViewMatrix.identity();
modelViewMatrix.look_at(lightPosition,lightPosition()+lightSpotDirection(), vec3(0.0f, 1.0f, 0.0f));
projectionMatrix.identity();
projectionMatrix.perspective(lightSpotCutOff(), 1.3333, Dmin, Dmax);
mul_mat4_mat4(projectionMatrix, modelViewMatrix,aux);
mul_mat4_mat4(scaleMatrix, aux, modelViewProjectionMatrix);
projectedVertex = modelViewProjectionMatrix * vertex;
/* perspective division /
projectedVertex /= projectedVertex.w;
/ now z clipped to 0 1*/
lightViewVertices[i].z = projectedVertex.z*(Dmax - Dmin)+Dmin;
/* and now? */
But the last “transformation” doesn’t works, i compare it to the operation, dot((vertexPosition - eyePosition), direction) and to the depth before projective transformation.
My “transformation” is based that after the scale matrix and perspective division (/=w) z is clipped to (0,1).
What i’m doing wrong?