1 #ifndef INCLUDED_COMMON_FOG
2 #define INCLUDED_COMMON_FOG
4 vec3
applyFog(vec3 color
, vec3 fogColor
, vec2 fogParams
)
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
);
24 #endif // INCLUDED_COMMON_FOG