// Pass 1 (compute linear z): vertex program.
void main 
(
	float4 pObj       : POSITION,
        out float4 pClip  : POSITION,
        out float zLinear : TEXCOORD0,
        uniform float4x4 mvp,
        uniform float4x4 mv
)
{
    pClip = mul(mvp, pObj);      // obj -> clip space
    zLinear = mul(mv, pObj).z;   // z in eye space
}
