@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.3 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
*/
import{isColorOrColorEmission as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as i}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{depthCompareLess as t,stencilWriteMaskOn as l,stencilToolMaskBaseParams as s,stencilBaseAllZerosParams as n}from"../lib/StencilUtils.js";import{N as o}from"../../../../chunks/NativeLine.glsl.js";import{PrimitiveType as u}from"../../../webgl/enums.js";import{makePipelineState as p,defaultColorWrite as c,defaultDepthWrite as a,premultipliedAlphaToPremultipliedAlpha as m}from"../../../webgl/renderState.js";class d extends r{constructor(e,r){super(e,r,new i(o,(()=>import("./NativeLine.glsl.js")))),this.primitiveType=u.LINES}initializePipeline(i){const{hasOccludees:r,output:o,transparent:u}=i,d=(e,i=null,o=null)=>p({blending:i,depthTest:t,depthWrite:o,colorWrite:c,stencilWrite:r?l:null,stencilTest:r?e?s:n:null});return e(o)?(this._occludeePipeline=d(!0,u?m:null,a),d(!1,u?m:null,a)):d(!1)}getPipeline(e){return e?this._occludeePipeline:super.getPipeline()}}export{d as NativeLineTechnique};