declare const _default: "\n    var means_l: texture_2d<f32>;\n    var means_u: texture_2d<f32>;\n    var quats: texture_2d<f32>;\n    var scales: texture_2d<f32>;\n    var sh_labels: texture_2d<f32>;\n\n    uniform numSplats: u32;\n\n    fn packU32(v: vec4<f32>) -> u32 {\n        return (u32(v.x * 255.0) << 24u)  |\n               (u32(v.y * 255.0) << 16u)  |\n               (u32(v.z * 255.0) << 8u) |\n               u32(v.w * 255.0);\n    }\n\n    fn packUVec32(a: vec4<f32>, b: vec4<f32>, c: vec4<f32>, d: vec4<f32>) -> vec4<u32> {\n        return vec4<u32>(packU32(a), packU32(b), packU32(c), packU32(d));\n    }\n\n    @fragment\n    fn 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>(pcPosition.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 shLabelsSample: vec2<f32> = textureLoad(sh_labels, uv, 0).xy;\n\n        output.color = packUVec32(\n            vec4(meansLSample, shLabelsSample.x),\n            vec4(meansUSample, shLabelsSample.y),\n            vec4(quatsSample),\n            vec4(scalesSample, 0.0)\n        );\n\n        return output;\n    }\n";
export default _default;
