#version 150 out float logz; uniform float z_near, z_far; const float C = 0.0001; float FC = 1. / log(z_far * C + 1.); void main(void) { vec4 pos = qgl_ftransform(); logz = log(pos.w * C + 1.) * FC; gl_Position = pos; }