declare const _default: "\n#ifndef ENV_ATLAS\n    #define ENV_ATLAS\n    var texture_envAtlas: texture_2d<f32>;\n    var texture_envAtlasSampler: sampler;\n#endif\n\nvar texture_cubeMap: texture_cube<f32>;\nvar texture_cubeMapSampler: sampler;\nuniform material_reflectivity: f32;\n\nfn calcReflection(reflDir: vec3f, gloss: f32) -> vec3f {\n    let dir: vec3f = cubeMapProject(reflDir) * vec3f(-1.0, 1.0, 1.0);\n    let uv: vec2f = toSphericalUv(dir);\n\n    // calculate roughness level\n    let level: f32 = saturate(1.0 - gloss) * 5.0;\n    let ilevel: f32 = floor(level);\n    let flevel: f32 = level - ilevel;\n\n    let sharp: vec3f = {reflectionCubemapDecode}(textureSample(texture_cubeMap, texture_cubeMapSampler, dir));\n    let roughA: vec3f = {reflectionDecode}(textureSample(texture_envAtlas, texture_envAtlasSampler, mapRoughnessUv(uv, ilevel)));\n    let roughB: vec3f = {reflectionDecode}(textureSample(texture_envAtlas, texture_envAtlasSampler, mapRoughnessUv(uv, ilevel + 1.0)));\n\n    return processEnvironment(mix(sharp, mix(roughA, roughB, flevel), min(level, 1.0)));\n}\n\nfn addReflection(reflDir: vec3f, gloss: f32) {\n    dReflection = dReflection + vec4f(calcReflection(reflDir, gloss), uniform.material_reflectivity);\n}\n";
export default _default;
