Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uniform float u_fogMaxDist;
- uniform float u_fogMinDist;
- uniform vec4 u_fogColor;
- varying vec4 v_eyePos;
- float computeLinearFogFactor()
- {
- float factor;
- // Compute linear fog equation
- factor = (u_fogMaxDist - length(v_eyePos.xyz)) /
- (u_fogMaxDist - u_fogMinDist );
- // Clamp in the [0,1] range
- factor = clamp( factor, 0.0, 1.0 );
- return factor;
- }
- vec4 getColorWithFog(vec4 baseColor)
- {
- float a = baseColor.a;
- float fogFactor = computeLinearFogFactor();
- vec4 fogColor = fogFactor * u_fogColor;
- vec4 c = baseColor * fogFactor + fogColor * (1.0 - fogFactor);
- c.a = a;
- return c;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement