Files
il/resources/public/js/cljs-runtime/module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$utils$createUboSyncFunction.js
2026-07-01 22:38:29 -06:00

32 lines
1.8 KiB
JavaScript

shadow$provide.module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$utils$createUboSyncFunction = function(global, require, module, exports) {
var uniformParsers = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$utils$uniformParsers");
"use strict";
exports.createUboSyncFunction = function(uboElements, parserCode, arrayGenerationFunction, singleSettersMap) {
const funcFragments = ["\n var v \x3d null;\n var v2 \x3d null;\n var t \x3d 0;\n var index \x3d 0;\n var name \x3d null;\n var arrayOffset \x3d null;\n "];
let prev = 0;
for (let i = 0; i < uboElements.length; i++) {
const uboElement = uboElements[i], name = uboElement.data.name;
var parsed = !1;
let offset = 0;
for (let j = 0; j < uniformParsers.uniformParsers.length; j++) {
if (uniformParsers.uniformParsers[j].test(uboElement.data)) {
offset = uboElement.offset / 4;
funcFragments.push(`name = "${name}";`, `offset += ${offset - prev};`, uniformParsers.uniformParsers[j][parserCode] || uniformParsers.uniformParsers[j].ubo);
parsed = !0;
break;
}
}
parsed || (1 < uboElement.data.size ? (offset = uboElement.offset / 4, funcFragments.push(arrayGenerationFunction(uboElement, offset - prev))) : (parsed = singleSettersMap[uboElement.data.type], offset = uboElement.offset / 4, funcFragments.push(`
v = uv.${name};
offset += ${offset - prev};
${parsed};
`)));
prev = offset;
}
uboElements = funcFragments.join("\n");
return new Function("uv", "data", "dataInt32", "offset", uboElements);
};
};
//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$utils$createUboSyncFunction.js.map