UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 1.06 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 t,setCoordsAndTransforms as r}from"./utils.js";const a={vsPath:"raster/rfx/vs",fsPath:"raster/rfx/stretch",attributes:new Map([["a_position",0],["a_texcoord",1]])};function u(t,r){const{useGamma:u,bandCount:e,isOutputRounded:n}=t.rasterFunction.parameters,m=[];return u&&m.push("useGamma"),e>1&&m.push("multiBand"),n&&m.push("roundOutput"),t.painter.materialManager.getProgram(a,m)}function e(a,u,e){t(a,u,e),r(u);const{width:n,height:m}=e,o=a.rasterFunction.parameters;u.setUniform2fv("u_srcImageSize",[n,m]),u.setUniform1f("u_minOutput",o.minOutput),u.setUniform1f("u_maxOutput",o.maxOutput),u.setUniform1fv("u_factor",o.factor),u.setUniform1fv("u_minCutOff",o.minCutOff),u.setUniform1fv("u_maxCutOff",o.maxCutOff),u.setUniform1fv("u_gamma",o.gamma),u.setUniform1fv("u_gammaCorrection",o.gammaCorrection)}const n={createProgram:u,bindTextureAndUniforms:e};export{n as default};