/* COPYRIGHT Esri - https://js.arcgis.com/5.1.0/LICENSE.txt */
import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{CompositeBandShader as t}from"../../shaders/raster/processor/CompositeBandShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterCompositeBandProcessor",this.type=7,this.shaders={compositeBand:new t}}_process(e,t){const{rasters:s}=e.rasterFunction.parameters,r={constantCount:this._getConstantCount(s),imageCount:s?.length??1},{twoRasterConfig:o,threeRasterConfig:n,twoRasterTextures:a,threeRasterTextures:i}=this._getMultipleInputConfig(t,s),{config:u,textures:h}=this._getCommonConfig(e,t),p={shader:this.shaders.compositeBand,uniforms:{config:u,twoRasterConfig:o,threeRasterConfig:n},textures:{...h,twoRasterTextures:a,threeRasterTextures:i},defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:c,context:m}=e;c.submitDrawMesh(m,p,c.quadMesh)}}export{s as CompositeBandTechnique};
