apply-fog.glsl.ts 434 B

12345678910111213
  1. export default `
  2. float fogDepth = length(vViewPosition);
  3. float fogFactor = smoothstep(uFogNear, uFogFar, fogDepth);
  4. float fogAlpha = (1.0 - fogFactor) * gl_FragColor.a;
  5. if (!uTransparentBackground) {
  6. gl_FragColor.rgb = mix(gl_FragColor.rgb, uFogColor, fogFactor);
  7. if (gl_FragColor.a < 1.0)
  8. gl_FragColor.a = fogAlpha;
  9. } else {
  10. float fogAlpha = (1.0 - fogFactor) * gl_FragColor.a;
  11. gl_FragColor.a = fogAlpha;
  12. }
  13. `;