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">
32 lines (25 loc) • 995 B
JavaScript
;
var createUboElementsSTD40 = require('./createUboElementsSTD40.js');
;
function generateArraySyncSTD40(uboElement, offsetToAdd) {
const rowSize = Math.max(createUboElementsSTD40.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};` : ""}
}
`;
}
exports.generateArraySyncSTD40 = generateArraySyncSTD40;
//# sourceMappingURL=generateArraySyncSTD40.js.map