function OutlineBlendMaterial() {
	    var _this;

	    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

	    classCallCheck(this, OutlineBlendMaterial);

	    var settings = Object.assign({
	      edgeStrength: 1.0,
	      patternScale: 1.0,
	      visibleEdgeColor: 0xffffff,
	      hiddenEdgeColor: 0x22090A,
	      alphaBlending: false,
	      xRay: true
	    }, options);
	    _this = possibleConstructorReturn(this, getPrototypeOf$2(OutlineBlendMaterial).call(this, {
	      type: "OutlineBlendMaterial",
	      uniforms: {
	        pulse: new Uniform(1.0),
	        aspect: new Uniform(1.0),
	        tDiffuse: new Uniform(null),
	        tMask: new Uniform(null),
	        tEdges: new Uniform(null),
	        tPattern: new Uniform(null),
	        edgeStrength: new Uniform(settings.edgeStrength),
	        patternScale: new Uniform(settings.patternScale),
	        visibleEdgeColor: new Uniform(new Color(settings.visibleEdgeColor)),
	        hiddenEdgeColor: new Uniform(new Color(settings.hiddenEdgeColor))
	      },
	      fragmentShader: fragment$12,
	      vertexShader: vertex$12,
	      depthWrite: false,
	      depthTest: false
	    }));

	    _this.setAlphaBlendingEnabled(settings.alphaBlending);

	    _this.setXRayEnabled(settings.xRay);

	    return _this;
	  }
Constructs a new outline blend material.

@param {Object} [options] - The options.
@param {Number} [options.edgeStrength=1.0] - The edge strength.
@param {Number} [options.patternScale=1.0] - The scale of the pattern texture.
@param {Number} [options.visibleEdgeColor=0xffffff] - The color of visible edges.
@param {Number} [options.hiddenEdgeColor=0x22090A] - The color of hidden edges.
@param {Boolean} [alphaBlending=false] - Whether the outline should be blended using alpha.
@param {Boolean} [xRay=true] - Whether hidden parts of selected objects should be visible.