38 lines
2.5 KiB
JavaScript
38 lines
2.5 KiB
JavaScript
shadow$provide.module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$shader$utils$generateUniformsSync = function(global, require, module, exports) {
|
|
var BufferResource = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$buffer$BufferResource"), UniformGroup = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$UniformGroup"), uniformParsers = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$utils$uniformParsers"), generateUniformsSyncTypes = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$shader$utils$generateUniformsSyncTypes");
|
|
"use strict";
|
|
exports.generateUniformsSync = function(group, uniformData) {
|
|
const funcFragments = ["\n var v \x3d null;\n var cv \x3d null;\n var cu \x3d null;\n var t \x3d 0;\n var gl \x3d renderer.gl;\n var name \x3d null;\n "];
|
|
for (const i in group.uniforms) {
|
|
if (!uniformData[i]) {
|
|
group.uniforms[i] instanceof UniformGroup.UniformGroup ? group.uniforms[i].ubo ? funcFragments.push(`
|
|
renderer.shader.bindUniformBlock(uv.${i}, "${i}");
|
|
`) : funcFragments.push(`
|
|
renderer.shader.updateUniformGroup(uv.${i});
|
|
`) : group.uniforms[i] instanceof BufferResource.BufferResource && funcFragments.push(`
|
|
renderer.shader.bindBufferResource(uv.${i}, "${i}");
|
|
`);
|
|
continue;
|
|
}
|
|
var uniform = group.uniformStructures[i];
|
|
let parsed = !1;
|
|
for (let j = 0; j < uniformParsers.uniformParsers.length; j++) {
|
|
const parser = uniformParsers.uniformParsers[j];
|
|
if (uniform.type === parser.type && parser.test(uniform)) {
|
|
funcFragments.push(`name = "${i}";`, uniformParsers.uniformParsers[j].uniform);
|
|
parsed = !0;
|
|
break;
|
|
}
|
|
}
|
|
parsed || (uniform = (1 === uniform.size ? generateUniformsSyncTypes.UNIFORM_TO_SINGLE_SETTERS : generateUniformsSyncTypes.UNIFORM_TO_ARRAY_SETTERS)[uniform.type].replace("location", `ud["${i}"].location`), funcFragments.push(`
|
|
cu = ud["${i}"];
|
|
cv = cu.value;
|
|
v = uv["${i}"];
|
|
${uniform};`));
|
|
}
|
|
return new Function("ud", "uv", "renderer", "syncData", funcFragments.join("\n"));
|
|
};
|
|
};
|
|
|
|
//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$shader$utils$generateUniformsSync.js.map
|