shadow$provide.module$node_modules$pixi_DOT_js$lib$advanced_blend_modes$ColorBlend = function(global, require, module, exports) {
  global = require("module$node_modules$pixi_DOT_js$lib$extensions$Extensions");
  module = require("module$node_modules$pixi_DOT_js$lib$filters$blend_modes$BlendModeFilter");
  var GLhls = require("module$node_modules$pixi_DOT_js$lib$filters$blend_modes$hls$GLhls"), GPUhls = require("module$node_modules$pixi_DOT_js$lib$filters$blend_modes$hls$GPUhls");
  "use strict";
  class ColorBlend extends module.BlendModeFilter {
    constructor() {
      super({gl:{functions:`
                ${GLhls.hslgl}

                vec3 blendColor(vec3 base, vec3 blend,  float opacity)
                {
                    return (setLuminosity(blend, getLuminosity(base)) * opacity + base * (1.0 - opacity));
                }
                `, main:"\n                finalColor \x3d vec4(blendColor(back.rgb, front.rgb,front.a), blendedAlpha) * uBlend;\n                "}, gpu:{functions:`
                ${GPUhls.hslgpu}

                fn blendColorOpacity(base:vec3<f32>,  blend:vec3<f32>,  opacity:f32) -> vec3<f32>
                {
                    return (setLuminosity(blend, getLuminosity(base)) * opacity + base * (1.0 - opacity));
                }
                `, main:"\n                out \x3d vec4\x3cf32\x3e(blendColorOpacity(back.rgb, front.rgb, front.a), blendedAlpha) * blendUniforms.uBlend;\n                "}});
    }
  }
  ColorBlend.extension = {name:"color", type:global.ExtensionType.BlendMode};
  exports.ColorBlend = ColorBlend;
};

//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$advanced_blend_modes$ColorBlend.js.map
