/* COPYRIGHT Esri - https://js.arcgis.com/5.1.2/LICENSE.txt */
import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{ConvolutionShader as s}from"../../shaders/raster/processor/ConvolutionShader.js";class o extends e{constructor(){super(...arguments),this.name="RasterConvolutionProcessor",this.type=10,this.shaders={convolution:new s}}_process(e,s){const o=e.rasterFunction.parameters,r={rows:o.kernelRows,cols:o.kernelCols},t={kernel:[...o.kernel],clampRange:o.clampRange},{config:n,textures:i}=this._getCommonConfig(e,s),a={shader:this.shaders.convolution,uniforms:{config:n,convolutionConfig:t},textures:i,defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:c,context:u}=e;c.submitDrawMesh(u,a,c.quadMesh)}}export{o as ConvolutionTechnique};
