declare const _default: "\n\n#ifndef DITHER_NONE\n    #include \"bayerPS\"\n    #include \"opacityDitherPS\"\n    varying id: f32;\n#endif\n\n#if defined(SHADOW_PASS) || defined(PICK_PASS) || defined(PREPASS_PASS)\n    uniform alphaClip: f32;\n#endif\n\n#ifdef PREPASS_PASS\n    varying vLinearDepth: f32;\n    #include \"floatAsUintPS\"\n#endif\n\n#if !defined(SHADOW_PASS) && !defined(PICK_PASS) && !defined(PREPASS_PASS)\n    uniform alphaClipForward: f32;\n#endif\n\nconst EXP4: half = exp(half(-4.0));\nconst INV_EXP4: half = half(1.0) / (half(1.0) - EXP4);\n\nfn normExp(x: half) -> half {\n    return (exp(x * half(-4.0)) - EXP4) * INV_EXP4;\n}\n\nvarying gaussianUV: half2;\nvarying gaussianColor: half4;\n\n#if defined(GSPLAT_UNIFIED_ID) && defined(PICK_PASS)\n    varying @interpolate(flat) vPickId: u32;\n#endif\n\n#ifdef PICK_PASS\n    #include \"pickPS\"\n#endif\n\n@fragment\nfn fragmentMain(input: FragmentInput) -> FragmentOutput {\n    var output: FragmentOutput;\n\n    let A: half = dot(gaussianUV, gaussianUV);\n    if (A > half(1.0)) {\n        discard;\n        return output;\n    }\n\n    // evaluate alpha\n    var alpha: half = normExp(A) * gaussianColor.a;\n\n    #if defined(SHADOW_PASS) || defined(PICK_PASS) || defined(PREPASS_PASS)\n        if (alpha < half(uniform.alphaClip)) {\n            discard;\n            return output;\n        }\n    #endif\n\n    #ifdef PICK_PASS\n\n        #ifdef GSPLAT_UNIFIED_ID\n            // Use component ID from work buffer (passed via varying)\n            output.color = encodePickOutput(vPickId);\n        #else\n            // Use standard meshInstanceId path\n            output.color = getPickOutput();\n        #endif\n        #ifdef DEPTH_PICK_PASS\n            output.color1 = getPickDepth();\n        #endif\n\n    #elif SHADOW_PASS\n\n        output.color = vec4f(0.0, 0.0, 0.0, 1.0);\n\n    #elif PREPASS_PASS\n\n        output.color = float2vec4(vLinearDepth);\n\n    #else\n\n        if (alpha < half(uniform.alphaClipForward)) {\n            discard;\n            return output;\n        }\n\n        #ifndef DITHER_NONE\n            opacityDither(f32(alpha), id * 0.013);\n        #endif\n\n        output.color = vec4f(vec3f(gaussianColor.xyz * alpha), f32(alpha));\n    #endif\n\n    return output;\n}";
export default _default;
