@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
8 lines (7 loc) • 1.88 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */
import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{RgbaFloatEncoding as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{Float2BindUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as i,If as t}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as l}from"../views/webgl/NoParameters.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";class m extends l{constructor(){super(...arguments),this.opacity=1}}function g(l){const m=new d,{blendEmissive:g,blitMode:c,hasOpacityFactor:f}=l;m.include(e),m.fragment.uniforms.add(new n("tex",e=>e.texture)),f&&m.fragment.uniforms.add(new s("opacity",e=>e.opacity));const u=3===c;return u&&(m.fragment.uniforms.add(new a("nearFar",e=>e.camera.nearFar)),m.fragment.include(r),m.fragment.include(o)),g&&(m.outputs.add("fragColor","vec4",0),m.outputs.add("fragEmission","vec4",1)),m.fragment.main.add(i`
${u?i`
float normalizedLinearDepth = (-linearDepthFromTexture(tex, uv) - nearFar[0]) / (nearFar[1] - nearFar[0]);
fragColor = floatToRgba(normalizedLinearDepth);`:i`
fragColor = texture(tex, uv) ${f?"* opacity":""};`}
${t(g,"fragEmission = vec4(0.0, 0.0, 0.0, fragColor.a);")}`),m}const c=Object.freeze(Object.defineProperty({__proto__:null,CompositingPassParameters:m,build:g},Symbol.toStringTag,{value:"Module"}));export{m as C,c as a,g as b};