Files
nothoughts/node_modules/pixi.js/lib/rendering/renderers/gl/shader/GenerateShaderSyncCode.mjs.map
2025-08-04 18:57:35 +02:00

1 line
5.7 KiB
Plaintext

{"version":3,"file":"GenerateShaderSyncCode.mjs","sources":["../../../../../src/rendering/renderers/gl/shader/GenerateShaderSyncCode.ts"],"sourcesContent":["import { BufferResource } from '../../shared/buffer/BufferResource';\nimport { UniformGroup } from '../../shared/shader/UniformGroup';\nimport { TextureSource } from '../../shared/texture/sources/TextureSource';\n\nimport type { Shader } from '../../shared/shader/Shader';\nimport type { GlShaderSystem, ShaderSyncFunction } from './GlShaderSystem';\n\n/**\n * Generates the a function that will efficiently sync shader resources with the GPU.\n * @param shader - The shader to generate the code for\n * @param shaderSystem - An instance of the shader system\n */\nexport function generateShaderSyncCode(shader: Shader, shaderSystem: GlShaderSystem): ShaderSyncFunction\n{\n const funcFragments: string[] = [];\n\n /**\n * rS = renderer.shader\n * sS = shaderSystem\n * sD = shaderData\n * g = shader.groups\n * s = shader\n * r = renderer\n * ugS = renderer.uniformGroupSystem\n */\n const headerFragments: string[] = [`\n var g = s.groups;\n var sS = r.shader;\n var p = s.glProgram;\n var ugS = r.uniformGroup;\n var resources;\n `];\n\n let addedTextreSystem = false;\n let blockIndex = 0;\n let textureCount = 0;\n\n const programData = shaderSystem._getProgramData(shader.glProgram);\n\n for (const i in shader.groups)\n {\n const group = shader.groups[i];\n\n funcFragments.push(`\n resources = g[${i}].resources;\n `);\n\n for (const j in group.resources)\n {\n const resource = group.resources[j];\n\n if (resource instanceof UniformGroup)\n {\n if (resource.ubo)\n {\n funcFragments.push(`\n sS.bindUniformBlock(\n resources[${j}],\n sS._uniformBindMap[${i}[${j}],\n ${blockIndex++}\n );\n `);\n }\n else\n {\n funcFragments.push(`\n ugS.updateUniformGroup(resources[${j}], p, sD);\n `);\n }\n }\n else if (resource instanceof BufferResource)\n {\n funcFragments.push(`\n sS.bindUniformBlock(\n resources[${j}],\n sS._uniformBindMap[${i}[${j}],\n ${blockIndex++}\n );\n `);\n }\n else if (resource instanceof TextureSource)\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 (!addedTextreSystem)\n {\n addedTextreSystem = true;\n headerFragments.push(`\n var tS = r.texture;\n `);\n }\n\n shaderSystem._gl.uniform1i(uniformData.location, textureCount);\n\n funcFragments.push(`\n tS.bind(resources[${j}], ${textureCount});\n `);\n\n textureCount++;\n }\n }\n }\n }\n\n const functionSource = [...headerFragments, ...funcFragments].join('\\n');\n\n // eslint-disable-next-line no-new-func\n return new Function('r', 's', 'sD', functionSource) as ShaderSyncFunction;\n}\n"],"names":[],"mappings":";;;;;AAYgB,SAAA,sBAAA,CAAuB,QAAgB,YACvD,EAAA;AACI,EAAA,MAAM,gBAA0B,EAAC,CAAA;AAWjC,EAAA,MAAM,kBAA4B,CAAC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMlC,CAAA,CAAA,CAAA;AAED,EAAA,IAAI,iBAAoB,GAAA,KAAA,CAAA;AACxB,EAAA,IAAI,UAAa,GAAA,CAAA,CAAA;AACjB,EAAA,IAAI,YAAe,GAAA,CAAA,CAAA;AAEnB,EAAA,MAAM,WAAc,GAAA,YAAA,CAAa,eAAgB,CAAA,MAAA,CAAO,SAAS,CAAA,CAAA;AAEjE,EAAW,KAAA,MAAA,CAAA,IAAK,OAAO,MACvB,EAAA;AACI,IAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,MAAA,CAAO,CAAC,CAAA,CAAA;AAE7B,IAAA,aAAA,CAAc,IAAK,CAAA,CAAA;AAAA,0BAAA,EACC,CAAC,CAAA;AAAA,QACpB,CAAA,CAAA,CAAA;AAED,IAAW,KAAA,MAAA,CAAA,IAAK,MAAM,SACtB,EAAA;AACI,MAAM,MAAA,QAAA,GAAW,KAAM,CAAA,SAAA,CAAU,CAAC,CAAA,CAAA;AAElC,MAAA,IAAI,oBAAoB,YACxB,EAAA;AACI,QAAA,IAAI,SAAS,GACb,EAAA;AACI,UAAA,aAAA,CAAc,IAAK,CAAA,CAAA;AAAA;AAAA,sCAAA,EAEC,CAAC,CAAA;AAAA,+CACQ,EAAA,CAAC,IAAI,CAAC,CAAA;AAAA,4BAAA,EACzB,UAAY,EAAA,CAAA;AAAA;AAAA,oBAErB,CAAA,CAAA,CAAA;AAAA,SAGL,MAAA;AACI,UAAA,aAAA,CAAc,IAAK,CAAA,CAAA;AAAA,yDAAA,EACoB,CAAC,CAAA;AAAA,oBACvC,CAAA,CAAA,CAAA;AAAA,SACL;AAAA,OACJ,MAAA,IACS,oBAAoB,cAC7B,EAAA;AACI,QAAA,aAAA,CAAc,IAAK,CAAA,CAAA;AAAA;AAAA,kCAAA,EAEC,CAAC,CAAA;AAAA,2CACQ,EAAA,CAAC,IAAI,CAAC,CAAA;AAAA,wBAAA,EACzB,UAAY,EAAA,CAAA;AAAA;AAAA,gBAErB,CAAA,CAAA,CAAA;AAAA,OACL,MAAA,IACS,oBAAoB,aAC7B,EAAA;AACI,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,UAAA,IAAI,CAAC,iBACL,EAAA;AACI,YAAoB,iBAAA,GAAA,IAAA,CAAA;AACpB,YAAA,eAAA,CAAgB,IAAK,CAAA,CAAA;AAAA;AAAA,wBAEpB,CAAA,CAAA,CAAA;AAAA,WACL;AAEA,UAAA,YAAA,CAAa,GAAI,CAAA,SAAA,CAAU,WAAY,CAAA,QAAA,EAAU,YAAY,CAAA,CAAA;AAE7D,UAAA,aAAA,CAAc,IAAK,CAAA,CAAA;AAAA,0CACK,EAAA,CAAC,MAAM,YAAY,CAAA;AAAA,oBAC1C,CAAA,CAAA,CAAA;AAED,UAAA,YAAA,EAAA,CAAA;AAAA,SACJ;AAAA,OACJ;AAAA,KACJ;AAAA,GACJ;AAEA,EAAM,MAAA,cAAA,GAAiB,CAAC,GAAG,eAAA,EAAiB,GAAG,aAAa,CAAA,CAAE,KAAK,IAAI,CAAA,CAAA;AAGvE,EAAA,OAAO,IAAI,QAAA,CAAS,GAAK,EAAA,GAAA,EAAK,MAAM,cAAc,CAAA,CAAA;AACtD;;;;"}