/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@johh/three-effectcomposer@0.1.0/dist/cjs/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var THREE=require("three"),CopyShader={uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:["varying vec2 vUv;","void main() {","\tvUv = uv;","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform float opacity;","uniform sampler2D tDiffuse;","varying vec2 vUv;","void main() {","\tvec4 texel = texture2D( tDiffuse, vUv );","\tgl_FragColor = opacity * texel;","}"].join("\n")};function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _getPrototypeOf(e){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},_getPrototypeOf(e)}function _setPrototypeOf(e,t){return _setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},_setPrototypeOf(e,t)}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?_assertThisInitialized(e):t}function _createSuper(e){var t=_isNativeReflectConstruct();return function(){var r,s=_getPrototypeOf(e);if(t){var a=_getPrototypeOf(this).constructor;r=Reflect.construct(s,arguments,a)}else r=s.apply(this,arguments);return _possibleConstructorReturn(this,r)}}var camera=new THREE.OrthographicCamera(-1,1,1,-1,0,1),geometry=new THREE.PlaneBufferGeometry(2,2),_FullScreenQuad=function(){function e(t){_classCallCheck(this,e),this._mesh=new THREE.Mesh(geometry,t)}return _createClass(e,[{key:"render",value:function(e){e.render(this._mesh,camera)}},{key:"material",get:function(){return this._mesh.material},set:function(e){this._mesh.material=e}}]),e}(),Pass=function(){function e(){_classCallCheck(this,e),this.enabled=!0,this.needsSwap=!1,this.clear=!1,this.renderToScreen=!1}return _createClass(e,[{key:"setSize",value:function(e,t){}},{key:"render",value:function(e,t,r,s,a){console.error("THREE.Pass: .render() must be implemented in derived pass.")}}]),e}();Pass.FullScreenQuad=_FullScreenQuad;var ShaderPass=function(){_inherits(t,Pass);var e=_createSuper(t);function t(r,s){var a;return _classCallCheck(this,t),(a=e.call(this)).textureID=void 0!==s?s:"tDiffuse",r instanceof THREE.ShaderMaterial?(a.uniforms=r.uniforms,a.material=r):r&&(a.uniforms=THREE.UniformsUtils.clone(r.uniforms),a.material=new THREE.ShaderMaterial({defines:Object.assign({},r.defines),uniforms:a.uniforms,vertexShader:r.vertexShader,fragmentShader:r.fragmentShader})),a.fsQuad=new Pass.FullScreenQuad(a.material),a}return _createClass(t,[{key:"render",value:function(e,t,r){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=r.texture),this.fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this.fsQuad.render(e))}}]),t}(),RenderingPass=function(){_inherits(t,Pass);var e=_createSuper(t);function t(){var r;return _classCallCheck(this,t),(r=e.call(this)).camera=new THREE.OrthographicCamera(-1,1,1,-1,0,1),r.scene=new THREE.Scene,r.quad=new THREE.Mesh(new THREE.PlaneBufferGeometry(2,2),null),r.quad.frustumCulled=!1,r.scene.add(r.quad),r}return t}(),TexturePass=function(){_inherits(t,Pass);var e=_createSuper(t);function t(r,s){var a;_classCallCheck(this,t),a=e.call(this);var i=CopyShader;return a.map=r,a.opacity=void 0!==s?s:1,a.uniforms=THREE.UniformsUtils.clone(i.uniforms),a.material=new THREE.ShaderMaterial({uniforms:a.uniforms,vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,depthTest:!1,depthWrite:!1}),a.needsSwap=!1,a.fsQuad=new Pass.FullScreenQuad(null),a}return _createClass(t,[{key:"render",value:function(e,t,r){var s=e,a=s.autoClear;s.autoClear=!1,this.fsQuad.material=this.material,this.uniforms.opacity.value=this.opacity,this.uniforms.tDiffuse.value=this.map,this.material.transparent=this.opacity<1,s.setRenderTarget(this.renderToScreen?null:r),this.clear&&s.clear(),this.fsQuad.render(s),s.autoClear=a}}]),t}(),RenderPass=function(){_inherits(t,Pass);var e=_createSuper(t);function t(r,s,a,i,n){var o;return _classCallCheck(this,t),(o=e.call(this)).scene=r,o.camera=s,o.overrideMaterial=a,o.clearColor=i,o.clearAlpha=void 0!==n?n:0,o.clear=!0,o.clearDepth=!1,o.needsSwap=!1,o}return _createClass(t,[{key:"render",value:function(e,t,r){var s,a,i=e,n=i.autoClear;i.autoClear=!1,this.scene.overrideMaterial=this.overrideMaterial,this.clearColor&&(s=i.getClearColor().getHex(),a=i.getClearAlpha(),i.setClearColor(this.clearColor,this.clearAlpha)),this.clearDepth&&i.clearDepth(),i.setRenderTarget(this.renderToScreen?null:r),this.clear&&i.clear(i.autoClearColor,i.autoClearDepth,i.autoClearStencil),i.render(this.scene,this.camera),this.clearColor&&i.setClearColor(s,a),this.scene.overrideMaterial=null,i.autoClear=n}}]),t}(),MaskPass=function(){_inherits(t,Pass);var e=_createSuper(t);function t(r,s){var a;return _classCallCheck(this,t),(a=e.call(this)).scene=r,a.camera=s,a.clear=!0,a.needsSwap=!1,a.inverse=!1,a}return _createClass(t,[{key:"render",value:function(e,t,r){var s,a,i=e.context,n=e.state;n.buffers.color.setMask(!1),n.buffers.depth.setMask(!1),n.buffers.color.setLocked(!0),n.buffers.depth.setLocked(!0),this.inverse?(s=0,a=1):(s=1,a=0),n.buffers.stencil.setTest(!0),n.buffers.stencil.setOp(i.REPLACE,i.REPLACE,i.REPLACE),n.buffers.stencil.setFunc(i.ALWAYS,s,4294967295),n.buffers.stencil.setClear(a),e.setRenderTarget(r),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),n.buffers.color.setLocked(!1),n.buffers.depth.setLocked(!1),n.buffers.stencil.setFunc(i.EQUAL,1,4294967295),n.buffers.stencil.setOp(i.KEEP,i.KEEP,i.KEEP)}}]),t}(),ClearMaskPass=function(){_inherits(t,Pass);var e=_createSuper(t);function t(){var r;return _classCallCheck(this,t),(r=e.call(this)).needsSwap=!1,r}return _createClass(t,[{key:"render",value:function(e){e.state.buffers.stencil.setTest(!1)}}]),t}(),ClearPass=function(){_inherits(t,Pass);var e=_createSuper(t);function t(r,s){var a;return _classCallCheck(this,t),(a=e.call(this)).needsSwap=!1,a.clearColor=void 0!==r?r:0,a.clearAlpha=void 0!==s?s:0,a}return _createClass(t,[{key:"render",value:function(e,t,r){var s,a;this.clearColor&&(s=e.getClearColor().getHex(),a=e.getClearAlpha(),e.setClearColor(this.clearColor,this.clearAlpha)),e.setRenderTarget(this.renderToScreen?null:r),e.clear(),this.clearColor&&e.setClearColor(s,a)}}]),t}(),EffectComposer=function(){function e(t,r){_classCallCheck(this,e);var s=r;if(this.renderer=t,void 0===s){var a={minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat,stencilBuffer:!1},i=t.getSize(new THREE.Vector2);this._pixelRatio=t.getPixelRatio(),this._width=i.width,this._height=i.height,(s=new THREE.WebGLRenderTarget(this._width*this._pixelRatio,this._height*this._pixelRatio,a)).texture.name="EffectComposer.rt1"}else this._pixelRatio=1,this._width=s.width,this._height=s.height;this.renderTarget1=s,this.renderTarget2=s.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],this.copyPass=new ShaderPass(CopyShader),this.clock=new THREE.Clock}return _createClass(e,[{key:"swapBuffers",value:function(){var e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}},{key:"addPass",value:function(e){this.passes.push(e);var t=this.renderer.getDrawingBufferSize(new THREE.Vector2);e.setSize(t.width,t.height)}},{key:"insertPass",value:function(e,t){this.passes.splice(t,0,e)}},{key:"isLastEnabledPass",value:function(e){for(var t=e+1;t<this.passes.length;t+=1)if(this.passes[t].enabled)return!1;return!0}},{key:"render",value:function(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.clock.getDelta(),s=this.renderer.getRenderTarget(),a=!1,i=this.passes.length;for(t=0;t<i;t+=1){if(!1!==(e=this.passes[t]).enabled&&(e.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(t),e.render(this.renderer,this.writeBuffer,this.readBuffer,r,a),e.needsSwap)){if(a){var n=this.renderer.context;n.stencilFunc(n.NOTEQUAL,1,4294967295),this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,r),n.stencilFunc(n.EQUAL,1,4294967295)}this.swapBuffers()}e instanceof MaskPass?a=!0:e instanceof ClearMaskPass&&(a=!1)}this.renderer.setRenderTarget(s)}},{key:"reset",value:function(e){var t=e;if(void 0===t){var r=this.renderer.getSize(new THREE.Vector2);this._pixelRatio=this.renderer.getPixelRatio(),this._width=r.width,this._height=r.height,(t=this.renderTarget1.clone()).setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.renderTarget1=t,this.renderTarget2=t.clone(),this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2}},{key:"setSize",value:function(e,t){this._width=e,this._height=t;var r=this._width*this._pixelRatio,s=this._height*this._pixelRatio;this.renderTarget1.setSize(r,s),this.renderTarget2.setSize(r,s);for(var a=0;a<this.passes.length;a+=1)this.passes[a].setSize(r,s)}},{key:"setPixelRatio",value:function(e){this._pixelRatio=e,this.setSize(this._width,this._height)}}]),e}();exports.ClearMaskPass=ClearMaskPass,exports.ClearPass=ClearPass,exports.CopyShader=CopyShader,exports.MaskPass=MaskPass,exports.Pass=Pass,exports.RenderPass=RenderPass,exports.RenderingPass=RenderingPass,exports.ShaderPass=ShaderPass,exports.TexturePass=TexturePass,exports.default=EffectComposer;
//# sourceMappingURL=/sm/1d52cfa728a8ec789194efb22dda6359afbffa31abe685f1469eba2f44dbe087.map