[i18n] Updated POT and PO files.
[0ad.git] / binaries / data / mods / public / shaders / glsl / common / fog.h
blob48b46cb5ec9bf46d2733b4194b29113959b63d9d
1 #ifndef INCLUDED_COMMON_FOG
2 #define INCLUDED_COMMON_FOG
4 vec3 applyFog(vec3 color, vec3 fogColor, vec2 fogParams)
6 #if USE_FOG
7 float density = fogParams.x;
8 float maxFog = fogParams.y;
10 const float LOG2 = 1.442695;
11 float z = gl_FragCoord.z / gl_FragCoord.w;
12 float fogFactor = exp2(-density * density * z * z * LOG2);
14 fogFactor = fogFactor * (1.0 - maxFog) + maxFog;
16 fogFactor = clamp(fogFactor, 0.0, 1.0);
18 return mix(fogColor, color, fogFactor);
19 #else
20 return color;
21 #endif
24 #endif // INCLUDED_COMMON_FOG