{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/effects/post-processing/DropShadow.js"],"names":["s","o","a","this","_horizontalBlurFBO","_verticalBlurFBO","_size","_programDesc","blur","vsPath","fsPath","attributes","Map","composite","blit","_layerFBOTexture","dispose","t","r","context","l","state","n","painter","u","pixelRatio","h","materialManager","p","d","c","width","m","height","_","Math","round","blurRadius","f","offsetX","B","offsetY","g","color","b","F","_createOrResizeResources","w","x","setStencilWriteMask","setStencilTestEnabled","setDepthWriteEnabled","setDepthTestEnabled","T","copyToTexture","_quad","setViewport","O","bind","setBlendingEnabled","v","getProgram","name","value","ceil","useProgram","bindFramebuffer","bindTexture","colorTexture","setUniformMatrix3fv","displayMat3","setUniform2fv","setUniform1i","setUniform1f","draw","z","setUniform4fv","setBlendFunction","unbind","e","i","resize","colorTarget","depthStencilTarget","target","pixelFormat","internalFormat","dataType","wrapMode","samplingMode","flipped"],"mappings":"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","file":"js/chunk-2d0e1788.eb57dafc.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.20/esri/copyright.txt for details.\n*/\nimport{pt2px as e}from\"../../../../../../core/screenUtils.js\";import\"../../../../../webgl/BufferObject.js\";import t from\"../../../../../webgl/FramebufferObject.js\";import\"../../../../../../core/has.js\";import\"../../../../../webgl/enums.js\";import\"../../../../../webgl/RenderingContext.js\";import\"../../../../../../chunks/builtins.js\";import r from\"../../../../../webgl/Texture.js\";import\"../../../../../webgl/VertexArrayObject.js\";import i from\"../../VertexStream.js\";const s=[1,0],o=[0,1];class a{constructor(){this._horizontalBlurFBO=null,this._verticalBlurFBO=null,this._size=[0,0],this._programDesc={blur:{vsPath:\"post-processing/drop-shadow\",fsPath:\"post-processing/blur/gaussianBlur\",attributes:new Map([[\"a_position\",0]])},composite:{vsPath:\"post-processing/pp\",fsPath:\"post-processing/drop-shadow/composite\",attributes:new Map([[\"a_position\",0]])},blit:{vsPath:\"post-processing/pp\",fsPath:\"post-processing/blit\",attributes:new Map([[\"a_position\",0]])}}}dispose(){this._layerFBOTexture&&(this._layerFBOTexture.dispose(),this._layerFBOTexture=null),this._horizontalBlurFBO&&(this._horizontalBlurFBO.dispose(),this._horizontalBlurFBO=null),this._verticalBlurFBO&&(this._verticalBlurFBO.dispose(),this._verticalBlurFBO=null)}draw(t,r,a){const{context:l,state:n,painter:u,pixelRatio:h}=t,{materialManager:p}=u,d=this._programDesc,c=r.width,m=r.height,_=[Math.round(c/2),Math.round(m/2)],{blurRadius:f,offsetX:B,offsetY:g,color:b}=a,F=[h*e(B/2),h*e(g/2)];this._createOrResizeResources(t,c,m,_);const w=this._horizontalBlurFBO,x=this._verticalBlurFBO;l.setStencilWriteMask(0),l.setStencilTestEnabled(!1),l.setDepthWriteEnabled(!1),l.setDepthTestEnabled(!1);const T=this._layerFBOTexture;r.copyToTexture(0,0,c,m,0,0,T),this._quad||(this._quad=new i(l,[-1,-1,1,-1,-1,1,1,1])),l.setViewport(0,0,_[0],_[1]);const O=this._quad;O.bind(),l.setBlendingEnabled(!1);const v=p.getProgram(t,d.blur,[{name:\"radius\",value:Math.ceil(f)}]);l.useProgram(v),l.bindFramebuffer(w),l.bindTexture(r.colorTexture,4),v.setUniformMatrix3fv(\"u_displayViewMat3\",n.displayMat3),v.setUniform2fv(\"u_offset\",F),v.setUniform1i(\"u_colorTexture\",4),v.setUniform2fv(\"u_texSize\",_),v.setUniform2fv(\"u_direction\",s),v.setUniform1f(\"u_sigma\",f),O.draw(),l.bindFramebuffer(x),l.bindTexture(w.colorTexture,5),v.setUniformMatrix3fv(\"u_displayViewMat3\",n.displayMat3),v.setUniform2fv(\"u_offset\",[0,0]),v.setUniform1i(\"u_colorTexture\",5),v.setUniform2fv(\"u_direction\",o),O.draw(),l.bindFramebuffer(r),l.setViewport(0,0,c,m);const z=p.getProgram(t,d.composite);l.useProgram(z),l.bindTexture(x.colorTexture,2),z.setUniform1i(\"u_blurTexture\",2),l.bindTexture(T,3),z.setUniform1i(\"u_layerFBOTexture\",3),z.setUniform4fv(\"u_shadowColor\",[b[3]*(b[0]/255),b[3]*(b[1]/255),b[3]*(b[2]/255),b[3]]),O.draw(),l.setBlendingEnabled(!0),l.setStencilTestEnabled(!0),l.setBlendFunction(1,771),O.unbind()}_createOrResizeResources(e,i,s,o){const{context:a}=e;this._horizontalBlurFBO&&this._size[0]===i&&this._size[1]===s||(this._size[0]=i,this._size[1]=s,this._horizontalBlurFBO?this._horizontalBlurFBO.resize(o[0],o[1]):this._horizontalBlurFBO=new t(a,{colorTarget:0,depthStencilTarget:0,width:o[0],height:o[1]},{target:3553,pixelFormat:6408,internalFormat:6408,dataType:5121,wrapMode:33071,samplingMode:9729,flipped:!1,width:o[0],height:o[1]}),this._verticalBlurFBO?this._verticalBlurFBO.resize(o[0],o[1]):this._verticalBlurFBO=new t(a,{colorTarget:0,depthStencilTarget:0,width:o[0],height:o[1]},{target:3553,pixelFormat:6408,internalFormat:6408,dataType:5121,wrapMode:33071,samplingMode:9729,flipped:!1,width:o[0],height:o[1]}),this._layerFBOTexture?this._layerFBOTexture.resize(i,s):this._layerFBOTexture=new r(a,{target:3553,pixelFormat:6408,internalFormat:6408,dataType:5121,wrapMode:33071,samplingMode:9729,flipped:!1,width:i,height:s}))}}export{a as DropShadow};\n"],"sourceRoot":""}