/*
All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
*/
import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{ConvolutionShader as o}from"../../shaders/raster/processor/ConvolutionShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterConvolutionProcessor",this.type=9,this.shaders={convolution:new o}}_process(e,o){const s=e.rasterFunction.parameters,r={rows:s.kernelRows,cols:s.kernelCols},n={kernel:[...s.kernel],clampRange:s.clampRange},t=this._getCommonConfig(e,o),i={shader:this.shaders.convolution,uniforms:{config:t,convolutionConfig:n},defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:a,context:c}=e;a.submitDrawMesh(c,i,a.quadMesh)}}export{s as ConvolutionTechnique};
