shadow$provide.module$node_modules$pixi_DOT_js$lib$advanced_blend_modes$LuminosityBlend = 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 LuminosityBlend extends module.BlendModeFilter {
    constructor() {
      super({gl:{functions:`
                ${GLhls.hslgl}

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

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

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