Передайте все, что хотите, в отличии от вершинного шейдера.
значение Z, доступное в фрагментном шейдере, прошло нормализацию на основе вашего z-near / z-far (из матрицы проекции) и DepthRange. Так что это не то, что вам нужно. Технически, вы можете попытаться восстановить его, вернув различные операции OpenGL на Z, которые происходят после вершинного шейдера, но это, вероятно, больше проблем (начиная с того факта, что обращение матрицы проекции является нелинейным), чем просто передать то, что вы хотите Точно.
В качестве примечания, Z, с которым вы вычислили бы gl_ModelViewMatrix * gl_Vertex
, это Z с точки зрения, а не плоскость, близкая к Z.