function GlitchPass() {
	    var _this;

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

	    classCallCheck(this, GlitchPass);

	    _this = possibleConstructorReturn(this, getPrototypeOf$2(GlitchPass).call(this, "GlitchPass"));
	    _this.material = new GlitchMaterial();
	    /**
	     * A perturbation map.
	     *
	     * @type {Texture}
	     * @private
	     */

	    _this.texture = null;
	    _this.perturbMap = options.perturbMap !== undefined ? options.perturbMap : _this.generatePerturbMap(options.dtSize);
	    _this.perturbMap.name = "Glitch.Perturbation";
	    _this.perturbMap.generateMipmaps = false;
	    /**
	     * The effect mode.
	     *
	     * @type {GlitchMode}
	     */

	    _this.mode = GlitchMode.SPORADIC;
	    /**
	     * A counter for the glitch activation and deactivation.
	     *
	     * @type {Number}
	     * @private
	     */

	    _this.counter = 0;
	    /**
	     * A random break point for the sporadic glitch activation.
	     *
	     * @type {Number}
	     * @private
	     */

	    _this.breakPoint = randomInt(120, 240);
	    return _this;
	  }
Constructs a new glitch pass.

@param {Object} [options] - The options.
@param {Texture} [options.perturbMap] - A perturbation map. If none is provided, a noise texture will be created.
@param {Number} [options.dtSize=64] - The size of the generated noise map. Will be ignored if a perturbation map is provided.