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">
30 lines (24 loc) • 934 B
JavaScript
import { WGSL_TO_STD40_SIZE } from './createUboElementsSTD40.mjs';
;
function generateArraySyncSTD40(uboElement, offsetToAdd) {
const rowSize = Math.max(WGSL_TO_STD40_SIZE[uboElement.data.type] / 16, 1);
const elementSize = uboElement.data.value.length / uboElement.data.size;
const remainder = (4 - elementSize % 4) % 4;
const data = uboElement.data.type.indexOf("i32") >= 0 ? "dataInt32" : "data";
return `
v = uv.${uboElement.data.name};
offset += ${offsetToAdd};
arrayOffset = offset;
t = 0;
for(var i=0; i < ${uboElement.data.size * rowSize}; i++)
{
for(var j = 0; j < ${elementSize}; j++)
{
${data}[arrayOffset++] = v[t++];
}
${remainder !== 0 ? `arrayOffset += ${remainder};` : ""}
}
`;
}
export { generateArraySyncSTD40 };
//# sourceMappingURL=generateArraySyncSTD40.mjs.map