{"version":3,"file":"localUniformBit.mjs","sources":["../../../../src/rendering/high-shader/shader-bits/localUniformBit.ts"],"sourcesContent":["/** @internal */\nexport const localUniformBit = {\n    name: 'local-uniform-bit',\n    vertex: {\n        header: /* wgsl */`\n\n            struct LocalUniforms {\n                uTransformMatrix:mat3x3<f32>,\n                uColor:vec4<f32>,\n                uRound:f32,\n            }\n\n            @group(1) @binding(0) var<uniform> localUniforms : LocalUniforms;\n        `,\n        main: /* wgsl */`\n            vColor *= localUniforms.uColor;\n            modelMatrix *= localUniforms.uTransformMatrix;\n        `,\n        end: /* wgsl */`\n            if(localUniforms.uRound == 1)\n            {\n                vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);\n            }\n        `\n    },\n};\n\n// TODO this works, but i think down the road it will be better to manage groups automatically if there are clashes\n/** @internal */\nexport const localUniformBitGroup2 = {\n    ...localUniformBit,\n    vertex: {\n        ...localUniformBit.vertex,\n        // replace the group!\n        header: localUniformBit.vertex.header.replace('group(1)', 'group(2)'),\n    }\n};\n\n/** @internal */\nexport const localUniformBitGl = {\n    name: 'local-uniform-bit',\n    vertex: {\n        header: /* glsl */`\n\n            uniform mat3 uTransformMatrix;\n            uniform vec4 uColor;\n            uniform float uRound;\n        `,\n        main: /* glsl */`\n            vColor *= uColor;\n            modelMatrix = uTransformMatrix;\n        `,\n        end: /* glsl */`\n            if(uRound == 1.)\n            {\n                gl_Position.xy = roundPixels(gl_Position.xy, uResolution);\n            }\n        `\n    },\n};\n"],"names":[],"mappings":";AACO,MAAM,eAAA,GAAkB;AAAA,EAC3B,IAAA,EAAM,mBAAA;AAAA,EACN,MAAA,EAAQ;AAAA,IACJ,MAAA;AAAA;AAAA,MAAkB;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,QAAA;AAAA,KAAA;AAAA,IAUlB,IAAA;AAAA;AAAA,MAAgB;AAAA;AAAA;AAAA,QAAA;AAAA,KAAA;AAAA,IAIhB,GAAA;AAAA;AAAA,MAAe;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA;AAAA;AAAA;AAOvB;AAIO,MAAM,qBAAA,GAAwB;AAAA,EACjC,GAAG,eAAA;AAAA,EACH,MAAA,EAAQ;AAAA,IACJ,GAAG,eAAA,CAAgB,MAAA;AAAA;AAAA,IAEnB,QAAQ,eAAA,CAAgB,MAAA,CAAO,MAAA,CAAO,OAAA,CAAQ,YAAY,UAAU;AAAA;AAE5E;AAGO,MAAM,iBAAA,GAAoB;AAAA,EAC7B,IAAA,EAAM,mBAAA;AAAA,EACN,MAAA,EAAQ;AAAA,IACJ,MAAA;AAAA;AAAA,MAAkB;;AAAA;AAAA;AAAA;AAAA,QAAA;AAAA,KAAA;AAAA,IAMlB,IAAA;AAAA;AAAA,MAAgB;AAAA;AAAA;AAAA,QAAA;AAAA,KAAA;AAAA,IAIhB,GAAA;AAAA;AAAA,MAAe;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA;AAAA;AAAA;AAOvB;;;;"}