@arcgis/core 4.23.0-next.20220127 → 4.23.0-next.20220128
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0463ba46df855a92b9c0.js +1 -0
- package/assets/esri/core/workers/chunks/{e657ba0cab29f05d02da.js → 0cd0a6eef51fc5b9ea61.js} +1 -1
- package/assets/esri/core/workers/chunks/{e4896cf85fb2da8a9cc7.js → 17de7a324dfa7f57ad5d.js} +1 -1
- package/assets/esri/core/workers/chunks/{c36f84daa7736878418d.js → 197ec52641aed20029c6.js} +1 -1
- package/assets/esri/core/workers/chunks/{0317f37b6c8705b363fd.js → 1c733b7db092a2a88ef3.js} +1 -1
- package/assets/esri/core/workers/chunks/{9387db408f496e7dd003.js → 214910032945dd2d86b0.js} +1 -1
- package/assets/esri/core/workers/chunks/{d835b2a683fcd8aeeed8.js → 27474b007988855bea9d.js} +1 -1
- package/assets/esri/core/workers/chunks/{8001b0e514bfffe9d7f8.js → 357033117dfe61eb81ea.js} +1 -1
- package/assets/esri/core/workers/chunks/{5948923e07bd1662c24a.js → 37c03cfc19086ce631c6.js} +1 -1
- package/assets/esri/core/workers/chunks/3c673495e5f507c4a9e5.js +1 -0
- package/assets/esri/core/workers/chunks/44f0c3663b293afbd172.js +1 -0
- package/assets/esri/core/workers/chunks/483d5d8593d96d0f0b15.js +1 -0
- package/assets/esri/core/workers/chunks/49a1a633bb0d93764aae.js +1 -0
- package/assets/esri/core/workers/chunks/{5f1dcb6556820cd0aa31.js → 4be35af7d6babbfe9d84.js} +1 -1
- package/assets/esri/core/workers/chunks/{f9ff3eaf4eb324429fbd.js → 5457962a70bd3c557a75.js} +1 -1
- package/assets/esri/core/workers/chunks/57856b4a9b8784a69844.js +1 -0
- package/assets/esri/core/workers/chunks/{56274b37ff74ca0d68a6.js → 5d11b97b667921d67ae7.js} +1 -1
- package/assets/esri/core/workers/chunks/{ba5eb394f098968c22d2.js → 655b55ac0cd533d7e9d7.js} +1 -1
- package/assets/esri/core/workers/chunks/7903a3e2e0faff0f86c0.js +1 -0
- package/assets/esri/core/workers/chunks/918bb7a7d901544a7367.js +1 -0
- package/assets/esri/core/workers/chunks/949b2269457302ffc64b.js +1 -0
- package/assets/esri/core/workers/chunks/{601e697dc7414bda128a.js → 952980635afc7ec81804.js} +1 -1
- package/assets/esri/core/workers/chunks/{e8741bf421f80213f1d3.js → 9876a1bae350795fab36.js} +1 -1
- package/assets/esri/core/workers/chunks/99619fcb772807c74f3b.js +1 -0
- package/assets/esri/core/workers/chunks/{3f343f792fd9f44d6f25.js → b3f5e91116112b0b612a.js} +1 -1
- package/assets/esri/core/workers/chunks/{4c76146014dc15143ba3.js → be588873c16770ceb9ef.js} +1 -1
- package/assets/esri/core/workers/chunks/d1fe53b597351dc58305.js +1 -0
- package/assets/esri/core/workers/chunks/{b62e3dccd9f662c0afeb.js → db3c729ce0c0b2690dc9.js} +1 -1
- package/assets/esri/core/workers/chunks/{199670a3a564ebe3bd79.js → e218bde41ffbcc5194f5.js} +1 -1
- package/assets/esri/core/workers/chunks/e21b211913aefde47e30.js +1 -0
- package/assets/esri/core/workers/chunks/{c9cbf8135e95f0f42cd9.js → e287f49184d076af17e2.js} +1 -1
- package/assets/esri/core/workers/chunks/{bde1d5b0a7717350986e.js → e4019b63a1fe74e2c842.js} +1 -1
- package/assets/esri/core/workers/chunks/{6e6a3c5866e8d8820457.js → eb82ff10cef2bde6e57f.js} +1 -1
- package/assets/esri/core/workers/chunks/ebc6f4764b82d4104c65.js +1 -0
- package/assets/esri/core/workers/chunks/{842db82733635dbf25cb.js → ee6e0db58dc64410e687.js} +1 -1
- package/assets/esri/core/workers/chunks/f0a9f161805fc7a30fc5.js +1 -0
- package/assets/esri/core/workers/chunks/ff6abdc72076f3994659.js +981 -0
- package/chunks/BlendLayers.glsl.js +2 -2
- package/chunks/ChapmanAtmosphere.glsl.js +17 -17
- package/chunks/CheckerBoard.glsl.js +3 -3
- package/chunks/Clouds.glsl.js +2 -2
- package/chunks/CloudsComposition.glsl.js +1 -1
- package/chunks/ColorMaterial.glsl.js +12 -12
- package/chunks/ComponentShader.glsl.js +3 -3
- package/chunks/Compositing.glsl.js +1 -1
- package/chunks/DefaultMaterial.glsl.js +33 -33
- package/chunks/EdgeShaderProgram.glsl.js +7 -7
- package/chunks/Fog.glsl.js +10 -12
- package/chunks/HUDMaterial.glsl.js +2 -2
- package/chunks/HighlightComposition.glsl.js +5 -5
- package/chunks/ImageMaterial.glsl.js +6 -6
- package/chunks/LaserlinePath.glsl.js +8 -8
- package/chunks/LineCallout.glsl.js +6 -6
- package/chunks/MeasurementArrow.glsl.js +1 -1
- package/chunks/NativeLine.glsl.js +1 -1
- package/chunks/Path.glsl.js +5 -5
- package/chunks/Pattern.glsl.js +9 -9
- package/chunks/PointRenderer.glsl.js +14 -14
- package/chunks/Precipitation.glsl.js +2 -2
- package/chunks/RealisticTree.glsl.js +21 -21
- package/chunks/RibbonLine.glsl.js +11 -11
- package/chunks/SMAA.glsl.js +40 -40
- package/chunks/ShadedColorMaterial.glsl.js +12 -12
- package/chunks/ShadowCast.glsl.js +6 -6
- package/chunks/ShadowHighlight.glsl.js +4 -4
- package/chunks/SimpleAtmosphere.glsl.js +3 -3
- package/chunks/SlicePlaneMaterial.glsl.js +3 -3
- package/chunks/Stars.glsl.js +3 -3
- package/chunks/Terrain.glsl.js +11 -11
- package/chunks/TextureOnly.glsl.js +2 -2
- package/chunks/WaterSurface.glsl.js +5 -5
- package/chunks/boundedPlane.js +1 -1
- package/core/accessorSupport/watch.js +1 -1
- package/core/loadAll.js +1 -1
- package/geometry/support/frustum.js +1 -1
- package/geometry/support/plane.js +1 -1
- package/interfaces.d.ts +204 -10
- package/layers/VectorTileLayer.js +1 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/graphics/featureConversionUtils.js +1 -1
- package/layers/support/LayerContingentValuesCache.js +1 -1
- package/layers/support/TileInfo.js +1 -1
- package/package.json +1 -1
- package/smartMapping/statistics/support/predominanceUtils.d.ts +4 -0
- package/support/revision.js +1 -1
- package/symbols/FillSymbol3DLayer.js +1 -1
- package/symbols/IconSymbol3DLayer.js +1 -1
- package/symbols/ObjectSymbol3DLayer.js +1 -1
- package/symbols/Symbol3D.js +1 -1
- package/symbols/WebStyleSymbol.js +1 -1
- package/symbols/cim/CIMSymbolRasterizer.js +1 -1
- package/symbols/support/IconSymbol3DLayerResource.js +1 -1
- package/symbols/support/ObjectSymbol3DLayerResource.js +1 -1
- package/symbols/support/Symbol3DAnchorPosition2D.js +1 -1
- package/symbols/support/Symbol3DAnchorPosition3D.js +1 -1
- package/symbols/support/Symbol3DFillMaterial.js +1 -1
- package/symbols/support/Symbol3DIconOutline.js +1 -1
- package/symbols/support/Symbol3DOutline.js +1 -1
- package/symbols/support/Thumbnail.js +1 -1
- package/symbols/support/webStyleSymbolUtils.js +1 -1
- package/views/2d/engine/vectorTiles/SchemaHelper.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.glsl.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/CloudsComposition.glsl.js +1 -1
- package/views/3d/environment/CloudsGenerator.js +1 -1
- package/views/3d/environment/Fog.glsl.js +1 -1
- package/views/3d/environment/Fog.js +1 -1
- package/views/3d/environment/PanoramicAtmosphere.js +1 -1
- package/views/3d/environment/Precipitation.glsl.js +1 -1
- package/views/3d/environment/Precipitation.js +1 -1
- package/views/3d/environment/PrecipitationTechnique.js +1 -1
- package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
- package/views/3d/environment/SimpleAtmosphere.js +1 -1
- package/views/3d/environment/Stars.glsl.js +1 -1
- package/views/3d/environment/Stars.js +1 -1
- package/views/3d/interactive/analysisTools/slice/sliceToolUtils.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
- package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/ElevationAligners.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/graphicUtils.js +1 -1
- package/views/3d/layers/graphics/lineUtils.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/graphics/polygonUtils.js +1 -1
- package/views/3d/layers/graphics/symbolComplexity.js +1 -1
- package/views/3d/layers/i3s/I3SBinaryReader.js +1 -1
- package/views/3d/layers/i3s/PointRenderer.js +1 -1
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +5 -0
- package/views/3d/layers/support/overlayImageUtils.js +1 -1
- package/views/3d/layers/support/patternUtils.js +1 -1
- package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
- package/views/3d/support/FrustumExtentIntersection.js +1 -1
- package/views/3d/support/LaserLineRenderer.js +1 -1
- package/views/3d/support/LaserlinePathData.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/PatchGeometryFactory.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/terrain/terrainUtils.js +1 -1
- package/views/3d/terrain/tileUtils.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +10 -10
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
- package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +12 -12
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +16 -16
- package/views/3d/webgl-engine/core/shaderLibrary/default/RealisticTree.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/raster/BasicGrid.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeShadingNormal.glsl.js +10 -11
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Reprojection.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +10 -10
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Terrain.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/Camera.js +1 -1
- package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +1 -1
- package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
- package/views/3d/webgl-engine/lib/Geometry.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
- package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
- package/views/3d/webgl-engine/lib/MagnifierHelper.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/lib/SmaaRenderPass.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
- package/views/3d/webgl-engine/lib/Texture.js +1 -1
- package/views/3d/webgl-engine/lib/TextureUniformName.js +4 -0
- package/views/3d/webgl-engine/lib/UniformName.js +4 -0
- package/views/3d/webgl-engine/lib/VertexAttribute.js +5 -0
- package/views/3d/webgl-engine/lib/basicInterfaces.js +1 -1
- package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
- package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
- package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/VisualVariableMaterialParameters.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/internal/DefaultBufferWriter.js +1 -1
- package/views/3d/webgl-engine/materials/internal/MaterialUtil.js +1 -1
- package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
- package/views/3d/webgl-engine/materials/internal/waterMaterialUtils.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LaserlinePath.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LaserlinePathTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/SMAA.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +10 -10
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardShortEdges.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShaderProgram.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +21 -21
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js +6 -6
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +13 -13
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js +6 -6
- package/views/SceneView.js +1 -1
- package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
- package/views/support/WatchUpdatingTracking.js +1 -1
- package/views/webgl/BufferObject.js +1 -1
- package/views/webgl/InstanceCounter.js +1 -1
- package/views/webgl/Program.js +1 -1
- package/widgets/BasemapGallery/support/basemapCompatibilityUtils.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
- package/widgets/Search/support/locatorUtils.js +1 -1
- package/widgets/Search.js +1 -1
- package/assets/esri/core/workers/chunks/12c0cabb6c59e65d8546.js +0 -1
- package/assets/esri/core/workers/chunks/322d917e8cb398816a93.js +0 -1
- package/assets/esri/core/workers/chunks/392b6382e06652dd4c80.js +0 -1
- package/assets/esri/core/workers/chunks/3aa73119b055e05bbbeb.js +0 -1
- package/assets/esri/core/workers/chunks/52ea678ba1da0e349919.js +0 -1
- package/assets/esri/core/workers/chunks/5ee497d5d7b0e580526a.js +0 -1
- package/assets/esri/core/workers/chunks/663ad15b86936eb06b69.js +0 -1
- package/assets/esri/core/workers/chunks/83b8fec1650e061aaa56.js +0 -1
- package/assets/esri/core/workers/chunks/9796d54ff12b6429164a.js +0 -1
- package/assets/esri/core/workers/chunks/d07440469fe7d181c4fd.js +0 -1
- package/assets/esri/core/workers/chunks/dbf192b4ce7e608610f6.js +0 -1
- package/assets/esri/core/workers/chunks/de6cff7b6cbbf99b20d1.js +0 -981
- package/assets/esri/core/workers/chunks/dee9929d95e9fe26929c.js +0 -1
- package/assets/esri/core/workers/chunks/e12d91ef44d6f879a02a.js +0 -1
- package/assets/esri/core/workers/chunks/e59764ee8cf25d4f74e2.js +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{c as e}from"./vec2.js";import{a as o}from"./vec2f64.js";import{Z as i}from"./vec4f64.js";import{ShaderOutput as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{AlignPixel as t}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as a}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{HUDOcclusionPass as s}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js";import{OutputHighlight as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{VisualVariables as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{symbolAlphaCutoff as d,defaultMaskAlphaCutoff as u}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{ScreenSizePerspective as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import{glsl as f}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as m}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as b}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{c as e}from"./vec2.js";import{a as o}from"./vec2f64.js";import{Z as i}from"./vec4f64.js";import{ShaderOutput as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{AlignPixel as t}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as a}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{HUDOcclusionPass as s}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js";import{OutputHighlight as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{VisualVariables as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{symbolAlphaCutoff as d,defaultMaskAlphaCutoff as u}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{ScreenSizePerspective as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import{glsl as f}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as m}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as b}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function h(e){const o=new m,i=e.signedDistanceFieldEnabled;if(o.include(t),o.include(a,e),o.include(l,e),e.output===r.Occlusion)return o.include(s,e),o;o.include(p),o.fragment.include(g),o.fragment.include(v),o.include(c,e),o.varyings.add("vcolor","vec4"),o.varyings.add("vtc","vec2"),o.varyings.add("vsize","vec2"),e.binaryHighlightOcclusionEnabled&&o.varyings.add("voccluded","float"),o.vertex.uniforms.add("screenOffset","vec2").add("anchorPos","vec2").add("textureCoordinateScaleFactor","vec2").add("materialColor","vec4"),i&&o.vertex.uniforms.add("outlineColor","vec4"),e.screenSizePerspectiveEnabled&&o.vertex.uniforms.add("screenSizePerspective","vec4"),(e.debugDrawLabelBorder||e.binaryHighlightOcclusionEnabled)&&o.varyings.add("debugBorderCoords","vec4"),o.attributes.add(b.UV0,"vec2"),o.attributes.add(b.COLOR,"vec4"),o.attributes.add(b.SIZE,"vec2"),o.attributes.add(b.AUXPOS2,"vec4"),o.vertex.code.add(f`
|
|
6
6
|
void main(void) {
|
|
7
7
|
ProjectHUDAux projectAux;
|
|
8
8
|
vec4 posProj = projectPositionHUD(projectAux);
|
|
@@ -131,7 +131,7 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
|
131
131
|
`),e.output===r.Color&&o.fragment.code.add(f`
|
|
132
132
|
void main() {
|
|
133
133
|
${S}
|
|
134
|
-
${e.
|
|
134
|
+
${e.frontFacePass?"gl_FragColor.rgb /= gl_FragColor.a;":""}
|
|
135
135
|
}
|
|
136
136
|
`),e.output===r.Highlight&&(o.include(n),o.fragment.code.add(f`
|
|
137
137
|
void main() {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{glsl as e}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as i}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as t}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{glsl as e}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as i}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as t}from"../views/3d/webgl-engine/lib/VertexAttribute.js";var o;function r(r){const l=new i,a=l.vertex.code,n=l.fragment.code;return l.attributes.add(t.POSITION,"vec2"),r.highlightStage===o.Downsample&&(a.add(e`void main() {
|
|
6
6
|
gl_Position = vec4(vec2(1.0) - position * 2.0, 0.0, 1.0);
|
|
7
7
|
}`),l.fragment.uniforms.add("tex","sampler2D"),l.fragment.uniforms.add("invFramebufferDim","vec2"),n.add(e`void main() {
|
|
8
8
|
vec2 coord = gl_FragCoord.xy * invFramebufferDim;
|
|
@@ -62,7 +62,7 @@ gl_FragColor = vec4(ceil(value.r), mx, mx, 1.0);
|
|
|
62
62
|
}`:""}
|
|
63
63
|
gl_Position = vec4(position, 0.0, 1.0);
|
|
64
64
|
uv = position.xy * 0.5 + vec2(0.5);
|
|
65
|
-
}`),l.fragment.uniforms.add("tex","sampler2D"),l.fragment.uniforms.add("origin","sampler2D"),l.fragment.uniforms.add("
|
|
65
|
+
}`),l.fragment.uniforms.add("tex","sampler2D"),l.fragment.uniforms.add("origin","sampler2D"),l.fragment.uniforms.add("uColor","vec4"),l.fragment.uniforms.add("haloColor","vec4"),l.fragment.uniforms.add("outlineSize","float"),l.fragment.uniforms.add("blurSize","float"),l.fragment.uniforms.add("opacities","vec4"),n.add(e`void main() {
|
|
66
66
|
vec4 blurredHighlightValue = texture2D(tex, uv);
|
|
67
67
|
float highlightIntensity = blurredHighlightValue.a;
|
|
68
68
|
if (highlightIntensity == 0.0) {
|
|
@@ -73,16 +73,16 @@ float outlineIntensity;
|
|
|
73
73
|
float fillIntensity;
|
|
74
74
|
if (blurredHighlightValue.g > blurredHighlightValue.b) {
|
|
75
75
|
outlineIntensity = haloColor.w * opacities[1];
|
|
76
|
-
fillIntensity =
|
|
76
|
+
fillIntensity = uColor.w * opacities[3];
|
|
77
77
|
}
|
|
78
78
|
else {
|
|
79
79
|
outlineIntensity = haloColor.w * opacities[0];
|
|
80
|
-
fillIntensity =
|
|
80
|
+
fillIntensity = uColor.w * opacities[2];
|
|
81
81
|
}
|
|
82
82
|
float inner = 1.0 - outlineSize / 9.0;
|
|
83
83
|
float outer = 1.0 - (outlineSize + blurSize) / 9.0;
|
|
84
84
|
float outlineFactor = smoothstep(outer, inner, highlightIntensity);
|
|
85
85
|
float fillFactor = any(notEqual(origin_color, vec4(0.0, 0.0, 0.0, 0.0))) ? 1.0 : 0.0;
|
|
86
86
|
float intensity = outlineIntensity * outlineFactor * (1.0 - fillFactor) + fillIntensity * fillFactor;
|
|
87
|
-
gl_FragColor = vec4(mix(haloColor.rgb,
|
|
87
|
+
gl_FragColor = vec4(mix(haloColor.rgb, uColor.rgb, fillFactor), intensity);
|
|
88
88
|
}`)),l}!function(e){e[e.Blur=0]="Blur",e[e.Apply=1]="Apply",e[e.Downsample=2]="Downsample",e[e.COUNT=3]="COUNT"}(o||(o={}));const l=Object.freeze({__proto__:null,get HighlightCompositionPass(){return o},build:r});export{o as H,l as a,r as b};
|
|
@@ -2,36 +2,36 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ReadLinearDepth as i}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{defaultMaskAlphaCutoff as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as
|
|
5
|
+
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ReadLinearDepth as i}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{defaultMaskAlphaCutoff as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as l}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as s}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as n}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function g(g){const p=new s;return p.include(a,{linearDepth:!1}),p.vertex.uniforms.add("proj","mat4").add("view","mat4"),p.attributes.add(n.POSITION,"vec3"),p.attributes.add(n.UV0,"vec2"),p.varyings.add("vpos","vec3"),g.multipassTerrainEnabled&&p.varyings.add("depth","float"),p.vertex.uniforms.add("textureCoordinateScaleFactor","vec2"),p.vertex.code.add(l`
|
|
6
6
|
void main(void) {
|
|
7
7
|
vpos = position;
|
|
8
8
|
${g.multipassTerrainEnabled?"depth = (view * vec4(vpos, 1.0)).z;":""}
|
|
9
9
|
vTexCoord = uv0 * textureCoordinateScaleFactor;
|
|
10
10
|
gl_Position = transformPosition(proj, view, vpos);
|
|
11
11
|
}
|
|
12
|
-
`),p.include(r,g),g.multipassTerrainEnabled&&(p.fragment.include(i),p.include(o,g)),p.fragment.uniforms.add("tex","sampler2D"),p.fragment.uniforms.add("opacity","float"),p.varyings.add("vTexCoord","vec2"),g.output===e.Alpha?p.fragment.code.add(
|
|
12
|
+
`),p.include(r,g),g.multipassTerrainEnabled&&(p.fragment.include(i),p.include(o,g)),p.fragment.uniforms.add("tex","sampler2D"),p.fragment.uniforms.add("opacity","float"),p.varyings.add("vTexCoord","vec2"),g.output===e.Alpha?p.fragment.code.add(l`
|
|
13
13
|
void main() {
|
|
14
14
|
discardBySlice(vpos);
|
|
15
15
|
${g.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
16
16
|
|
|
17
17
|
float alpha = texture2D(tex, vTexCoord).a * opacity;
|
|
18
|
-
if (alpha < ${
|
|
18
|
+
if (alpha < ${l.float(t)}) {
|
|
19
19
|
discard;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
gl_FragColor = vec4(alpha);
|
|
23
23
|
}
|
|
24
|
-
`):(p.fragment.include(d),p.fragment.code.add(
|
|
24
|
+
`):(p.fragment.include(d),p.fragment.code.add(l`
|
|
25
25
|
void main() {
|
|
26
26
|
discardBySlice(vpos);
|
|
27
27
|
${g.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
28
28
|
gl_FragColor = texture2D(tex, vTexCoord) * opacity;
|
|
29
29
|
|
|
30
|
-
if (gl_FragColor.a < ${
|
|
30
|
+
if (gl_FragColor.a < ${l.float(t)}) {
|
|
31
31
|
discard;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
gl_FragColor = highlightSlice(gl_FragColor, vpos);
|
|
35
|
-
${g.
|
|
35
|
+
${g.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
36
36
|
}
|
|
37
37
|
`)),p}const p=Object.freeze({__proto__:null,build:g});export{p as I,g as b};
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{Laserline as e}from"../views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js";import{glsl as i}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as o}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as a}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{Laserline as e}from"../views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js";import{glsl as i}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as o}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as a}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function t(t){const r=new o;return r.include(e,t),r.vertex.uniforms.add("modelView","mat4"),r.vertex.uniforms.add("proj","mat4"),r.attributes.add(a.START,"vec3"),r.attributes.add(a.END,"vec3"),r.attributes.add(a.UP,"vec3"),r.attributes.add(a.EXTRUDE,"vec2"),r.varyings.add("uv","vec2"),r.varyings.add("vViewStart","vec3"),r.varyings.add("vViewEnd","vec3"),r.varyings.add("vViewPlane","vec4"),r.vertex.uniforms.add("glowWidth","float"),r.vertex.uniforms.add("pixelToNDC","vec2"),r.vertex.code.add(i`void main() {
|
|
6
6
|
vec3 pos = mix(start, end, extrude.x);
|
|
7
|
-
vec4 viewPos =
|
|
8
|
-
vec4 projPos =
|
|
7
|
+
vec4 viewPos = modelView * vec4(pos, 1);
|
|
8
|
+
vec4 projPos = proj * viewPos;
|
|
9
9
|
vec2 ndcPos = projPos.xy / projPos.w;
|
|
10
|
-
vec3 viewUp = (
|
|
11
|
-
vec4 projPosUp =
|
|
10
|
+
vec3 viewUp = (modelView * vec4(extrude.y * up, 0)).xyz;
|
|
11
|
+
vec4 projPosUp = proj * vec4(viewPos.xyz + viewUp, 1);
|
|
12
12
|
vec2 projExtrudeDir = normalize(projPosUp.xy / projPosUp.w - ndcPos);
|
|
13
13
|
vec2 lxy = abs(sign(projExtrudeDir) - ndcPos);
|
|
14
14
|
ndcPos += length(lxy) * projExtrudeDir;
|
|
15
15
|
vec3 worldPlaneNormal = normalize(cross(up, normalize(end - start)));
|
|
16
|
-
vec3 viewPlaneNormal = (
|
|
17
|
-
vViewStart = (
|
|
18
|
-
vViewEnd = (
|
|
16
|
+
vec3 viewPlaneNormal = (modelView * vec4(worldPlaneNormal, 0)).xyz;
|
|
17
|
+
vViewStart = (modelView * vec4(start, 1)).xyz;
|
|
18
|
+
vViewEnd = (modelView * vec4(end, 1)).xyz;
|
|
19
19
|
vViewPlane = vec4(viewPlaneNormal, -dot(viewPlaneNormal, vViewStart));
|
|
20
20
|
float xPaddingPixels = sign(dot(viewPlaneNormal, viewPos.xyz)) * (extrude.x * 2.0 - 1.0) * glowWidth;
|
|
21
21
|
ndcPos.x += xPaddingPixels * pixelToNDC.x;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{AlignPixel as i}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as o}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{multipassGeometryTest as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js";import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as n}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as l}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{AlignPixel as i}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as o}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{multipassGeometryTest as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js";import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as n}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as l}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function a(a){const d=new n;return d.include(i),d.include(o,a),d.include(e,a),d.attributes.add(l.UV0,"vec2"),d.vertex.uniforms.add("lineSize","float").add("pixelToNDC","vec2").add("borderSize","float").add("screenOffset","vec2"),d.varyings.add("coverageSampling","vec4"),d.varyings.add("lineSizes","vec2"),a.multipassGeometryEnabled&&d.varyings.add("depth","float"),d.vertex.code.add(t`
|
|
6
6
|
void main(void) {
|
|
7
7
|
ProjectHUDAux projectAux;
|
|
8
8
|
vec4 endPoint = projectPositionHUD(projectAux);
|
|
@@ -101,7 +101,7 @@ import{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js
|
|
|
101
101
|
|
|
102
102
|
gl_Position = projectedPosition;
|
|
103
103
|
}
|
|
104
|
-
`),d.fragment.uniforms.add("
|
|
104
|
+
`),d.fragment.uniforms.add("uColor","vec4"),d.fragment.uniforms.add("borderColor","vec4"),a.multipassGeometryEnabled&&(d.fragment.include(r,a),d.fragment.uniforms.add("inverseViewport","vec2")),d.fragment.code.add(t`
|
|
105
105
|
void main() {
|
|
106
106
|
${a.multipassGeometryEnabled?"if( geometryDepthTest(gl_FragCoord.xy * inverseViewport, depth) ){ discard; }":""}
|
|
107
107
|
|
|
@@ -114,8 +114,8 @@ import{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js
|
|
|
114
114
|
//
|
|
115
115
|
// Anti-alias by blending final result using the full (including optional border) coverage
|
|
116
116
|
// and the color alpha
|
|
117
|
-
float borderAlpha =
|
|
118
|
-
float colorAlpha =
|
|
117
|
+
float borderAlpha = uColor.a * borderColor.a * coverage.y;
|
|
118
|
+
float colorAlpha = uColor.a * coverage.x;
|
|
119
119
|
|
|
120
120
|
float finalAlpha = mix(borderAlpha, 1.0, colorAlpha);
|
|
121
121
|
|
|
@@ -127,8 +127,8 @@ import{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js
|
|
|
127
127
|
// Compute the finalRgb, but keep it pre-multiplied (for unpre-multiplied you
|
|
128
128
|
// need to divide by finalAlpha). We avoid the division here by setting the
|
|
129
129
|
// appropriate blending function in the material.
|
|
130
|
-
vec3 finalRgb = mix(borderColor.rgb * borderAlpha,
|
|
130
|
+
vec3 finalRgb = mix(borderColor.rgb * borderAlpha, uColor.rgb, colorAlpha);
|
|
131
131
|
gl_FragColor = vec4(finalRgb, finalAlpha);
|
|
132
132
|
`}
|
|
133
133
|
}
|
|
134
|
-
`),d}
|
|
134
|
+
`),d}function d(e,i,o){s(e,"uColor",i.color),e.setUniform1f("pixelRatio",o),e.setUniform2f("screenOffset",i.screenOffset[0]*o,i.screenOffset[1]*o),null!==i.borderColor?(s(e,"borderColor",i.borderColor),e.setUniform1f("borderSize",o)):(e.setUniform4f("borderColor",0,0,0,0),e.setUniform1f("borderSize",0))}function s(e,i,o){3===o.length?e.setUniform4f(i,o[0],o[1],o[2],1):e.setUniform4fv(i,o)}const c=Object.freeze({__proto__:null,build:a,bindLineCalloutUniforms:d});export{c as L,a,d as b};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{glsl as e}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as t}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as o}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{glsl as e}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as t}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as o}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function r(){const r=new t;r.vertex.uniforms.add("proj","mat4").add("view","mat4").add("width","float"),r.attributes.add(o.POSITION,"vec3"),r.attributes.add(o.NORMAL,"vec3"),r.attributes.add(o.UV0,"vec2"),r.attributes.add(o.AUXPOS1,"float"),r.varyings.add("vtc","vec2"),r.varyings.add("vlength","float"),r.varyings.add("vradius","float"),r.vertex.code.add(e`void main(void) {
|
|
6
6
|
vec3 bitangent = normal;
|
|
7
7
|
vtc = uv0;
|
|
8
8
|
vlength = auxpos1;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as
|
|
5
|
+
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as t}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{VertexColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{OutputHighlight as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{LineStipple as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{symbolAlphaCutoff as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{glsl as a}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as d}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as n}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function p(p){const c=new d;return c.include(t,{linearDepth:!1}),c.include(o,p),c.include(l,{...p,stippleRequiresStretchMeasure:!1}),c.vertex.uniforms.add("proj","mat4").add("view","mat4"),p.stippleEnabled&&(c.vertex.uniforms.add("ndcToPixel","vec2"),c.attributes.add(n.UV0,"vec2"),c.attributes.add(n.AUXPOS1,"vec3")),c.attributes.add(n.POSITION,"vec3"),c.varyings.add("vpos","vec3"),c.vertex.code.add(a`void main(void) {
|
|
6
6
|
vpos = position;
|
|
7
7
|
forwardNormalizedVertexColor();
|
|
8
8
|
gl_Position = transformPosition(proj, view, vpos);`),p.stippleEnabled&&(c.vertex.code.add(a`vec4 vpos2 = transformPosition(proj, view, auxpos1);
|
package/chunks/Path.glsl.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ViewingMode as e}from"../views/ViewingMode.js";import{ForwardLinearDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}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{PathVertexPosition as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{OutputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadLinearDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{EvaluateAmbientOcclusion as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{multipassTerrainTest as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{Normals as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{ReadShadowMap as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{ColorConversion as u}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as h}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as f}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";function b(b){const w=new f;return w.vertex.uniforms.add("proj","mat4").add("view","mat4").add("
|
|
5
|
+
import{ViewingMode as e}from"../views/ViewingMode.js";import{ForwardLinearDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}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{PathVertexPosition as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{OutputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadLinearDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{EvaluateAmbientOcclusion as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{multipassTerrainTest as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{Normals as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{ReadShadowMap as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{ColorConversion as u}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as h}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as f}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";function b(b){const w=new f;return w.vertex.uniforms.add("proj","mat4").add("view","mat4").add("cameraPosition","vec3").add("localOrigin","vec3"),w.varyings.add("vpos","vec3"),w.include(l,b),b.output!==o.Color&&b.output!==o.Alpha||(w.include(r,{linearDepth:!1}),b.receiveShadows&&w.include(p,b),w.include(a,b),w.varyings.add("vnormal","vec3"),w.varyings.add("vcolor","vec4"),b.multipassTerrainEnabled&&w.varyings.add("depth","float"),w.vertex.code.add(h`
|
|
6
6
|
void main() {
|
|
7
7
|
vpos = calculateVPos();
|
|
8
8
|
vnormal = normalize(localNormal());
|
|
@@ -14,19 +14,19 @@ import{ViewingMode as e}from"../views/ViewingMode.js";import{ForwardLinearDepth
|
|
|
14
14
|
|
|
15
15
|
vcolor = getColor();
|
|
16
16
|
}
|
|
17
|
-
`)),b.multipassTerrainEnabled&&(w.fragment.include(t),w.include(m,b)),b.output===o.Alpha&&(w.include(i,b),w.fragment.uniforms.add("
|
|
17
|
+
`)),b.multipassTerrainEnabled&&(w.fragment.include(t),w.include(m,b)),b.output===o.Alpha&&(w.include(i,b),w.fragment.uniforms.add("cameraPosition","vec3"),w.fragment.uniforms.add("localOrigin","vec3"),w.fragment.uniforms.add("opacity","float"),w.fragment.code.add(h`
|
|
18
18
|
void main() {
|
|
19
19
|
discardBySlice(vpos);
|
|
20
20
|
${b.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
21
21
|
float combinedOpacity = vcolor.a * opacity;
|
|
22
22
|
gl_FragColor = vec4(combinedOpacity);
|
|
23
23
|
}
|
|
24
|
-
`)),b.output===o.Color&&(w.include(i,b),w.include(c,b),w.include(s,b),b.receiveShadows&&w.include(p,b),w.include(g,b),w.fragment.uniforms.add("
|
|
24
|
+
`)),b.output===o.Color&&(w.include(i,b),w.include(c,b),w.include(s,b),b.receiveShadows&&w.include(p,b),w.include(g,b),w.fragment.uniforms.add("cameraPosition","vec3").add("localOrigin","vec3").add("ambient","vec3").add("diffuse","vec3").add("specular","vec3").add("opacity","float"),w.fragment.include(u),w.fragment.code.add(h`
|
|
25
25
|
void main() {
|
|
26
26
|
discardBySlice(vpos);
|
|
27
27
|
${b.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
28
28
|
|
|
29
|
-
shadingParams.viewDirection = normalize(vpos -
|
|
29
|
+
shadingParams.viewDirection = normalize(vpos - cameraPosition);
|
|
30
30
|
shadingParams.normalView = vnormal;
|
|
31
31
|
vec3 normal = shadingNormal(shadingParams);
|
|
32
32
|
float ssao = evaluateAmbientOcclusionInverse();
|
|
@@ -41,7 +41,7 @@ import{ViewingMode as e}from"../views/ViewingMode.js";import{ForwardLinearDepth
|
|
|
41
41
|
vec3 shadedColor = evaluateSceneLighting(normal, albedo, shadow, 1.0 - ssao, additionalLight);
|
|
42
42
|
gl_FragColor = vec4(shadedColor, combinedOpacity);
|
|
43
43
|
gl_FragColor = highlightSlice(gl_FragColor, vpos);
|
|
44
|
-
${b.
|
|
44
|
+
${b.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
45
45
|
}
|
|
46
46
|
`)),b.output!==o.Depth&&b.output!==o.Shadow||(w.include(r,{linearDepth:!0}),w.vertex.uniforms.add("nearFar","vec2"),w.varyings.add("depth","float"),w.vertex.code.add(h`void main() {
|
|
47
47
|
vpos = calculateVPos();
|
package/chunks/Pattern.glsl.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as t}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as
|
|
6
|
-
const mat2 rotate45 = mat2(${s.float(
|
|
7
|
-
${s.float(
|
|
5
|
+
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as t}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as o}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{VertexColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{OutputDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as i}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadLinearDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{symbolAlphaCutoff as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as p}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as v}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{Style as g}from"../views/3d/webgl-engine/materials/PatternStyle.js";const u=.70710678118,m=u,f=.08715574274;function h(h){const b=new p;h.draped||b.extensions.add("GL_OES_standard_derivatives");const y=h.output===e.Depth;b.include(o,{linearDepth:y}),b.include(r,h),b.vertex.uniforms.add("proj","mat4"),b.vertex.uniforms.add("view","mat4"),y&&(b.include(a,h),b.vertex.uniforms.add("nearFar","vec2"),b.varyings.add("linearDepth","float")),h.draped?b.vertex.uniforms.add("worldToScreenRatio","float"):(b.vertex.uniforms.add("worldToScreenPerDistanceRatio","float"),b.vertex.uniforms.add("cameraPosition","vec3"),b.attributes.add(v.BOUNDINGRECT,"mat3")),b.attributes.add(v.POSITION,"vec3"),b.attributes.add(v.UVMAPSPACE,"vec4"),b.varyings.add("vpos","vec3"),b.varyings.add("vuv","vec2"),h.multipassTerrainEnabled&&b.varyings.add("depth","float");const x=h.style===g.ForwardDiagonal||h.style===g.BackwardDiagonal||h.style===g.DiagonalCross;return x&&b.vertex.code.add(s`
|
|
6
|
+
const mat2 rotate45 = mat2(${s.float(u)}, ${s.float(-m)},
|
|
7
|
+
${s.float(m)}, ${s.float(u)});
|
|
8
8
|
`),h.draped||(b.vertex.code.add(s`vec3 projectPointToLineSegment(vec3 center, vec3 halfVector, vec3 point) {
|
|
9
9
|
float projectedLength = dot(halfVector, point - center) / dot(halfVector, halfVector);
|
|
10
10
|
return center + halfVector * clamp(projectedLength, -1.0, 1.0);
|
|
@@ -31,7 +31,7 @@ return rayOrigin + t * rayDir;
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
// intersect view direction with infinite plane that contains bounding rect
|
|
34
|
-
vec3 planeProjected = intersectRayPlane(viewDir,
|
|
34
|
+
vec3 planeProjected = intersectRayPlane(viewDir, cameraPosition, n, center);
|
|
35
35
|
|
|
36
36
|
// clip to bounds by projecting to u and v line segments individually
|
|
37
37
|
vec3 uProjected = projectPointToLineSegment(center, halfU, planeProjected);
|
|
@@ -40,7 +40,7 @@ return rayOrigin + t * rayDir;
|
|
|
40
40
|
// use to calculate the closest point to camera on bounding rect
|
|
41
41
|
vec3 closestPoint = uProjected + vProjected - center;
|
|
42
42
|
|
|
43
|
-
return length(closestPoint -
|
|
43
|
+
return length(closestPoint - cameraPosition);
|
|
44
44
|
}
|
|
45
45
|
`)),b.vertex.code.add(s`
|
|
46
46
|
vec2 scaledUV() {
|
|
@@ -67,9 +67,9 @@ return rayOrigin + t * rayDir;
|
|
|
67
67
|
vpos = position;
|
|
68
68
|
${h.multipassTerrainEnabled?"depth = (view * vec4(vpos, 1.0)).z;":""}
|
|
69
69
|
forwardNormalizedVertexColor();
|
|
70
|
-
gl_Position = ${y?s`transformPositionWithDepth(proj, view, vpos,
|
|
70
|
+
gl_Position = ${y?s`transformPositionWithDepth(proj, view, vpos, nearFar, linearDepth);`:s`transformPosition(proj, view, vpos);`}
|
|
71
71
|
}
|
|
72
|
-
`),b.include(t,h),b.fragment.include(c),b.fragment.uniforms.add("
|
|
72
|
+
`),b.include(t,h),b.fragment.include(c),b.fragment.uniforms.add("uColor","vec4"),h.draped&&b.fragment.uniforms.add("texelSize","float"),h.output===e.Highlight&&b.include(i),h.multipassTerrainEnabled&&(b.fragment.include(n),b.include(l,h)),h.output!==e.Highlight&&(b.fragment.code.add(s`
|
|
73
73
|
const float lineWidth = ${s.float(h.lineWidth)};
|
|
74
74
|
const float spacing = ${s.float(h.patternSpacing)};
|
|
75
75
|
const float spacingINV = ${s.float(1/h.patternSpacing)};
|
|
@@ -113,7 +113,7 @@ return accumulator;
|
|
|
113
113
|
void main() {
|
|
114
114
|
discardBySlice(vpos);
|
|
115
115
|
${h.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
116
|
-
vec4 color = ${h.attributeColor?"vColor *
|
|
116
|
+
vec4 color = ${h.attributeColor?"vColor * uColor;":"uColor;"}
|
|
117
117
|
color = highlightSlice(color, vpos);
|
|
118
118
|
|
|
119
119
|
${h.output!==e.Highlight?s`color.a *= ${w(h)};`:""}
|
|
@@ -124,7 +124,7 @@ return accumulator;
|
|
|
124
124
|
|
|
125
125
|
${h.output===e.Alpha?s`gl_FragColor = vec4(color.a);`:""}
|
|
126
126
|
|
|
127
|
-
${h.output===e.Color?s`gl_FragColor = color; ${h.
|
|
127
|
+
${h.output===e.Color?s`gl_FragColor = color; ${h.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}`:""}
|
|
128
128
|
${h.output===e.Highlight?s`outputHighlight();`:""}
|
|
129
129
|
${h.output===e.Depth?s`outputDepth(linearDepth);`:""};
|
|
130
130
|
}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{OutputHighlight as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{RgbaFloatEncoding as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{glsl as r}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as a}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as n}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{OutputHighlight as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{RgbaFloatEncoding as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{glsl as r}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as a}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as n}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function s(s){const c=new a,d=s.output===e.Color,l=s.output===e.Depth,p=s.output===e.Highlight;return c.extensions.add("GL_OES_standard_derivatives"),c.include(i,s),c.attributes.add(n.POSITION,"vec3"),c.attributes.add(n.COLOR,"vec3"),c.vertex.uniforms.add("modelView","mat4").add("proj","mat4").add("screenMinMaxSize","vec2").add("pointScale","vec2").add("clipMin","vec3").add("clipMax","vec3"),l?(c.vertex.uniforms.add("nearFar","vec2"),c.varyings.add("depth","float")):s.output!==e.Highlight&&c.varyings.add("vColor","vec3"),c.vertex.code.add(r`
|
|
6
6
|
void main(void) {
|
|
7
7
|
// Move clipped points outside of clipspace
|
|
8
|
-
if (position.x <
|
|
9
|
-
position.x >
|
|
8
|
+
if (position.x < clipMin.x || position.y < clipMin.y || position.z < clipMin.z ||
|
|
9
|
+
position.x > clipMax.x || position.y > clipMax.y || position.z > clipMax.z) {
|
|
10
10
|
gl_Position = vec4(0.0,0.0,0.0,2.0);
|
|
11
11
|
gl_PointSize = 0.0;
|
|
12
12
|
return;
|
|
@@ -19,33 +19,33 @@ import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/Shader
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
// Position in camera space
|
|
22
|
-
vec4 camera =
|
|
22
|
+
vec4 camera = modelView * vec4(position, 1.0);
|
|
23
23
|
|
|
24
|
-
float pointSize =
|
|
25
|
-
vec4 position =
|
|
24
|
+
float pointSize = pointScale.x;
|
|
25
|
+
vec4 position = proj * camera;
|
|
26
26
|
${s.drawScreenSize?r`
|
|
27
27
|
float clampedScreenSize = pointSize;`:r`
|
|
28
28
|
float pointRadius = 0.5 * pointSize;
|
|
29
29
|
vec4 cameraOffset = camera + vec4(0.0, pointRadius, 0.0, 0.0);
|
|
30
|
-
vec4 positionOffset =
|
|
30
|
+
vec4 positionOffset = proj * cameraOffset;
|
|
31
31
|
float radius = abs(positionOffset.y - position.y);
|
|
32
|
-
float viewHeight =
|
|
32
|
+
float viewHeight = pointScale.y;
|
|
33
33
|
// screen diameter = (2 * r / w) * (h / 2)
|
|
34
34
|
float screenPointSize = (radius / position.w) * viewHeight;
|
|
35
|
-
float clampedScreenSize = clamp(screenPointSize,
|
|
35
|
+
float clampedScreenSize = clamp(screenPointSize, screenMinMaxSize.x, screenMinMaxSize.y);
|
|
36
36
|
// Shift towards camera, to move rendered point out of terrain i.e. to
|
|
37
37
|
// the camera-facing end of the virtual point when considering it as a
|
|
38
38
|
// 3D sphere.
|
|
39
39
|
camera.xyz -= normalize(camera.xyz) * pointRadius * clampedScreenSize / screenPointSize;
|
|
40
|
-
position =
|
|
40
|
+
position = proj * camera;`}
|
|
41
41
|
|
|
42
42
|
gl_PointSize = clampedScreenSize;
|
|
43
43
|
gl_Position = position;
|
|
44
44
|
|
|
45
45
|
${l?r`depth = (-camera.z - nearFar[0]) / (nearFar[1] - nearFar[0]);`:""}
|
|
46
|
-
${
|
|
46
|
+
${d?r`vColor = color;`:""}
|
|
47
47
|
}
|
|
48
|
-
`),
|
|
48
|
+
`),c.fragment.include(t,s),p&&c.include(o),c.fragment.code.add(r`
|
|
49
49
|
void main(void) {
|
|
50
50
|
vec2 vOffset = gl_PointCoord - vec2(0.5, 0.5);
|
|
51
51
|
float r2 = dot(vOffset, vOffset);
|
|
@@ -55,6 +55,6 @@ import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/Shader
|
|
|
55
55
|
}
|
|
56
56
|
${l?r`gl_FragColor = float2rgba(depth);`:""}
|
|
57
57
|
${p?r`outputHighlight();`:""}
|
|
58
|
-
${
|
|
58
|
+
${d?r`gl_FragColor = vec4(vColor, 1.0);`:""}
|
|
59
59
|
}
|
|
60
|
-
`),
|
|
60
|
+
`),c}const c=Object.freeze({__proto__:null,build:s});export{c as P,s as b};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as e}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as o}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as e}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as o}from"../views/3d/webgl-engine/lib/VertexAttribute.js";var a;function i(i){const r=new e;return r.attributes.add(o.POSITION,"vec3"),r.attributes.add(o.INSTANCEFEATUREATTRIBUTE,"float"),r.vertex.uniforms.add("cameraPosition","vec3").add("offset","vec3").add("width","float").add("proj","mat4").add("view","mat4").add("time","float"),r.varyings.add("vUv","vec2"),r.vertex.code.add(t`
|
|
6
6
|
//https://www.shadertoy.com/view/4djSRW
|
|
7
7
|
vec3 hash31(float p){
|
|
8
8
|
vec3 p3 = fract(vec3(p) * vec3(0.1031, 0.1030, 0.0973));
|
|
@@ -40,7 +40,7 @@ import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js"
|
|
|
40
40
|
vec3 up = vec3(0, 0, 1);
|
|
41
41
|
|
|
42
42
|
// Gravity and wind direction
|
|
43
|
-
vec3 direction = normalize(
|
|
43
|
+
vec3 direction = normalize(cameraPosition);
|
|
44
44
|
|
|
45
45
|
vec3 tangent = normalize(cross(direction, up));
|
|
46
46
|
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ViewingMode as e}from"../views/ViewingMode.js";import{ForwardLinearDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as r}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{ShaderOutput as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as l}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{PositionAttribute as
|
|
5
|
+
import{ViewingMode as e}from"../views/ViewingMode.js";import{ForwardLinearDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as r}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{ShaderOutput as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as l}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{PositionAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js";import{SymbolColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as v}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ReadLinearDepth as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{EvaluateAmbientOcclusion as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{multipassTerrainTest as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{PhysicallyBasedRendering as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as w,PBRMode as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMap as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{VisualVariables as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{symbolAlphaCutoff as L,DiscardOrAdjustAlpha as M}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{MixExternalColor as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{glsl as O}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as E}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as A}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function _(_){const P=new E,S=P.vertex.code,F=P.fragment.code;return P.vertex.uniforms.add("proj","mat4").add("view","mat4").add("cameraPosition","vec3").add("localOrigin","vec3"),P.include(n),P.varyings.add("vpos","vec3"),P.include(C,_),P.include(t,_),P.include(m,_),_.output!==a.Color&&_.output!==a.Alpha||(P.include(d,_),P.include(l,{linearDepth:!1}),_.offsetBackfaces&&P.include(r),_.instancedColor&&P.attributes.add(A.INSTANCECOLOR,"vec4"),P.varyings.add("vNormalWorld","vec3"),P.varyings.add("localvpos","vec3"),_.multipassTerrainEnabled&&P.varyings.add("depth","float"),P.include(c,_),P.include(o,_),P.include(s,_),P.include(g,_),P.vertex.uniforms.add("externalColor","vec4"),P.varyings.add("vcolorExt","vec4"),S.add(O`
|
|
6
6
|
void main(void) {
|
|
7
7
|
forwardNormalizedVertexColor();
|
|
8
8
|
vcolorExt = externalColor;
|
|
9
|
-
${
|
|
9
|
+
${_.instancedColor?"vcolorExt *= instanceColor;":""}
|
|
10
10
|
vcolorExt *= vvColor();
|
|
11
11
|
vcolorExt *= getSymbolColor();
|
|
12
12
|
forwardColorMixMode();
|
|
@@ -21,45 +21,45 @@ import{ViewingMode as e}from"../views/ViewingMode.js";import{ForwardLinearDepth
|
|
|
21
21
|
vNormalWorld = dpNormal(vvLocalNormal(normalModel()));
|
|
22
22
|
vpos = addVerticalOffset(vpos, localOrigin);
|
|
23
23
|
gl_Position = transformPosition(proj, view, vpos);
|
|
24
|
-
${
|
|
24
|
+
${_.offsetBackfaces?"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);":""}
|
|
25
25
|
}
|
|
26
|
-
${
|
|
26
|
+
${_.multipassTerrainEnabled?O`depth = (view * vec4(vpos, 1.0)).z;`:""}
|
|
27
27
|
forwardLinearDepth();
|
|
28
28
|
forwardTextureCoordinates();
|
|
29
29
|
}
|
|
30
|
-
`)),
|
|
30
|
+
`)),_.output===a.Alpha&&(P.include(i,_),P.include(M,_),_.multipassTerrainEnabled&&(P.fragment.include(p),P.include(f,_)),P.fragment.uniforms.add("cameraPosition","vec3").add("localOrigin","vec3").add("opacity","float").add("layerOpacity","float"),P.fragment.uniforms.add("view","mat4"),_.hasColorTexture&&P.fragment.uniforms.add("tex","sampler2D"),P.fragment.include(j),F.add(O`
|
|
31
31
|
void main() {
|
|
32
32
|
discardBySlice(vpos);
|
|
33
|
-
${
|
|
34
|
-
${
|
|
33
|
+
${_.multipassTerrainEnabled?O`terrainDepthTest(gl_FragCoord, depth);`:""}
|
|
34
|
+
${_.hasColorTexture?O`
|
|
35
35
|
vec4 texColor = texture2D(tex, vuv0);
|
|
36
|
-
${
|
|
36
|
+
${_.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
37
37
|
discardOrAdjustAlpha(texColor);`:O`vec4 texColor = vec4(1.0);`}
|
|
38
|
-
${
|
|
38
|
+
${_.attributeColor?O`
|
|
39
39
|
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:O`
|
|
40
40
|
float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));
|
|
41
41
|
`}
|
|
42
42
|
|
|
43
43
|
gl_FragColor = vec4(opacity_);
|
|
44
44
|
}
|
|
45
|
-
`)),
|
|
45
|
+
`)),_.output===a.Color&&(P.include(i,_),P.include(u,_),P.include(b,_),P.include(M,_),_.receiveShadows&&P.include(y,_),_.multipassTerrainEnabled&&(P.fragment.include(p),P.include(f,_)),P.fragment.uniforms.add("cameraPosition","vec3").add("localOrigin","vec3").add("ambient","vec3").add("diffuse","vec3").add("opacity","float").add("layerOpacity","float"),P.fragment.uniforms.add("view","mat4"),_.hasColorTexture&&P.fragment.uniforms.add("tex","sampler2D"),P.include(w,_),P.include(h,_),P.fragment.include(j),F.add(O`
|
|
46
46
|
void main() {
|
|
47
47
|
discardBySlice(vpos);
|
|
48
|
-
${
|
|
49
|
-
${
|
|
48
|
+
${_.multipassTerrainEnabled?O`terrainDepthTest(gl_FragCoord, depth);`:""}
|
|
49
|
+
${_.hasColorTexture?O`
|
|
50
50
|
vec4 texColor = texture2D(tex, vuv0);
|
|
51
|
-
${
|
|
51
|
+
${_.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
52
52
|
discardOrAdjustAlpha(texColor);`:O`vec4 texColor = vec4(1.0);`}
|
|
53
|
-
vec3 viewDirection = normalize(vpos -
|
|
54
|
-
${
|
|
53
|
+
vec3 viewDirection = normalize(vpos - cameraPosition);
|
|
54
|
+
${_.pbrMode===x.Normal?"applyPBRFactors();":""}
|
|
55
55
|
float ssao = evaluateAmbientOcclusionInverse();
|
|
56
56
|
ssao *= getBakedOcclusion();
|
|
57
57
|
|
|
58
58
|
float additionalAmbientScale = additionalDirectedAmbientLight(vpos + localOrigin);
|
|
59
59
|
vec3 additionalLight = ssao * lightingMainIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
|
|
60
|
-
${
|
|
60
|
+
${_.receiveShadows?"float shadow = readShadowMap(vpos, linearDepth);":_.viewingMode===e.Global?"float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);":"float shadow = 0.0;"}
|
|
61
61
|
vec3 matColor = max(ambient, diffuse);
|
|
62
|
-
${
|
|
62
|
+
${_.attributeColor?O`
|
|
63
63
|
vec3 albedo_ = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
64
64
|
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:O`
|
|
65
65
|
vec3 albedo_ = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
@@ -74,11 +74,11 @@ import{ViewingMode as e}from"../views/ViewingMode.js";import{ForwardLinearDepth
|
|
|
74
74
|
float treeRadialFalloff = vColor.r;
|
|
75
75
|
float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);
|
|
76
76
|
additionalLight += backLightFactor * lightingMainIntensity;`}
|
|
77
|
-
${
|
|
78
|
-
${
|
|
77
|
+
${_.pbrMode===x.Normal||_.pbrMode===x.Schematic?_.viewingMode===e.Global?O`vec3 normalGround = normalize(vpos + localOrigin);`:O`vec3 normalGround = vec3(0.0, 0.0, 1.0);`:O``}
|
|
78
|
+
${_.pbrMode===x.Normal||_.pbrMode===x.Schematic?O`
|
|
79
79
|
float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * lightingMainIntensity[2];
|
|
80
80
|
vec3 shadedColor = evaluateSceneLightingPBR(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight, viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);`:"vec3 shadedColor = evaluateSceneLighting(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight);"}
|
|
81
81
|
gl_FragColor = highlightSlice(vec4(shadedColor, opacity_), vpos);
|
|
82
|
-
${
|
|
82
|
+
${_.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
83
83
|
}
|
|
84
|
-
`)),P.include(v,
|
|
84
|
+
`)),P.include(v,_),P}const P=Object.freeze({__proto__:null,build:_});export{P as R,_ as b};
|