uniform sampler2D bgl_DepthTexture;
uniform sampler2D bgl_RenderedTexture;

vec2 texCoord = vec2(gl_TexCoord[0]).st;

const float near = 0.1;
const float far = 3;
const vec4 fogcolor = vec4(0.2, 0.5, 0.5, 0.0);

void main(void)
{
vec4 fog;
fog =(2.0 * near) / (far + near - texture2D(bgl_DepthTexture,texCoord) * (far - near));

gl_FragColor.rgb = mix(texture2D(bgl_RenderedTexture,texCoord),fogcolor, fog).rgb;
gl_FragColor.a = 1.0;
}