/* COPYRIGHT Esri - https://js.arcgis.com/5.0.18/LICENSE.txt */
import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{computeZFactor as s}from"../../shaders/raster/surface.js";import{HillshadeShader as r}from"../../shaders/raster/processor/HillshadeShader.js";class t extends e{constructor(){super(...arguments),this.name="RasterHillshadeProcessor",this.type=14,this.shaders={hillshade:new r}}_process(e,r){const t=e.rasterFunction.parameters,a={isMultidirectional:t.hillshadeType>0},i=r.getRasterCellSize(),o=s(t,i),h={...t,factor:o,minValue:0,maxValue:8e3},l=this._getCommonConfig(e,r),n={shader:this.shaders.hillshade,uniforms:{config:l,hillshadeConfig:h},defines:a,optionalAttributes:null,useComputeBuffer:!1},{painter:d,context:u}=e;d.submitDrawMesh(u,n,d.quadMesh)}}export{t as HillshadeTechnique};
