UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

3 lines (2 loc) 1.49 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */ import{__decorate as t,__param as e}from"tslib";import{GraphShaderModule as o,FragmentOutput as r,location as i,uniform as s,input as a,VertexInput as p,UniformGroup as n,FragmentInput as u}from"../../GraphShaderModule.js";import{Vec4 as d,IVec2 as x,Int as m,texelFetch as f,sqrt as l,Vec2 as g,Sampler2D as v,Float as c}from"../../graph/glsl.js";import{uvToClip as T}from"./utils.js";class y extends p{}t([i(0,g)],y.prototype,"position",void 0);class h extends u{}class D extends n{}t([s(v)],D.prototype,"minTexture",void 0),t([s(v)],D.prototype,"maxTexture",void 0),t([s(v)],D.prototype,"sumTexture",void 0),t([s(v)],D.prototype,"numOfNoDataTexture",void 0),t([s(v)],D.prototype,"diffSqTexture",void 0),t([s(c)],D.prototype,"numTexels",void 0);class S extends o{constructor(){super(...arguments),this.type="TextureStatisticsStdDevShader"}vertex(t){const e=t.position;return{uv:e,glPosition:new d(T(e),0,1)}}fragment(t){const e=new r,{minTexture:o,maxTexture:i,numOfNoDataTexture:s,sumTexture:a,diffSqTexture:p}=this.config,n=t.glFragCoord.xy,u=new x(n),d=new m(0),g=f(o,u,d),v=f(i,u,d),c=f(a,u,d),T=f(s,u,d).r,y=f(p,u,d),h=this.config.numTexels.subtract(T),D=c.divide(h),S=y.divide(h),w=l(S);return e.fragData0=g,e.fragData1=v,e.fragData2=D,e.fragData3=w,e}}t([s(D)],S.prototype,"config",void 0),t([e(0,a(y))],S.prototype,"vertex",null),t([e(0,a(h))],S.prototype,"fragment",null);export{S as TextureStatisticsStdDevShader};