{"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","materialManager","h","p","d","width","c","height","m","Math","round","blurRadius","_","offsetX","f","offsetY","B","color","g","b","_createOrResizeResources","F","w","setStencilWriteMask","setStencilTestEnabled","setDepthWriteEnabled","setDepthTestEnabled","x","copyToTexture","_quad","setViewport","T","bind","setBlendingEnabled","O","getProgram","name","value","ceil","useProgram","bindFramebuffer","bindTexture","colorTexture","setUniformMatrix3fv","displayMat3","setUniform2fv","setUniform1i","setUniform1f","draw","v","setUniform4fv","setBlendFunction","unbind","e","i","resize","colorTarget","depthStencilTarget","target","pixelFormat","internalFormat","dataType","wrapMode","samplingMode","flipped"],"mappings":"kHAAA,kLAI+f,MAAMA,EAAE,CAAC,EAAE,GAAGC,EAAE,CAAC,EAAE,GAAG,MAAMC,EAAE,cAAcC,KAAKC,mBAAmB,KAAKD,KAAKE,iBAAiB,KAAKF,KAAKG,MAAM,CAAC,EAAE,GAAGH,KAAKI,aAAa,CAACC,KAAK,CAACC,OAAO,8BAA8BC,OAAO,oCAAoCC,WAAW,IAAIC,IAAI,CAAC,CAAC,aAAa,MAAMC,UAAU,CAACJ,OAAO,qBAAqBC,OAAO,wCAAwCC,WAAW,IAAIC,IAAI,CAAC,CAAC,aAAa,MAAME,KAAK,CAACL,OAAO,qBAAqBC,OAAO,uBAAuBC,WAAW,IAAIC,IAAI,CAAC,CAAC,aAAa,OAAO,UAAUT,KAAKY,mBAAmBZ,KAAKY,iBAAiBC,UAAUb,KAAKY,iBAAiB,MAAMZ,KAAKC,qBAAqBD,KAAKC,mBAAmBY,UAAUb,KAAKC,mBAAmB,MAAMD,KAAKE,mBAAmBF,KAAKE,iBAAiBW,UAAUb,KAAKE,iBAAiB,MAAM,KAAKY,EAAEC,EAAEhB,GAAG,MAAMiB,QAAQC,EAAEC,MAAMC,EAAEC,QAAQC,GAAGP,GAAGQ,gBAAgBC,GAAGF,EAAEG,EAAExB,KAAKI,aAAaqB,EAAEV,EAAEW,MAAMC,EAAEZ,EAAEa,OAAOC,EAAE,CAACC,KAAKC,MAAMN,EAAE,GAAGK,KAAKC,MAAMJ,EAAE,KAAKK,WAAWC,EAAEC,QAAQC,EAAEC,QAAQC,EAAEC,MAAMC,GAAGxC,EAAEyC,EAAE,CAAC,eAAEL,EAAE,GAAG,eAAEE,EAAE,IAAIrC,KAAKyC,yBAAyB3B,EAAEW,EAAEE,EAAEE,GAAG,MAAMa,EAAE1C,KAAKC,mBAAmB0C,EAAE3C,KAAKE,iBAAiBe,EAAE2B,oBAAoB,GAAG3B,EAAE4B,uBAAsB,GAAI5B,EAAE6B,sBAAqB,GAAI7B,EAAE8B,qBAAoB,GAAI,MAAMC,EAAEhD,KAAKY,iBAAiBG,EAAEkC,cAAc,EAAE,EAAExB,EAAEE,EAAE,EAAE,EAAEqB,GAAGhD,KAAKkD,QAAQlD,KAAKkD,MAAM,IAAI,OAAEjC,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,KAAKA,EAAEkC,YAAY,EAAE,EAAEtB,EAAE,GAAGA,EAAE,IAAI,MAAMuB,EAAEpD,KAAKkD,MAAME,EAAEC,OAAOpC,EAAEqC,oBAAmB,GAAI,MAAMC,EAAEhC,EAAEiC,WAAW1C,EAAEU,EAAEnB,KAAK,CAAC,CAACoD,KAAK,SAASC,MAAM5B,KAAK6B,KAAK1B,MAAMhB,EAAE2C,WAAWL,GAAGtC,EAAE4C,gBAAgBnB,GAAGzB,EAAE6C,YAAY/C,EAAEgD,aAAa,GAAGR,EAAES,oBAAoB,oBAAoB7C,EAAE8C,aAAaV,EAAEW,cAAc,WAAW1B,GAAGe,EAAEY,aAAa,iBAAiB,GAAGZ,EAAEW,cAAc,YAAYrC,GAAG0B,EAAEW,cAAc,cAAcrE,GAAG0D,EAAEa,aAAa,UAAUnC,GAAGmB,EAAEiB,OAAOpD,EAAE4C,gBAAgBlB,GAAG1B,EAAE6C,YAAYpB,EAAEqB,aAAa,GAAGR,EAAES,oBAAoB,oBAAoB7C,EAAE8C,aAAaV,EAAEW,cAAc,WAAW,CAAC,EAAE,IAAIX,EAAEY,aAAa,iBAAiB,GAAGZ,EAAEW,cAAc,cAAcpE,GAAGsD,EAAEiB,OAAOpD,EAAE4C,gBAAgB9C,GAAGE,EAAEkC,YAAY,EAAE,EAAE1B,EAAEE,GAAG,MAAM2C,EAAE/C,EAAEiC,WAAW1C,EAAEU,EAAEd,WAAWO,EAAE2C,WAAWU,GAAGrD,EAAE6C,YAAYnB,EAAEoB,aAAa,GAAGO,EAAEH,aAAa,gBAAgB,GAAGlD,EAAE6C,YAAYd,EAAE,GAAGsB,EAAEH,aAAa,oBAAoB,GAAGG,EAAEC,cAAc,gBAAgB,CAAChC,EAAE,IAAIA,EAAE,GAAG,KAAKA,EAAE,IAAIA,EAAE,GAAG,KAAKA,EAAE,IAAIA,EAAE,GAAG,KAAKA,EAAE,KAAKa,EAAEiB,OAAOpD,EAAEqC,oBAAmB,GAAIrC,EAAE4B,uBAAsB,GAAI5B,EAAEuD,iBAAiB,EAAE,KAAKpB,EAAEqB,SAAS,yBAAyBC,EAAEC,EAAE9E,EAAEC,GAAG,MAAMkB,QAAQjB,GAAG2E,EAAE1E,KAAKC,oBAAoBD,KAAKG,MAAM,KAAKwE,GAAG3E,KAAKG,MAAM,KAAKN,IAAIG,KAAKG,MAAM,GAAGwE,EAAE3E,KAAKG,MAAM,GAAGN,EAAEG,KAAKC,mBAAmBD,KAAKC,mBAAmB2E,OAAO9E,EAAE,GAAGA,EAAE,IAAIE,KAAKC,mBAAmB,IAAI,OAAEF,EAAE,CAAC8E,YAAY,EAAEC,mBAAmB,EAAEpD,MAAM5B,EAAE,GAAG8B,OAAO9B,EAAE,IAAI,CAACiF,OAAO,KAAKC,YAAY,KAAKC,eAAe,KAAKC,SAAS,KAAKC,SAAS,MAAMC,aAAa,KAAKC,SAAQ,EAAG3D,MAAM5B,EAAE,GAAG8B,OAAO9B,EAAE,KAAKE,KAAKE,iBAAiBF,KAAKE,iBAAiB0E,OAAO9E,EAAE,GAAGA,EAAE,IAAIE,KAAKE,iBAAiB,IAAI,OAAEH,EAAE,CAAC8E,YAAY,EAAEC,mBAAmB,EAAEpD,MAAM5B,EAAE,GAAG8B,OAAO9B,EAAE,IAAI,CAACiF,OAAO,KAAKC,YAAY,KAAKC,eAAe,KAAKC,SAAS,KAAKC,SAAS,MAAMC,aAAa,KAAKC,SAAQ,EAAG3D,MAAM5B,EAAE,GAAG8B,OAAO9B,EAAE,KAAKE,KAAKY,iBAAiBZ,KAAKY,iBAAiBgE,OAAOD,EAAE9E,GAAGG,KAAKY,iBAAiB,IAAI,OAAEb,EAAE,CAACgF,OAAO,KAAKC,YAAY,KAAKC,eAAe,KAAKC,SAAS,KAAKC,SAAS,MAAMC,aAAa,KAAKC,SAAQ,EAAG3D,MAAMiD,EAAE/C,OAAO/B","file":"js/chunk-2d0e1788.07a107af.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.21/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/checkWebGLError.js\";import\"../../../../../webgl/enums.js\";import\"../../../../../../chunks/builtins.js\";import\"../../../../../webgl/renderState.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}=t,{materialManager:h}=u,p=this._programDesc,d=r.width,c=r.height,m=[Math.round(d/2),Math.round(c/2)],{blurRadius:_,offsetX:f,offsetY:B,color:g}=a,b=[e(f/2),e(B/2)];this._createOrResizeResources(t,d,c,m);const F=this._horizontalBlurFBO,w=this._verticalBlurFBO;l.setStencilWriteMask(0),l.setStencilTestEnabled(!1),l.setDepthWriteEnabled(!1),l.setDepthTestEnabled(!1);const x=this._layerFBOTexture;r.copyToTexture(0,0,d,c,0,0,x),this._quad||(this._quad=new i(l,[-1,-1,1,-1,-1,1,1,1])),l.setViewport(0,0,m[0],m[1]);const T=this._quad;T.bind(),l.setBlendingEnabled(!1);const O=h.getProgram(t,p.blur,[{name:\"radius\",value:Math.ceil(_)}]);l.useProgram(O),l.bindFramebuffer(F),l.bindTexture(r.colorTexture,4),O.setUniformMatrix3fv(\"u_displayViewMat3\",n.displayMat3),O.setUniform2fv(\"u_offset\",b),O.setUniform1i(\"u_colorTexture\",4),O.setUniform2fv(\"u_texSize\",m),O.setUniform2fv(\"u_direction\",s),O.setUniform1f(\"u_sigma\",_),T.draw(),l.bindFramebuffer(w),l.bindTexture(F.colorTexture,5),O.setUniformMatrix3fv(\"u_displayViewMat3\",n.displayMat3),O.setUniform2fv(\"u_offset\",[0,0]),O.setUniform1i(\"u_colorTexture\",5),O.setUniform2fv(\"u_direction\",o),T.draw(),l.bindFramebuffer(r),l.setViewport(0,0,d,c);const v=h.getProgram(t,p.composite);l.useProgram(v),l.bindTexture(w.colorTexture,2),v.setUniform1i(\"u_blurTexture\",2),l.bindTexture(x,3),v.setUniform1i(\"u_layerFBOTexture\",3),v.setUniform4fv(\"u_shadowColor\",[g[3]*(g[0]/255),g[3]*(g[1]/255),g[3]*(g[2]/255),g[3]]),T.draw(),l.setBlendingEnabled(!0),l.setStencilTestEnabled(!0),l.setBlendFunction(1,771),T.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":""}