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;
