{"version":3,"file":"GpuParticleContainerAdaptor.mjs","sources":["../../../../src/scene/particle-container/gpu/GpuParticleContainerAdaptor.ts"],"sourcesContent":["import type { WebGPURenderer } from '../../../rendering/renderers/gpu/WebGPURenderer';\nimport type { ParticleContainer } from '../shared/ParticleContainer';\nimport type { ParticleContainerAdaptor, ParticleContainerPipe } from '../shared/ParticleContainerPipe';\n\n/** @internal */\nexport class GpuParticleContainerAdaptor implements ParticleContainerAdaptor\n{\n    public execute(particleContainerPipe: ParticleContainerPipe, container: ParticleContainer)\n    {\n        const renderer = particleContainerPipe.renderer as WebGPURenderer;\n\n        const shader = container.shader || particleContainerPipe.defaultShader;\n\n        shader.groups[0] = renderer.renderPipes.uniformBatch.getUniformBindGroup(particleContainerPipe.localUniforms, true);\n\n        shader.groups[1] = renderer.texture.getTextureBindGroup(container.texture);\n\n        const state = particleContainerPipe.state;\n\n        const buffer = particleContainerPipe.getBuffers(container);\n\n        renderer.encoder.draw({\n            geometry: buffer.geometry,\n            shader: container.shader || particleContainerPipe.defaultShader,\n            state,\n            size: container.particleChildren.length * 6,\n        });\n    }\n}\n"],"names":[],"mappings":";AAKO,MAAM,2BAAA,CACb;AAAA,EACW,OAAA,CAAQ,uBAA8C,SAAA,EAC7D;AACI,IAAA,MAAM,WAAW,qBAAA,CAAsB,QAAA;AAEvC,IAAA,MAAM,MAAA,GAAS,SAAA,CAAU,MAAA,IAAU,qBAAA,CAAsB,aAAA;AAEzD,IAAA,MAAA,CAAO,MAAA,CAAO,CAAC,CAAA,GAAI,QAAA,CAAS,YAAY,YAAA,CAAa,mBAAA,CAAoB,qBAAA,CAAsB,aAAA,EAAe,IAAI,CAAA;AAElH,IAAA,MAAA,CAAO,OAAO,CAAC,CAAA,GAAI,SAAS,OAAA,CAAQ,mBAAA,CAAoB,UAAU,OAAO,CAAA;AAEzE,IAAA,MAAM,QAAQ,qBAAA,CAAsB,KAAA;AAEpC,IAAA,MAAM,MAAA,GAAS,qBAAA,CAAsB,UAAA,CAAW,SAAS,CAAA;AAEzD,IAAA,QAAA,CAAS,QAAQ,IAAA,CAAK;AAAA,MAClB,UAAU,MAAA,CAAO,QAAA;AAAA,MACjB,MAAA,EAAQ,SAAA,CAAU,MAAA,IAAU,qBAAA,CAAsB,aAAA;AAAA,MAClD,KAAA;AAAA,MACA,IAAA,EAAM,SAAA,CAAU,gBAAA,CAAiB,MAAA,GAAS;AAAA,KAC7C,CAAA;AAAA,EACL;AACJ;;;;"}