UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 1.52 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{setSingleImageTextures as e,setCoordsAndTransforms as t}from"./utils.js";const s={vsPath:"raster/rfx/vs",fsPath:"raster/hillshade",attributes:new Map([["a_position",0],["a_texcoord",1]])};function r(e,t){const{indexedColormap:r}=e.rasterFunction.parameters,o=[];return r?.length&&o.push("applyColormap"),e.painter.materialManager.getProgram(s,o)}function o(s,r,o){const i=s.rasterFunction.parameters,{indexedColormap:n}=i;e(s,r,o,n),t(r);const a=o.getRasterTextureSize();r.setUniform2fv("u_srcImageSize",a);const f=o.getRasterCellSize();r.setUniform2fv("u_cellSize",f);const{pixelSizeFactor:m}=i;if(0===m)r.setUniform2fv("u_factor",[i.factor[0]/f[0],i.factor[1]/f[1]]);else{const{zFactor:e,pixelSizePower:t,gcsFactor:s}=i,o=f[0]*s,n=f[1]*s,a=(e+o**t*m)/(8*o),c=(e+n**t*m)/(8*n);r.setUniform2fv("u_factor",[a,c])}r.setUniform1i("u_hillshadeType",i.hillshadeType),r.setUniform1fv("u_sinZcosAs",i.sinZcosAs),r.setUniform1fv("u_sinZsinAs",i.sinZsinAs),r.setUniform1fv("u_cosZs",i.cosZs),r.setUniform1fv("u_weights",i.weights),r.setUniform1f("u_opacity",1),r.setUniform1i("u_flipY",0),r.setUniform1f("u_scaling",255),r.setUniform1f("u_minValue",i.minValue),r.setUniform1f("u_maxValue",i.maxValue),n&&(r.setUniform1f("u_colormapOffset",i.offset),r.setUniform1f("u_colormapMaxIndex",n.length/4-1))}const i={createProgram:r,bindTextureAndUniforms:o};export{i as default};