// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define(["exports","../../core/libs/gl-matrix-2/factories/vec2f64","./enums","./Texture","./TextureDescriptor"],function(k,u,e,q,r){k.createColormapTexture=function(a,b){const g=new r.TextureDescriptor;g.internalFormat=e.PixelFormat.RGBA;g.width=b.length/4;g.height=1;g.samplingMode=e.TextureSamplingMode.NEAREST;g.wrapMode=e.TextureWrapMode.CLAMP_TO_EDGE;return new q.Texture(a,g,b)};k.createRasterTexture=function(a,b,g="nearest",c=!1){const f=(c=!(c&&"u8"===b.pixelType))?e.PixelType.FLOAT:e.PixelType.UNSIGNED_BYTE, d=null==b.pixels||0===b.pixels.length?null:c?b.getAsRGBAFloat():b.getAsRGBA(),m=a.capabilities.textureFloatLinear,h=new r.TextureDescriptor;h.width=b.width;h.height=b.height;h.internalFormat=c?e.SizedPixelFormat.RGBA32F:e.PixelFormat.RGBA;h.samplingMode=!m||"bilinear"!==g&&"cubic"!==g?e.TextureSamplingMode.NEAREST:e.TextureSamplingMode.LINEAR;h.dataType=f;h.wrapMode=e.TextureWrapMode.CLAMP_TO_EDGE;return new q.Texture(a,h,d)};k.createTransformTexture=function(a,b){const {spacing:g,offsets:c,coefficients:f, size:[d,m]}=b;var h=1null==f)||g.some(f=>null==f)||g.forEach((f,d)=>{b.setUniform1i(f,d);a.bindTexture(c[d],d)}))};k.setUniforms=function(a,b,g){Object.keys(g).forEach(c=>{var f=b.get(c)||b.get(c+"[0]");if(f){var d=g[c];if(null!==f&&null!=d)switch({info:f}=f,f.type){case e.UniformType.FLOAT:1