@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
12 lines (10 loc) • 2.26 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.19/LICENSE.txt */
import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as r}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{terrainDepthTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as g}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";function u(u){const v=new c,{vertex:b,fragment:w,attributes:m,varyings:p}=v,{hasVVColor:f,hasVertexColors:h}=u;return a(b,u),v.include(r),v.include(i,u),v.include(s,u),v.include(o,u),w.include(e,u),v.include(g,u),v.include(l,u),m.add("position","vec3"),f&&m.add("colorFeatureAttribute","float"),h||p.add("vColor","vec4"),p.add("vpos","vec3",{invariant:!0}),b.uniforms.add(new d("uColor",e=>e.color)),b.main.add(n`
vpos = position;
forwardVertexColor();
forwardObjectAndLayerIdColor();
${h?"vColor *= uColor;":f?"vColor = uColor * interpolateVVColor(colorFeatureAttribute);":"vColor = uColor;"}
forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
gl_Position = transformPosition(proj, view, vpos);`),w.include(t),w.main.add(n`discardBySlice(vpos);
discardByTerrainDepth();
outputColorHighlightOLID(applySlice(vColor, vpos), vColor.rgb);`),v}const v=Object.freeze(Object.defineProperty({__proto__:null,build:u},Symbol.toStringTag,{value:"Module"}));export{v as C,u as b};