declare const _default: "\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\nuniform dBlendModeFogFactor : f32;\n\nfn getFogFactor() -> f32 {\n\n    // TODO: find a way to do this in WGSL, for now the fog is not working\n    // let depth = gl_FragCoord.z / gl_FragCoord.w;\n    let depth = 1.0;\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 * uniform.dBlendModeFogFactor, color, getFogFactor());\n    #else\n        return color;\n    #endif\n}\n";
export default _default;
