shadow$provide.module$node_modules$pixi_DOT_js$lib$filters$Filter = function(global, require, module, exports) {
  var GlProgram = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$shader$GlProgram"), GpuProgram = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$gpu$shader$GpuProgram");
  global = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$Shader");
  var State = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$state$State");
  "use strict";
  const node_modules$pixi_DOT_js$lib$filters$Filter$classdecl$var11 = class extends global.Shader {
    constructor(options) {
      options = {...node_modules$pixi_DOT_js$lib$filters$Filter$classdecl$var11.defaultOptions, ...options};
      super(options);
      this.enabled = !0;
      this._state = State.State.for2d();
      this.blendMode = options.blendMode;
      this.padding = options.padding;
      this.antialias = "boolean" === typeof options.antialias ? options.antialias ? "on" : "off" : options.antialias;
      this.resolution = options.resolution;
      this.blendRequired = options.blendRequired;
      this.clipToViewport = options.clipToViewport;
      this.addResource("uTexture", 0, 1);
      options.blendRequired && this.addResource("uBackTexture", 0, 3);
    }
    apply(filterManager, input, output, clearMode) {
      filterManager.applyFilter(this, input, output, clearMode);
    }
    get blendMode() {
      return this._state.blendMode;
    }
    set blendMode(value) {
      this._state.blendMode = value;
    }
    static from(options) {
      const {gpu, gl, ...rest} = options;
      let gpuProgram, glProgram;
      gpu && (gpuProgram = GpuProgram.GpuProgram.from(gpu));
      gl && (glProgram = GlProgram.GlProgram.from(gl));
      return new node_modules$pixi_DOT_js$lib$filters$Filter$classdecl$var11({gpuProgram, glProgram, ...rest});
    }
  };
  require = node_modules$pixi_DOT_js$lib$filters$Filter$classdecl$var11;
  require.defaultOptions = {blendMode:"normal", resolution:1, padding:0, antialias:"off", blendRequired:!1, clipToViewport:!0};
  exports.Filter = require;
};

//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$filters$Filter.js.map
