UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

10 lines (9 loc) 1.1 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{FloatDrawUniform as o}from"../../shaderModules/FloatDrawUniform.js";import{FloatPassUniform as r}from"../../shaderModules/FloatPassUniform.js";import{glsl as t,If as e}from"../../shaderModules/glsl.js";import{AlphaDiscardMode as a}from"../../../lib/basicInterfaces.js";import{alphaCutoff as s}from"../../../../../../webscene/support/AlphaCutoff.js";function f(o,t){u(o,t,new r("textureAlphaCutoff",(o=>o.textureAlphaCutoff)))}function l(r,t){u(r,t,new o("textureAlphaCutoff",(o=>o.textureAlphaCutoff)))}function u(o,r,f){const l=o.fragment,u=r.alphaDiscardMode,d=u===a.Blend;u!==a.Mask&&u!==a.MaskBlend||l.uniforms.add(f),l.code.add(t` void discardOrAdjustAlpha(inout vec4 color) { ${u===a.Opaque?"color.a = 1.0;":`if (color.a < ${d?t.float(s):"textureAlphaCutoff"}) {\n discard;\n } ${e(u===a.Mask,"else { color.a = 1.0; }")}`} } `)}export{l as DiscardOrAdjustAlphaDraw,f as DiscardOrAdjustAlphaPass};