Files
il/resources/public/js/cljs-runtime/module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$shader$program$extractAttributesFromGlProgram.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$gl$shader$program$extractAttributesFromGlProgram = function(global, require, module, exports) {
var getAttributeInfoFromFormat = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$geometry$utils$getAttributeInfoFromFormat"), mapType = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$shader$program$mapType");
"use strict";
exports.extractAttributesFromGlProgram = function(program, gl, sortAttributes = !1) {
const attributes = {};
var totalAttributes = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
for (let i = 0; i < totalAttributes; i++) {
const attribData = gl.getActiveAttrib(program, i);
if (attribData.name.startsWith("gl_")) {
continue;
}
const format = mapType.mapGlToVertexFormat(gl, attribData.type);
attributes[attribData.name] = {location:0, format, stride:getAttributeInfoFromFormat.getAttributeInfoFromFormat(format).stride, offset:0, instance:!1, start:0};
}
totalAttributes = Object.keys(attributes);
if (sortAttributes) {
totalAttributes.sort((a, b) => a > b ? 1 : -1);
for (sortAttributes = 0; sortAttributes < totalAttributes.length; sortAttributes++) {
attributes[totalAttributes[sortAttributes]].location = sortAttributes, gl.bindAttribLocation(program, sortAttributes, totalAttributes[sortAttributes]);
}
gl.linkProgram(program);
} else {
for (sortAttributes = 0; sortAttributes < totalAttributes.length; sortAttributes++) {
attributes[totalAttributes[sortAttributes]].location = gl.getAttribLocation(program, totalAttributes[sortAttributes]);
}
}
return attributes;
};
};
//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$shader$program$extractAttributesFromGlProgram.js.map