Files
nothoughts/node_modules/pixi.js/lib/unsafe-eval/shader/generateShaderSyncPolyfill.mjs.map
2025-08-04 18:57:35 +02:00

1 line
4.7 KiB
Plaintext

{"version":3,"file":"generateShaderSyncPolyfill.mjs","sources":["../../../src/unsafe-eval/shader/generateShaderSyncPolyfill.ts"],"sourcesContent":["import { BufferResource } from '../../rendering/renderers/shared/buffer/BufferResource';\nimport { UniformGroup } from '../../rendering/renderers/shared/shader/UniformGroup';\nimport { TextureSource } from '../../rendering/renderers/shared/texture/sources/TextureSource';\nimport { TextureStyle } from '../../rendering/renderers/shared/texture/TextureStyle';\n\nimport type { ShaderSyncData, ShaderSyncFunction } from '../../rendering/renderers/gl/shader/GlShaderSystem';\nimport type { WebGLRenderer } from '../../rendering/renderers/gl/WebGLRenderer';\nimport type { Shader } from '../../rendering/renderers/shared/shader/Shader';\n\nexport function generateShaderSyncPolyfill(): ShaderSyncFunction\n{\n return syncShader;\n}\n\nfunction syncShader(renderer: WebGLRenderer, shader: Shader, syncData: ShaderSyncData): void\n{\n const gl = renderer.gl;\n const shaderSystem = renderer.shader;\n const programData = shaderSystem._getProgramData(shader.glProgram);\n\n // loop through the groups and sync everything...\n for (const i in shader.groups)\n {\n const bindGroup = shader.groups[i];\n\n for (const j in bindGroup.resources)\n {\n const resource = bindGroup.resources[j];\n\n if (resource instanceof UniformGroup)\n {\n if (resource.ubo)\n {\n shaderSystem.bindUniformBlock(\n resource,\n shader._uniformBindMap[i as unknown as number][j as unknown as number],\n syncData.blockIndex++\n );\n }\n else\n {\n shaderSystem.updateUniformGroup(resource);\n }\n }\n else if (resource instanceof BufferResource)\n {\n shaderSystem.bindUniformBlock(\n resource,\n shader._uniformBindMap[i as unknown as number][j as unknown as number],\n syncData.blockIndex++\n );\n }\n else if (resource instanceof TextureSource)\n {\n // TODO really we should not be binding the sampler here too\n renderer.texture.bind(resource, syncData.textureCount);\n\n const uniformName = shader._uniformBindMap[i as unknown as number][j as unknown as number];\n\n const uniformData = programData.uniformData[uniformName];\n\n if (uniformData)\n {\n if (uniformData.value !== syncData.textureCount)\n {\n gl.uniform1i(uniformData.location, syncData.textureCount);\n }\n\n syncData.textureCount++;\n }\n }\n else if (resource instanceof TextureStyle)\n {\n // TODO not doing anything here works is assuming that textures are bound with the style they own.\n // this.renderer.texture.bindSampler(resource, syncData.textureCount);\n }\n }\n }\n}\n"],"names":[],"mappings":";;;;;;AASO,SAAS,0BAChB,GAAA;AACI,EAAO,OAAA,UAAA,CAAA;AACX,CAAA;AAEA,SAAS,UAAA,CAAW,QAAyB,EAAA,MAAA,EAAgB,QAC7D,EAAA;AACI,EAAA,MAAM,KAAK,QAAS,CAAA,EAAA,CAAA;AACpB,EAAA,MAAM,eAAe,QAAS,CAAA,MAAA,CAAA;AAC9B,EAAA,MAAM,WAAc,GAAA,YAAA,CAAa,eAAgB,CAAA,MAAA,CAAO,SAAS,CAAA,CAAA;AAGjE,EAAW,KAAA,MAAA,CAAA,IAAK,OAAO,MACvB,EAAA;AACI,IAAM,MAAA,SAAA,GAAY,MAAO,CAAA,MAAA,CAAO,CAAC,CAAA,CAAA;AAEjC,IAAW,KAAA,MAAA,CAAA,IAAK,UAAU,SAC1B,EAAA;AACI,MAAM,MAAA,QAAA,GAAW,SAAU,CAAA,SAAA,CAAU,CAAC,CAAA,CAAA;AAEtC,MAAA,IAAI,oBAAoB,YACxB,EAAA;AACI,QAAA,IAAI,SAAS,GACb,EAAA;AACI,UAAa,YAAA,CAAA,gBAAA;AAAA,YACT,QAAA;AAAA,YACA,MAAO,CAAA,eAAA,CAAgB,CAAsB,CAAA,CAAE,CAAsB,CAAA;AAAA,YACrE,QAAS,CAAA,UAAA,EAAA;AAAA,WACb,CAAA;AAAA,SAGJ,MAAA;AACI,UAAA,YAAA,CAAa,mBAAmB,QAAQ,CAAA,CAAA;AAAA,SAC5C;AAAA,OACJ,MAAA,IACS,oBAAoB,cAC7B,EAAA;AACI,QAAa,YAAA,CAAA,gBAAA;AAAA,UACT,QAAA;AAAA,UACA,MAAO,CAAA,eAAA,CAAgB,CAAsB,CAAA,CAAE,CAAsB,CAAA;AAAA,UACrE,QAAS,CAAA,UAAA,EAAA;AAAA,SACb,CAAA;AAAA,OACJ,MAAA,IACS,oBAAoB,aAC7B,EAAA;AAEI,QAAA,QAAA,CAAS,OAAQ,CAAA,IAAA,CAAK,QAAU,EAAA,QAAA,CAAS,YAAY,CAAA,CAAA;AAErD,QAAA,MAAM,WAAc,GAAA,MAAA,CAAO,eAAgB,CAAA,CAAsB,EAAE,CAAsB,CAAA,CAAA;AAEzF,QAAM,MAAA,WAAA,GAAc,WAAY,CAAA,WAAA,CAAY,WAAW,CAAA,CAAA;AAEvD,QAAA,IAAI,WACJ,EAAA;AACI,UAAI,IAAA,WAAA,CAAY,KAAU,KAAA,QAAA,CAAS,YACnC,EAAA;AACI,YAAA,EAAA,CAAG,SAAU,CAAA,WAAA,CAAY,QAAU,EAAA,QAAA,CAAS,YAAY,CAAA,CAAA;AAAA,WAC5D;AAEA,UAAS,QAAA,CAAA,YAAA,EAAA,CAAA;AAAA,SACb;AAAA,OACJ,MAAA,IACS,oBAAoB,YAC7B,EAAA;AAAA,OAGA;AAAA,KACJ;AAAA,GACJ;AACJ;;;;"}