implement fog correctly

also some base work for edgemarking
This commit is contained in:
Arisotura
2019-05-25 13:43:06 +02:00
parent 7cdeb7fa4e
commit 478ca019da
3 changed files with 58 additions and 13 deletions

View File

@ -111,12 +111,9 @@ vec4 CalculateFog(float depth)
densityfrac = int(udepth & uint(0x1FFFF));
}
float density =
((uFogDensity[densityid] * float(0x20000-densityfrac)) +
(uFogDensity[densityid+1] * float(densityfrac))) / float(0x20000);
float density = mix(uFogDensity[densityid], uFogDensity[densityid+1], float(densityfrac)/131072.0);
return vec4(uFogColor.bgr,density);
return uFogColor * density;
return vec4(density, density, density, density);
}
void main()