#ifdef OPENGL32
in vec4 position;
out float fogFactor;
#else
attribute vec4 position;
varying float fogFactor;
#endif


vec4 overridePosition(in vec4 position);

void main()
{
    vec4 clipPos = trit_mvProj * position;

    vec4 vEye = clipPos * trit_inverseProjection;
    float fogExponent = length(vEye.xyz) * trit_fogDensity;
    fogFactor = clamp(exp(-(fogExponent * fogExponent)), 0.0, 1.0);

    gl_Position = overridePosition(clipPos);
}