Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. uniform float u_fogMaxDist;
  2. uniform float u_fogMinDist;
  3. uniform vec4 u_fogColor;
  4.  
  5. varying vec4 v_eyePos;
  6.  
  7. float computeLinearFogFactor()
  8. {
  9. float factor;
  10.  
  11. // Compute linear fog equation
  12. factor = (u_fogMaxDist - length(v_eyePos.xyz)) /
  13. (u_fogMaxDist - u_fogMinDist );
  14.  
  15. // Clamp in the [0,1] range
  16. factor = clamp( factor, 0.0, 1.0 );
  17.  
  18. return factor;
  19. }
  20.  
  21. vec4 getColorWithFog(vec4 baseColor)
  22. {
  23. float a = baseColor.a;
  24. float fogFactor = computeLinearFogFactor();
  25. vec4 fogColor = fogFactor * u_fogColor;
  26. vec4 c = baseColor * fogFactor + fogColor * (1.0 - fogFactor);
  27. c.a = a;
  28. return c;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement