playcanvas
Version:
PlayCanvas WebGL game engine
3 lines (2 loc) • 992 B
TypeScript
declare const _default: "\n\nvar<private> dBlendModeFogFactor : f32 = 1.0;\n\n#if (FOG != NONE)\n uniform fog_color : vec3f;\n \n #if (FOG == LINEAR)\n uniform fog_start : f32;\n uniform fog_end : f32;\n #else\n uniform fog_density : f32;\n #endif\n#endif\n\nfn getFogFactor() -> f32 {\n\n let depth = pcPosition.z / pcPosition.w;\n\n var fogFactor : f32 = 0.0;\n\n #if (FOG == LINEAR)\n fogFactor = (uniform.fog_end - depth) / (uniform.fog_end - uniform.fog_start);\n #elif (FOG == EXP)\n fogFactor = exp(-depth * uniform.fog_density);\n #elif (FOG == EXP2)\n fogFactor = exp(-depth * depth * uniform.fog_density * uniform.fog_density);\n #endif\n\n return clamp(fogFactor, 0.0, 1.0);\n}\n\nfn addFog(color : vec3f) -> vec3f {\n #if (FOG != NONE)\n return mix(uniform.fog_color * dBlendModeFogFactor, color, getFogFactor());\n #else\n return color;\n #endif\n}\n";
export default _default;