OverlayCompositing.glsl.js 1.4 KB

12345678
  1. /*
  2. All material copyright ESRI, All Rights Reserved, unless otherwise specified.
  3. See https://js.arcgis.com/4.25/esri/copyright.txt for details.
  4. */
  5. import{OverlayIndex as e}from"../views/3d/terrain/interfaces.js";import{ScreenSpacePass as r}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.js";import{FloatPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{IntegerPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{NoParameters as a,glsl as i}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as n}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DPassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";class d extends a{constructor(){super(...arguments),this.overlayIndex=e.INNER,this.opacity=1}}function l(){const e=new n;return e.include(r),e.fragment.uniforms.add(new t("tex",(e=>e.texture))),e.fragment.uniforms.add(new s("overlayIdx",(e=>e.overlayIndex))),e.fragment.uniforms.add(new o("opacity",(e=>e.opacity))),e.fragment.code.add(i`void main() {
  6. vec2 overlayUV = overlayIdx == 0 ? vec2(uv.x * 0.5, uv.y) : vec2(uv.x * 0.5 + 0.5, uv.y);
  7. gl_FragColor = texture2D(tex, overlayUV) * opacity;
  8. }`),e}const m=Object.freeze(Object.defineProperty({__proto__:null,OverlayCompositingPassParameters:d,build:l},Symbol.toStringTag,{value:"Module"}));export{d as O,m as a,l as b};