/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{WaterDistortionPassParameters as s}from"../core/shaderLibrary/shading/WaterDistortion.glsl.js";import{ReloadableShader as t}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{olidEnabled as i}from"../effects/geometry/olidUtils.js";import{oitPolygonOffset as a,drawBuffers as n,depthWrite as l,depthTest as m,blending as p}from"../lib/OrderIndependentTransparency.js";import{PositionUvf32OlidGLLayout as d,PositionUvf32GLLayout as c}from"./DefaultLayouts.js";import{W as f}from"../../../../chunks/Water.glsl.js";import{makePipelineState as h,defaultColorWrite as u}from"../../../webgl/renderState.js";class g extends s{}let j=class extends o{constructor(e,r){super(e,r,i()?d:c),this.shader=new t(f,()=>import("./Water.glsl.js"))}initializePipeline(e){const{oitPass:r,output:s,hasEmission:t,transparent:o,draped:i}=e;return h({blending:2!==s&&8!==s&&9!==s&&o?p(r):null,depthTest:i?null:m(r),depthWrite:l(e),drawBuffers:n(r,t),colorWrite:u,polygonOffset:a(e)})}};j=e([r("esri.views.3d.webgl-engine.materials.WaterTechnique")],j);export{g as WaterMaterialPassParameters,j as WaterTechnique};
