playcanvas
Version:
PlayCanvas WebGL game engine
33 lines (31 loc) • 751 B
JavaScript
var fogPS = `
float dBlendModeFogFactor = 1.0;
uniform vec3 fog_color;
uniform float fog_start;
uniform float fog_end;
uniform float fog_density;
float getFogFactor() {
float depth = gl_FragCoord.z / gl_FragCoord.w;
float fogFactor = 0.0;
fogFactor = (fog_end - depth) / (fog_end - fog_start);
fogFactor = exp(-depth * fog_density);
fogFactor = exp(-depth * depth * fog_density * fog_density);
return clamp(fogFactor, 0.0, 1.0);
}
vec3 addFog(vec3 color) {
return mix(fog_color * dBlendModeFogFactor, color, getFogFactor());
return color;
}
`;
export { fogPS as default };