declare const _default: "\n#include \"gsplatPackingPS\"\n\nvar means_l: texture_2d<f32>;\nvar means_u: texture_2d<f32>;\nvar quats: texture_2d<f32>;\nvar scales: texture_2d<f32>;\nvar sh0: texture_2d<f32>;\nvar sh_labels: texture_2d<f32>;\n\nuniform numSplats: u32;\n\n#ifdef REORDER_V1\n    fn sigmoid(x: f32) -> f32 { return 1.0 / (1.0 + exp(-x)); }\n    fn vmin(v: vec3f) -> vec3f { return vec3f(min(min(v.x, v.y), v.z)); }\n    fn vmax(v: vec3f) -> vec3f { return vec3f(max(max(v.x, v.y), v.z)); }\n    fn resolve(m: vec3f, M: vec3f, v: vec3f) -> vec3f { return (mix(m, M, v) - vmin(m)) / (vmax(M) - vmin(m)); }\n\n    uniform scalesMins: vec3f;\n    uniform scalesMaxs: vec3f;\n    uniform sh0Mins: vec4f;\n    uniform sh0Maxs: vec4f;\n#else\n    uniform scales_codebook: array<vec4f, 64>;\n    uniform sh0_codebook: array<vec4f, 64>;\n#endif\n\n@fragment\nfn fragmentMain(input: FragmentInput) -> FragmentOutput {\n    var output: FragmentOutput;\n\n    let w: u32 = textureDimensions(means_l, 0).x;\n    let uv: vec2<u32> = vec2<u32>(input.position.xy);\n    if (uv.x + uv.y * w >= uniform.numSplats) {\n        discard;\n        return output;\n    }\n\n    // fetch the source index and calculate source uv\n    let meansLSample: vec3<f32> = textureLoad(means_l, uv, 0).xyz;\n    let meansUSample: vec3<f32> = textureLoad(means_u, uv, 0).xyz;\n    let quatsSample: vec4<f32> = textureLoad(quats, uv, 0);\n    let scalesSample: vec3<f32> = textureLoad(scales, uv, 0).xyz;\n    let sh0Sample: vec4f = textureLoad(sh0, uv, 0);\n    let shLabelsSample: vec2<f32> = textureLoad(sh_labels, uv, 0).xy;\n\n    #ifdef REORDER_V1\n        let scale = pack101010(resolve(uniform.scalesMins, uniform.scalesMaxs, scalesSample));\n        let sh0 = pack111110(resolve(uniform.sh0Mins.xyz, uniform.sh0Maxs.xyz, sh0Sample.xyz));\n        let alpha = sigmoid(mix(uniform.sh0Mins.w, uniform.sh0Maxs.w, sh0Sample.w));\n    #else\n        let scale = pack101010(resolveCodebook(scalesSample, &uniform.scales_codebook));    // resolve scale to 10,10,10 bits\n        let sh0 = pack111110(resolveCodebook(sh0Sample.xyz, &uniform.sh0_codebook));        // resolve sh0 to 11,11,10 bits\n        let alpha = sh0Sample.w;\n    #endif\n\n    let qmode = u32(quatsSample.w * 255.0) - 252u;\n\n    output.color = vec4u(\n        pack8888(vec4f(meansLSample, shLabelsSample.x)),\n        pack8888(vec4f(meansUSample, shLabelsSample.y)),\n        pack8888(vec4f(quatsSample.xyz, alpha)),\n        (scale << 2u) | qmode\n    );\n\n    output.color1 = unpack8888(sh0);\n\n    return output;\n}\n";
export default _default;
