1
0
Fork 0

Shaders/include_fog.frag: better fix for the common fog function

Signed-off-by: Emilian Huminiuc <emilianh@gmail.com>
This commit is contained in:
Emilian Huminiuc 2012-03-15 21:06:45 +02:00
parent abce54aa2a
commit 4af61aba47

View file

@ -6,7 +6,7 @@ vec3 fog_Func(vec3 color, int type)
//if (type == 0){ //if (type == 0){
const float LOG2 = 1.442695; const float LOG2 = 1.442695;
//float fogCoord =length(PointPos); //float fogCoord =length(PointPos);
float fogCoord = gl_FragCoord.z / gl_FragCoord.w; float fogCoord = gl_ProjectionMatrix[3].z/(gl_FragCoord.z * -2.0 + 1.0 - gl_ProjectionMatrix[2].z);
float fogFactor = exp2(-gl_Fog.density * gl_Fog.density * fogCoord * fogCoord * LOG2); float fogFactor = exp2(-gl_Fog.density * gl_Fog.density * fogCoord * fogCoord * LOG2);
if(gl_Fog.density == 1.0) if(gl_Fog.density == 1.0)