playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
51 lines (49 loc) • 1.12 kB
JavaScript
var fog_default = `
var<private> dBlendModeFogFactor : f32 = 1.0;
uniform fog_color : vec3f;
uniform fog_start : f32;
uniform fog_end : f32;
uniform fog_density : f32;
fn getFogFactor(depth: f32) -> f32 {
fn getFogFactor() -> f32 {
let depth = pcPosition.z / pcPosition.w;
return evaluateFogFactorLinear(depth, uniform.fog_start, uniform.fog_end);
return evaluateFogFactorExp(depth, uniform.fog_density);
return evaluateFogFactorExp2(depth, uniform.fog_density);
return 1.0;
}
fn addFog(color: vec3f, depth: f32) -> vec3f {
return mix(uniform.fog_color * dBlendModeFogFactor, color, getFogFactor(depth));
return color;
}
fn addFog(color: vec3f) -> vec3f {
return mix(uniform.fog_color * dBlendModeFogFactor, color, getFogFactor());
return color;
}
`;
export {
fog_default as default
};