{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/effects/post-processing/Blur.js"],"names":["r","s","i","this","_blurFBO","_size","_programDesc","gaussianBlur","vsPath","fsPath","attributes","a_position","radialBlur","blit","dispose","e","context","type","a","radius","n","_createOrResizeResources","_quad","o","bind","_gaussianBlur","_radialBlur","unbind","t","state","painter","pixelRatio","l","size","u","materialManager","d","b","c","h","Math","round","p","_","getProgram","name","value","ceil","bindProgram","setBlendingEnabled","bindFramebuffer","bindTexture","colorTexture","setUniform1i","setUniform2fv","setUniform1f","draw","setStencilWriteMask","setStencilTestEnabled","setDepthWriteEnabled","setDepthTestEnabled","setBlendFunction","resize","colorTarget","depthStencilTarget","width","height","target","pixelFormat","internalFormat","dataType","wrapMode","samplingMode","flipped"],"mappings":"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","file":"js/chunk-2d0a47fe.f078b80a.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport\"../../../../../../core/has.js\";import\"../../../../../../core/mathUtils.js\";import\"../../../../../../chunks/builtins.js\";import\"../../../../../webgl/checkWebGLError.js\";import e from\"../../../../../webgl/FramebufferObject.js\";import t from\"../../VertexStream.js\";const r=[1,0],s=[0,1];class i{constructor(){this._blurFBO=null,this._size=[0,0],this._programDesc={gaussianBlur:{vsPath:\"post-processing/pp\",fsPath:\"post-processing/blur/gaussianBlur\",attributes:{a_position:0}},radialBlur:{vsPath:\"post-processing/pp\",fsPath:\"post-processing/blur/radial-blur\",attributes:{a_position:0}},blit:{vsPath:\"post-processing/pp\",fsPath:\"post-processing/blit\",attributes:{a_position:0}}}}dispose(){this._blurFBO&&(this._blurFBO.dispose(),this._blurFBO=null)}draw(e,r,s){const{context:i}=e,{type:a,radius:n}=s;if(0===n)return;this._createOrResizeResources(e),this._quad||(this._quad=new t(i,[-1,-1,1,-1,-1,1,1,1]));const o=this._quad;o.bind(),\"blur\"===a?this._gaussianBlur(e,r,n):this._radialBlur(e,r),o.unbind()}_gaussianBlur(e,t,i){const{context:a,state:n,painter:o,pixelRatio:l}=e,{size:u}=n,{materialManager:d}=o,b=this._programDesc,c=this._quad,h=[Math.round(l*u[0]),Math.round(l*u[1])],p=this._blurFBO,_=d.getProgram(e,b.gaussianBlur,[{name:\"radius\",value:Math.ceil(i)}]);a.bindProgram(_),a.setBlendingEnabled(!1),a.bindFramebuffer(p),a.bindTexture(t.colorTexture,4),_.setUniform1i(\"u_colorTexture\",4),_.setUniform2fv(\"u_texSize\",h),_.setUniform2fv(\"u_direction\",r),_.setUniform1f(\"u_sigma\",i),c.draw(),a.bindFramebuffer(t),a.setStencilWriteMask(0),a.setStencilTestEnabled(!1),a.setDepthWriteEnabled(!1),a.setDepthTestEnabled(!1),a.bindTexture(p.colorTexture,5),_.setUniform1i(\"u_colorTexture\",5),_.setUniform2fv(\"u_direction\",s),c.draw(),a.setBlendingEnabled(!0),a.setBlendFunction(1,771),a.setStencilTestEnabled(!0)}_radialBlur(e,t){const{context:r,painter:s}=e,{materialManager:i}=s,a=this._programDesc,n=this._quad,o=this._blurFBO;r.bindFramebuffer(o);const l=i.getProgram(e,a.radialBlur);r.bindProgram(l),r.setBlendingEnabled(!1),r.bindTexture(t.colorTexture,4),l.setUniform1i(\"u_colorTexture\",4),n.draw(),r.bindFramebuffer(t),r.setStencilWriteMask(0),r.setStencilTestEnabled(!1),r.setDepthWriteEnabled(!1),r.setDepthTestEnabled(!1),r.setBlendingEnabled(!0);const u=i.getProgram(e,a.blit);r.bindProgram(u),r.bindTexture(o.colorTexture,5),u.setUniform1i(\"u_texture\",5),r.setBlendFunction(1,771),n.draw()}_createOrResizeResources(t){const{context:r,state:s,pixelRatio:i}=t,{size:a}=s,n=Math.round(i*a[0]),o=Math.round(i*a[1]);this._blurFBO&&this._size[0]===n&&this._size[1]===o||(this._size[0]=n,this._size[1]=o,this._blurFBO?this._blurFBO.resize(n,o):this._blurFBO=new e(r,{colorTarget:0,depthStencilTarget:0,width:n,height:o},{target:3553,pixelFormat:6408,internalFormat:6408,dataType:5121,wrapMode:33071,samplingMode:9729,flipped:!1,width:n,height:o}))}}export{i as Blur};\n"],"sourceRoot":""}