pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
1 lines • 2.21 kB
Source Map (JSON)
{"version":3,"file":"generateArraySyncSTD40.mjs","sources":["../../../../../../src/rendering/renderers/gl/shader/utils/generateArraySyncSTD40.ts"],"sourcesContent":["import { WGSL_TO_STD40_SIZE } from './createUboElementsSTD40';\n\nimport type { UboElement } from '../../../shared/shader/types';\n\n/**\n * This generates a function that will sync an array to the uniform buffer\n * following the std140 layout\n * @param uboElement - the element to generate the array sync for\n * @param offsetToAdd - the offset to append at the start of the code\n * @returns - the generated code\n * @internal\n */\nexport function generateArraySyncSTD40(uboElement: UboElement, offsetToAdd: number): string\n{\n const rowSize = Math.max(WGSL_TO_STD40_SIZE[uboElement.data.type] / 16, 1);\n const elementSize = (uboElement.data.value as Array<number>).length / uboElement.data.size;// size / rowSize;\n\n const remainder = (4 - (elementSize % 4)) % 4;\n const data = uboElement.data.type.indexOf('i32') >= 0 ? 'dataInt32' : 'data';\n\n return `\n v = uv.${uboElement.data.name};\n offset += ${offsetToAdd};\n\n arrayOffset = offset;\n\n t = 0;\n\n for(var i=0; i < ${uboElement.data.size * rowSize}; i++)\n {\n for(var j = 0; j < ${elementSize}; j++)\n {\n ${data}[arrayOffset++] = v[t++];\n }\n ${remainder !== 0 ? `arrayOffset += ${remainder};` : ''}\n }\n `;\n}\n"],"names":[],"mappings":";;;AAYO,SAAS,sBAAA,CAAuB,YAAwB,WAAA,EAC/D;AACI,EAAA,MAAM,OAAA,GAAU,KAAK,GAAA,CAAI,kBAAA,CAAmB,WAAW,IAAA,CAAK,IAAI,CAAA,GAAI,EAAA,EAAI,CAAC,CAAA;AACzE,EAAA,MAAM,cAAe,UAAA,CAAW,IAAA,CAAK,KAAA,CAAwB,MAAA,GAAS,WAAW,IAAA,CAAK,IAAA;AAEtF,EAAA,MAAM,SAAA,GAAA,CAAa,CAAA,GAAK,WAAA,GAAc,CAAA,IAAM,CAAA;AAC5C,EAAA,MAAM,IAAA,GAAO,WAAW,IAAA,CAAK,IAAA,CAAK,QAAQ,KAAK,CAAA,IAAK,IAAI,WAAA,GAAc,MAAA;AAEtE,EAAA,OAAO;AAAA,eAAA,EACM,UAAA,CAAW,KAAK,IAAI,CAAA;AAAA,kBAAA,EACjB,WAAW,CAAA;;AAAA;;AAAA;;AAAA,yBAAA,EAMJ,UAAA,CAAW,IAAA,CAAK,IAAA,GAAO,OAAO,CAAA;AAAA;AAAA,+BAAA,EAExB,WAAW,CAAA;AAAA;AAAA,gBAAA,EAE1B,IAAI,CAAA;AAAA;AAAA,YAAA,EAER,SAAA,KAAc,CAAA,GAAI,CAAA,eAAA,EAAkB,SAAS,MAAM,EAAE;AAAA;AAAA,IAAA,CAAA;AAGnE;;;;"}