/* COPYRIGHT Esri - https://js.arcgis.com/5.1.0/LICENSE.txt */
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as a,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";import{ComplexFillShader as n}from"../shaders/ComplexFillShader.js";class m extends e{constructor(){super(...arguments),this.type=10,this.shaders={geometry:new n}}render(e,n){const{painter:m}=e,f=n.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,f.uniforms),...i(e,n.target),mosaicInfo:m.textureManager.getMosaicInfo(e,n.textureKey),localTileOffset:a(n.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(u(e)),m.submitDraw(e,n)}}export{m as ComplexFillTechnique};
