shadow$provide.module$node_modules$pixi_DOT_js$lib$filters$defaults$blur$gpu$generateBlurProgram = function(global, require, module, exports) {
  var GpuProgram = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$gpu$shader$GpuProgram"), _const = require("module$node_modules$pixi_DOT_js$lib$filters$defaults$blur$const"), blurTemplate = require("module$node_modules$pixi_DOT_js$lib$filters$defaults$blur$gpu$blur_template_wgsl");
  "use strict";
  exports.generateBlurProgram = function(horizontal, kernelSize) {
    const kernel = _const.GAUSSIAN_VALUES[kernelSize], halfLength = kernel.length, blurStructSource = [];
    var blurOutSource = [], blurSamplingSource = [];
    for (let i = 0; i < kernelSize; i++) {
      blurStructSource[i] = `@location(${i}) offset${i}: vec2<f32>,`, blurOutSource[i] = horizontal ? `filteredCord + vec2(${i - halfLength + 1} * pixelStrength, 0.0),` : `filteredCord + vec2(0.0, ${i - halfLength + 1} * pixelStrength),`, blurSamplingSource[i] = `finalColor += textureSample(uTexture, uSampler, offset${i}) * ${kernel[i < halfLength ? i : kernelSize - i - 1].toString()};`;
    }
    kernelSize = blurStructSource.join("\n");
    blurOutSource = blurOutSource.join("\n");
    blurSamplingSource = blurSamplingSource.join("\n");
    horizontal = blurTemplate.default.replace("%blur-struct%", kernelSize).replace("%blur-vertex-out%", blurOutSource).replace("%blur-fragment-in%", kernelSize).replace("%blur-sampling%", blurSamplingSource).replace("%dimension%", horizontal ? "z" : "w");
    return GpuProgram.GpuProgram.from({vertex:{source:horizontal, entryPoint:"mainVertex"}, fragment:{source:horizontal, entryPoint:"mainFragment"}});
  };
};

//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$filters$defaults$blur$gpu$generateBlurProgram.js.map
