shadow$provide.module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$UniformGroup = function(global, require, module, exports) {
  var uid = require("module$node_modules$pixi_DOT_js$lib$utils$data$uid"), createIdFromString = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$utils$createIdFromString"), types = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$types"), getDefaultUniformValue = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$utils$getDefaultUniformValue");
  "use strict";
  const node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$UniformGroup$classdecl$var9 = class {
    constructor(uniformStructures, options) {
      this._touched = 0;
      this.uid = uid.uid("uniform");
      this._resourceType = "uniformGroup";
      this._resourceId = uid.uid("resource");
      this.isUniformGroup = !0;
      this._dirtyId = 0;
      this.destroyed = !1;
      options = {...node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$UniformGroup$classdecl$var9.defaultOptions, ...options};
      this.uniformStructures = uniformStructures;
      const uniforms = {};
      for (const i in uniformStructures) {
        const uniformData = uniformStructures[i];
        uniformData.name = i;
        uniformData.size = uniformData.size ?? 1;
        if (!types.UNIFORM_TYPES_MAP[uniformData.type]) {
          if (options = uniformData.type.match(/^array<(\w+(?:<\w+>)?),\s*(\d+)>$/)) {
            const [, innerType, size] = options;
            throw Error(`Uniform type ${uniformData.type} is not supported. Use type: '${innerType}', size: ${size} instead.`);
          }
          throw Error(`Uniform type ${uniformData.type} is not supported. Supported uniform types are: ${types.UNIFORM_TYPES_VALUES.join(", ")}`);
        }
        uniformData.value ?? (uniformData.value = getDefaultUniformValue.getDefaultUniformValue(uniformData.type, uniformData.size));
        uniforms[i] = uniformData.value;
      }
      this.uniforms = uniforms;
      this._dirtyId = 1;
      this.ubo = options.ubo;
      this.isStatic = options.isStatic;
      this._signature = createIdFromString.createIdFromString(Object.keys(uniforms).map(i => `${i}-${uniformStructures[i].type}`).join("-"), "uniform-group");
    }
    update() {
      this._dirtyId++;
    }
  };
  global = node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$UniformGroup$classdecl$var9;
  global.defaultOptions = {ubo:!1, isStatic:!1};
  exports.UniformGroup = global;
};

//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$UniformGroup.js.map
