declare const _default: "\n\n#if STD_OPACITY_DITHER == BAYER8\n    #include \"bayerPS\"\n#endif\n\nuniform blueNoiseJitter: vec4f;\n\n#if STD_OPACITY_DITHER == BLUENOISE\n    var blueNoiseTex32 : texture_2d<f32>;\n    var blueNoiseTex32Sampler : sampler;\n#endif\n\nfn opacityDither(alpha: f32, id: f32) {\n    #if STD_OPACITY_DITHER == BAYER8\n\n        var noise: f32 = bayer8(floor((pcPosition.xy + uniform.blueNoiseJitter.xy + id) % vec2f(8.0))) / 64.0;\n\n    #else\n\n        #if STD_OPACITY_DITHER == BLUENOISE\n            var uv = fract(pcPosition.xy / 32.0 + uniform.blueNoiseJitter.xy + id);\n            var noise: f32 = textureSampleLevel(blueNoiseTex32, blueNoiseTex32Sampler, uv, 0.0).y;\n        #endif\n\n        #if STD_OPACITY_DITHER == IGNNOISE\n            // based on https://www.iryoku.com/next-generation-post-processing-in-call-of-duty-advanced-warfare/\n            var magic = vec3f(0.06711056, 0.00583715, 52.9829189);\n            var noise: f32 = fract(magic.z * fract(dot(pcPosition.xy + uniform.blueNoiseJitter.xy + id, magic.xy)));\n        #endif\n\n    #endif\n\n    // convert the noise to linear space, as that is specified in sRGB space (stores perceptual values)\n    noise = pow(noise, 2.2);\n\n    if (alpha < noise) {\n        discard;\n    }\n}\n";
export default _default;
