@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,10 +2,10 @@
|
|
|
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 o}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as r}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{glsl as e}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 r}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function t(){const t=new o;return t.attributes.add(r.POSITION,"vec2"),t.attributes.add(r.UV0,"vec2"),t.vertex.uniforms.add("scale","float"),t.vertex.uniforms.add("offset","vec2"),t.varyings.add("uv","vec2"),t.vertex.code.add(e`void main(void) {
|
|
6
6
|
gl_Position = vec4(position, 0.0, 1.0);
|
|
7
7
|
uv = uv0 * scale + offset;
|
|
8
8
|
}`),t.fragment.uniforms.add("tex","sampler2D"),t.fragment.uniforms.add("opacity","float"),t.fragment.code.add(e`void main() {
|
|
9
9
|
vec4 color = texture2D(tex, uv);
|
|
10
10
|
gl_FragColor = vec4(color.xyz, 1.0) * color.a * opacity;
|
|
11
|
-
}`),t}const
|
|
11
|
+
}`),t}const d=Object.freeze({__proto__:null,build:t});export{d as B,t as b};
|
|
@@ -2,13 +2,13 @@
|
|
|
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{TextureCoordinateAttribute as e}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{ReadLinearDepth as
|
|
6
|
-
vec3 posViewNear = (
|
|
5
|
+
import{TextureCoordinateAttribute as e,TextureCoordinateAttributeType as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{ReadLinearDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.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 l}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function n(n){const s=new o;return s.attributes.add(l.POSITION,"vec2"),s.include(e,{attributeTextureCoordinates:t.Default}),s.varyings.add("worldRay","vec3"),s.varyings.add("eyeDir","vec3"),s.vertex.uniforms.add("inverseProjectionMatrix","mat4"),s.vertex.uniforms.add("inverseViewMatrix","mat4"),s.vertex.code.add(i`void main(void) {
|
|
6
|
+
vec3 posViewNear = (inverseProjectionMatrix * vec4(position, -1, 1)).xyz;
|
|
7
7
|
eyeDir = posViewNear;
|
|
8
|
-
worldRay = (
|
|
8
|
+
worldRay = (inverseViewMatrix * vec4(posViewNear, 0)).xyz;
|
|
9
9
|
forwardTextureCoordinates();
|
|
10
10
|
gl_Position = vec4(position, 1, 1);
|
|
11
|
-
}`),
|
|
11
|
+
}`),s.fragment.uniforms.add("lightingMainDirection","vec3").add("radii","vec2").add("scaleHeight","float").add("cameraPosition","vec3").add("nearFar","vec2").add("heightParameters","vec4").add("innerFadeDistance","float").add("altitudeFade","float").add("depthTex","sampler2D").add("betaRayleigh","vec3").add("betaCombined","vec3").add("betaMie","float").add("hazeStrength","float"),s.include(r),n.haze&&s.fragment.include(a),s.fragment.code.add(i`vec2 sphereIntersect(vec3 start, vec3 dir, float radius, bool planet) {
|
|
12
12
|
float a = dot(dir, dir);
|
|
13
13
|
float b = 2.0 * dot(dir, start);
|
|
14
14
|
float c = planet ? heightParameters[1] - radius * radius : heightParameters[2];
|
|
@@ -17,7 +17,7 @@ if (d < 0.0) {
|
|
|
17
17
|
return vec2(1e5, -1e5);
|
|
18
18
|
}
|
|
19
19
|
return vec2((-b - sqrt(d)) / (2.0 * a), (-b + sqrt(d)) / (2.0 * a));
|
|
20
|
-
}`),
|
|
20
|
+
}`),s.fragment.code.add(i`float chapmanApproximation(float X, float h, float cosZenith) {
|
|
21
21
|
float c = sqrt(X + h);
|
|
22
22
|
float cExpH = c * exp(-h);
|
|
23
23
|
if (cosZenith >= 0.0) {
|
|
@@ -27,9 +27,9 @@ float x0 = sqrt(1.0 - cosZenith * cosZenith) * (X + h);
|
|
|
27
27
|
float c0 = sqrt(x0);
|
|
28
28
|
return 2.0 * c0 * exp(X - x0) - cExpH / (1.0 - c * cosZenith);
|
|
29
29
|
}
|
|
30
|
-
}`),
|
|
30
|
+
}`),s.fragment.code.add(i`float getOpticalDepth(vec3 position, vec3 dir, float h) {
|
|
31
31
|
return scaleHeight * chapmanApproximation(radii[0] / scaleHeight, h, dot(normalize(position), dir));
|
|
32
|
-
}`),
|
|
32
|
+
}`),s.fragment.code.add(i`
|
|
33
33
|
const int STEPS = 6;
|
|
34
34
|
|
|
35
35
|
float getGlow(float dist, float radius, float intensity) {
|
|
@@ -63,7 +63,7 @@ return scaleHeight * chapmanApproximation(radii[0] / scaleHeight, h, dot(normali
|
|
|
63
63
|
float end = hitsPlanet ? rayPlanetIntersect.x : rayAtmosphereIntersect.y;
|
|
64
64
|
float maxEnd = end;
|
|
65
65
|
|
|
66
|
-
${
|
|
66
|
+
${n.haze?i`if (terrainDepth != -1.0) { end = terrainDepth; }`:""}
|
|
67
67
|
|
|
68
68
|
vec3 samplePoint = cameraPos + rayDir * end;
|
|
69
69
|
float multiplier = hitsPlanet ? -1.0 : 1.0;
|
|
@@ -78,7 +78,7 @@ return scaleHeight * chapmanApproximation(radii[0] / scaleHeight, h, dot(normali
|
|
|
78
78
|
float opticalDepth = multiplier * getOpticalDepth(samplePoint, rayDir * multiplier, scaleFract);
|
|
79
79
|
|
|
80
80
|
if (i > 0) {
|
|
81
|
-
scattering *= ${
|
|
81
|
+
scattering *= ${n.haze?i``:" mix(2.5, 1.0, clamp((length(cameraPos) - radii[0]) / 50e3, 0.0, 1.0)) * "} exp(-(mix(betaCombined, betaRayleigh, 0.5) + betaMie) * max(0.0, (opticalDepth - lastOpticalDepth)));
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
if (dot(normalize(samplePoint), lightDir) > -0.3) {
|
|
@@ -87,7 +87,7 @@ return scaleHeight * chapmanApproximation(radii[0] / scaleHeight, h, dot(normali
|
|
|
87
87
|
float lightDepth = getOpticalDepth(samplePoint, lightDir, scaleFract);
|
|
88
88
|
|
|
89
89
|
scattering += scale * exp(-(betaCombined + betaMie) * lightDepth);
|
|
90
|
-
${
|
|
90
|
+
${n.haze?"":i`scattering += scale * exp(-(0.25 * betaCombined ) * lightDepth);`}
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
lastOpticalDepth = opticalDepth;
|
|
@@ -99,7 +99,7 @@ return scaleHeight * chapmanApproximation(radii[0] / scaleHeight, h, dot(normali
|
|
|
99
99
|
|
|
100
100
|
float phaseRayleigh = 0.05968310365 * mumu;
|
|
101
101
|
|
|
102
|
-
${
|
|
102
|
+
${n.haze?i`return 3.0 * scattering * stepSize * phaseRayleigh * betaRayleigh;`:i`
|
|
103
103
|
const float g = 0.8;
|
|
104
104
|
const float gg = g * g;
|
|
105
105
|
float phaseMie = end == maxEnd ? 0.11936620731 * ((1.0 - gg) * mumu) / (pow(1.0 + gg - 2.0 * mu * g, 1.5) * (2.0 + gg)) : 0.0;
|
|
@@ -131,34 +131,34 @@ return scaleHeight * chapmanApproximation(radii[0] / scaleHeight, h, dot(normali
|
|
|
131
131
|
void main() {
|
|
132
132
|
vec3 rayDir = normalize(worldRay);
|
|
133
133
|
float terrainDepth = -1.0;
|
|
134
|
-
${
|
|
134
|
+
${n.haze?i`
|
|
135
135
|
vec4 depthSample = texture2D(depthTex, vuv0).rgba;
|
|
136
136
|
if (depthSample != vec4(0)) {
|
|
137
137
|
vec3 cameraSpaceRay = normalize(eyeDir);
|
|
138
138
|
cameraSpaceRay /= cameraSpaceRay.z;
|
|
139
139
|
cameraSpaceRay *= -linearDepthFromTexture(depthTex, vuv0, nearFar);
|
|
140
140
|
terrainDepth = max(0.0, length(cameraSpaceRay));
|
|
141
|
-
}`:
|
|
141
|
+
}`:i`
|
|
142
142
|
float depthSample = texture2D(depthTex, vuv0).r;
|
|
143
143
|
if (depthSample != 1.0) {
|
|
144
144
|
gl_FragColor = vec4(0);
|
|
145
145
|
return;
|
|
146
146
|
}`}
|
|
147
147
|
|
|
148
|
-
${
|
|
148
|
+
${n.haze?i`
|
|
149
149
|
vec3 col = vec3(0);
|
|
150
150
|
float fadeOut = smoothstep(-10000.0, -15000.0, heightParameters[0] - radii[0]);
|
|
151
151
|
if(depthSample != vec4(0)){
|
|
152
152
|
col = (1.0 - fadeOut) * hazeStrength * getAtmosphereColour(cameraPosition, rayDir, lightingMainDirection, terrainDepth);
|
|
153
153
|
}
|
|
154
|
-
float alpha = 1.0 - fadeOut;`:
|
|
154
|
+
float alpha = 1.0 - fadeOut;`:i`
|
|
155
155
|
vec3 col = getAtmosphereColour(cameraPosition, rayDir, lightingMainDirection, terrainDepth);;
|
|
156
156
|
float alpha = smoothstep(0.0, mix(0.15, 0.01, heightParameters[3]), length(col));`}
|
|
157
157
|
col = tonemapACES(col);
|
|
158
158
|
gl_FragColor = delinearizeGamma(vec4(col, alpha));
|
|
159
|
-
${
|
|
159
|
+
${n.haze?"":i`
|
|
160
160
|
if (depthSample == 1.0) {
|
|
161
161
|
gl_FragColor = applyUndergroundAtmosphere(rayDir, lightingMainDirection, gl_FragColor);
|
|
162
162
|
}`}
|
|
163
163
|
}
|
|
164
|
-
`),
|
|
164
|
+
`),s}const s=Object.freeze({__proto__:null,build:n});export{s as C,n as b};
|
|
@@ -2,13 +2,13 @@
|
|
|
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{ReadLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as
|
|
5
|
+
import{ReadLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{ColorConversion as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as i}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 o}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function t(t){const s=new d;return s.extensions.add("GL_OES_standard_derivatives"),s.attributes.add(o.POSITION,"vec3"),s.attributes.add(o.UV0,"vec2"),s.vertex.uniforms.add("proj","mat4").add("view","mat4"),s.varyings.add("vUV","vec2"),t.multipassTerrainEnabled&&s.varyings.add("depth","float"),s.vertex.code.add(i`
|
|
6
6
|
void main(void) {
|
|
7
7
|
vUV = uv0;
|
|
8
8
|
${t.multipassTerrainEnabled?"depth = (view * vec4(position, 1.0)).z;":""}
|
|
9
9
|
gl_Position = proj * view * vec4(position, 1.0);
|
|
10
10
|
}
|
|
11
|
-
`),t.multipassTerrainEnabled&&(s.fragment.include(e),s.include(
|
|
11
|
+
`),t.multipassTerrainEnabled&&(s.fragment.include(e),s.include(r,t)),s.fragment.uniforms.add("size","vec2").add("color1","vec4").add("color2","vec4"),s.fragment.include(a),s.fragment.code.add(i`
|
|
12
12
|
void main() {
|
|
13
13
|
${t.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
14
14
|
vec2 uvScaled = vUV / (2.0 * size);
|
|
@@ -19,6 +19,6 @@ import{ReadLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/out
|
|
|
19
19
|
float t = mix(abs(ab.x + ab.y), 0.5, fade);
|
|
20
20
|
|
|
21
21
|
gl_FragColor = mix(color2, color1, t);
|
|
22
|
-
${t.
|
|
22
|
+
${t.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
23
23
|
}
|
|
24
24
|
`),s}const s=Object.freeze({__proto__:null,build:t});export{s as C,t as b};
|
package/chunks/Clouds.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{ATLAS_SIZE as t,TILE_ROWS as e,TILE_SIZE as a,TEXTURE_SCALE as o}from"../views/3d/environment/NoiseTextureAtlas.js";import{ScreenSpacePass as i}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.js";import{glsl as n}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as r}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";var l;function s(s){const c=new r;return c.include(i,!1),c.fragment.uniforms.add("cloudRadius","float").add("halfCubeMapSize","float").add("power","float").add("sigmaE","float").add("density","float").add("cloudSize","float").add("detailSize","float").add("smoothness","float").add("cloudHeight","float").add("coverage","float").add("
|
|
5
|
+
import{ATLAS_SIZE as t,TILE_ROWS as e,TILE_SIZE as a,TEXTURE_SCALE as o}from"../views/3d/environment/NoiseTextureAtlas.js";import{ScreenSpacePass as i}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.js";import{glsl as n}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as r}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";var l;function s(s){const c=new r;return c.include(i,!1),c.fragment.uniforms.add("cloudRadius","float").add("halfCubeMapSize","float").add("power","float").add("sigmaE","float").add("density","float").add("cloudSize","float").add("detailSize","float").add("smoothness","float").add("cloudHeight","float").add("coverage","float").add("view","mat3").add("cloudShapeTexture","sampler2D"),c.fragment.code.add(n`
|
|
6
6
|
const int STEPS = ${s.steps===l.SIXTEEN?n`16`:s.steps===l.HUNDRED?n`100`:n`200`};
|
|
7
7
|
const int STEPS_LIGHT = 6;
|
|
8
8
|
const float stepL = 300.0 / float(STEPS_LIGHT);
|
|
@@ -109,7 +109,7 @@ p = org + dir * dist;
|
|
|
109
109
|
return color;
|
|
110
110
|
}`),c.fragment.code.add(n`void main() {
|
|
111
111
|
vec3 rayDir = rayDirection(gl_FragCoord.xy);
|
|
112
|
-
rayDir = normalize(
|
|
112
|
+
rayDir = normalize(view * rayDir);
|
|
113
113
|
vec3 viewPos = vec3(0, 0, cloudRadius + 1.0);
|
|
114
114
|
bool hitsPlanet = rayDir.z < 0.0;
|
|
115
115
|
if (hitsPlanet) {
|
|
@@ -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{EvaluateAmbientLighting as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js";import{EvaluateMainLighting as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateMainLighting.glsl.js";import{Gamma as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{PBRMode as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{PiUtils as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{CloudsParallaxShading as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js";import{ColorConversion as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{glsl as l}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 g}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{EvaluateAmbientLighting as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js";import{EvaluateMainLighting as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateMainLighting.glsl.js";import{Gamma as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{PBRMode as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{PiUtils as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{CloudsParallaxShading as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js";import{ColorConversion as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{glsl as l}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 g}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function c(){const c=new t;return c.attributes.add(g.POSITION,"vec2"),c.varyings.add("worldRay","vec3"),c.vertex.uniforms.add("inverseProjectionMatrix","mat4"),c.vertex.uniforms.add("inverseViewMatrix","mat4"),c.vertex.code.add(l`void main(void) {
|
|
6
6
|
vec3 posViewNear = (inverseProjectionMatrix * vec4(position, -1.0, 1.0)).xyz;
|
|
7
7
|
worldRay = (inverseViewMatrix * vec4(posViewNear, 0.0)).xyz;
|
|
8
8
|
gl_Position = vec4(position, 1.0, 1.0);
|
|
@@ -2,27 +2,27 @@
|
|
|
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 i}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{OutputDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight 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 i}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{OutputDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as l}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadLinearDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{symbolAlphaCutoff as n}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 p}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as g}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as u}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function m(m){const h=new g,v=m.output===e.Depth;return h.include(i,{linearDepth:v}),h.include(o,m),h.vertex.uniforms.add("proj","mat4").add("view","mat4"),h.attributes.add(u.POSITION,"vec3"),h.varyings.add("vpos","vec3"),m.multipassTerrainEnabled&&h.varyings.add("depth","float"),v&&(h.include(t,m),h.vertex.uniforms.add("nearFar","vec2"),h.varyings.add("linearDepth","float")),h.vertex.code.add(p`
|
|
6
6
|
void main(void) {
|
|
7
7
|
vpos = position;
|
|
8
8
|
forwardNormalizedVertexColor();
|
|
9
|
-
${
|
|
10
|
-
gl_Position = ${
|
|
9
|
+
${m.multipassTerrainEnabled?"depth = (view * vec4(vpos, 1.0)).z;":""}
|
|
10
|
+
gl_Position = ${v?p`transformPositionWithDepth(proj, view, vpos, nearFar, linearDepth);`:p`transformPosition(proj, view, vpos);`}
|
|
11
11
|
}
|
|
12
|
-
`),
|
|
12
|
+
`),h.include(r,m),h.fragment.include(d),m.multipassTerrainEnabled&&(h.fragment.include(a),h.include(s,m)),h.fragment.uniforms.add("eColor","vec4"),m.output===e.Highlight&&h.include(l),h.fragment.code.add(p`
|
|
13
13
|
void main() {
|
|
14
14
|
discardBySlice(vpos);
|
|
15
|
-
${
|
|
16
|
-
vec4
|
|
15
|
+
${m.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
16
|
+
vec4 fColor = ${m.attributeColor?"vColor * eColor;":"eColor;"}
|
|
17
17
|
|
|
18
|
-
if (
|
|
18
|
+
if (fColor.a < ${p.float(n)}) {
|
|
19
19
|
discard;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
${
|
|
22
|
+
${m.output===e.Alpha?p`gl_FragColor = vec4(fColor.a);`:""}
|
|
23
23
|
|
|
24
|
-
${
|
|
25
|
-
${
|
|
26
|
-
${
|
|
24
|
+
${m.output===e.Color?p`gl_FragColor = highlightSlice(fColor, vpos); ${m.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}`:""}
|
|
25
|
+
${m.output===e.Highlight?p`outputHighlight();`:""};
|
|
26
|
+
${m.output===e.Depth?p`outputDepth(linearDepth);`:""};
|
|
27
27
|
}
|
|
28
|
-
`),
|
|
28
|
+
`),h}const h=Object.freeze({__proto__:null,build:m});export{h as C,m 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{earth as e,mars as r,moon as o}from"../geometry/support/Ellipsoid.js";import{ViewingMode as a}from"../views/ViewingMode.js";import{ComponentData as
|
|
5
|
+
import{earth as e,mars as r,moon as o}from"../geometry/support/Ellipsoid.js";import{ViewingMode as a}from"../views/ViewingMode.js";import{ComponentData as i,ComponentDataType as l}from"../views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js";import{VertexDiscardByOpacity as t}from"../views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardByOpacity.glsl.js";import{ForwardLinearDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as n}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as s}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{NormalAttributeType as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{TextureCoordinateAttribute as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as h}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadLinearDepth as C}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{ComputeMaterialColor as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTexture as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{ComputeShadingNormal as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeShadingNormal.glsl.js";import{EvaluateSceneLighting as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{multipassTerrainTest as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{PBRMode as M,PhysicallyBasedRenderingParameters as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMap as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{Overlay as N}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlpha as T,symbolAlphaCutoff as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{EllipsoidMode as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/EllipsoidMode.js";import{glsl as E}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 R}from"../views/3d/webgl-engine/lib/VertexAttribute.js";const W=new Map([[R.POSITION,0],[R.NORMAL,1],[R.NORMALCOMPRESSED,1],[R.COLOR,2],[R.UV0,3],[R.UVREGION,4],[R.COMPONENTINDEX,5]]);function D(R){const W=new P;W.include(u,R),W.include(v,R),W.include(m,R),W.include(g,R),W.include(d,R),W.include(i,R),W.include(T,R),W.include(s,R),W.include(L,R),W.include(t,R),W.fragment.uniforms.add("view","mat4"),R.pbrMode!==M.Normal&&R.pbrMode!==M.Schematic||(W.include(O,R),R.hasNormalTexture&&W.include(b,R)),R.output===n.Shadow&&R.componentData===l.Varying?W.vertex.code.add(E`#define discardShadows(castShadows) { if(!castShadows) { gl_Position = vec4(1e38, 1e38, 1e38, 1.0); return; } }`):W.vertex.code.add(E`#define discardShadows(castShadows) {}`);const D=R.overlayEnabled&&R.output===n.Color&&R.pbrMode===M.WaterOnIntegratedMesh;return R.overlayEnabled&&(W.include(f,R),W.include(N,R),R.viewingMode===a.Global?W.vertex.code.add(E`
|
|
6
6
|
const float invEllipsoidRadius = ${E.float(1/(R.ellipsoidMode===A.Earth?e.radius:R.ellipsoidMode===A.Mars?r.radius:o.radius))};
|
|
7
7
|
vec2 projectOverlay(vec3 pos) {
|
|
8
8
|
return pos.xy / (1.0 + invEllipsoidRadius * pos.z);
|
|
@@ -117,7 +117,7 @@ float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);`):W.fragme
|
|
|
117
117
|
}`:""}
|
|
118
118
|
`)),W.fragment.code.add(E`
|
|
119
119
|
gl_FragColor = highlightSlice(shadedColor, vPositionWorldCameraRelative);
|
|
120
|
-
${R.
|
|
120
|
+
${R.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
121
121
|
}
|
|
122
122
|
`)),R.output!==n.Depth&&R.output!==n.Shadow||(W.include(p,R),W.fragment.code.add(E`void main() {
|
|
123
123
|
discardBySlice(vPositionWorldCameraRelative);
|
|
@@ -133,7 +133,7 @@ outputDepth(linearDepth);
|
|
|
133
133
|
|
|
134
134
|
// note: the alpha component needs to be 1.0 in order for this material
|
|
135
135
|
// to influence ambient occlusion, see the ssao fragment shader
|
|
136
|
-
float alpha = ${R.normalType===c.
|
|
136
|
+
float alpha = ${R.normalType===c.Ground?"0.0":"1.0"};
|
|
137
137
|
gl_FragColor = vec4(vec3(.5) + .5 * shadingNormal_view(), alpha);
|
|
138
138
|
}
|
|
139
139
|
`)),R.output===n.Highlight&&(W.include(h),W.fragment.code.add(E`
|
|
@@ -8,7 +8,7 @@ gl_FragColor = texture2D(tex, uv) * opacity;
|
|
|
8
8
|
gl_FragColor = texture2D(tex, uv);
|
|
9
9
|
}`)),o.function===t.OverlayWithTransparency&&(n.fragment.uniforms.add("overlayIdx","int"),o.hasOpacityFactor&&n.fragment.uniforms.add("opacity","float"),n.fragment.code.add(e`
|
|
10
10
|
void main() {
|
|
11
|
-
vec2 overlayUV = overlayIdx == 0 ? vec2(uv.x * 0.5, uv.y) : vec2(uv.x * 0.5+ 0.5, uv.y);
|
|
11
|
+
vec2 overlayUV = overlayIdx == 0 ? vec2(uv.x * 0.5, uv.y) : vec2(uv.x * 0.5 + 0.5, uv.y);
|
|
12
12
|
gl_FragColor = texture2D(tex, overlayUV) ${o.hasOpacityFactor?"* opacity":""};
|
|
13
13
|
}`)),o.function===t.TransparentToHUDVisibility&&n.fragment.code.add(e`void main() {
|
|
14
14
|
gl_FragColor = vec4(1.0 - texture2D(tex, uv).a);
|
|
@@ -2,83 +2,83 @@
|
|
|
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 r}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as o}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 n}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 r}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as o}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 n,NormalAttributeType as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{PositionAttribute as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js";import{SymbolColor as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as m}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{VertexNormal as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as p}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as u}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ReadLinearDepth as b}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{ComputeNormalTexture as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{multipassTerrainTest as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{Normals as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{PhysicallyBasedRendering as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as L,PBRMode as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMap as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{VisualVariables as T}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{symbolAlphaCutoff as O,DiscardOrAdjustAlpha as E}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{HeaderComment as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/HeaderComment.glsl.js";import{MixExternalColor as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{glsl as P}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as _}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as N}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function $($){const D=new _,B=D.vertex.code,F=D.fragment.code;D.include(A,{name:"Default Material Shader",output:$.output}),D.vertex.uniforms.add("proj","mat4").add("view","mat4").add("cameraPosition","vec3").add("localOrigin","vec3");const V=$.hasModelTransformation;return V&&D.vertex.uniforms.add("model","mat4"),D.include(d),D.varyings.add("vpos","vec3"),D.include(T,$),D.include(t,$),D.include(p,$),$.output!==a.Color&&$.output!==a.Alpha||(D.include(n,$),D.include(l,{linearDepth:!1,hasModelTransformation:V}),$.normalType===s.Attribute&&$.offsetBackfaces&&D.include(o),D.include(h,$),D.include(v,$),$.instancedColor&&D.attributes.add(N.INSTANCECOLOR,"vec4"),D.varyings.add("localvpos","vec3"),D.include(m,$),D.include(r,$),D.include(c,$),D.include(g,$),D.vertex.uniforms.add("externalColor","vec4"),D.varyings.add("vcolorExt","vec4"),$.multipassTerrainEnabled&&D.varyings.add("depth","float"),B.add(P`
|
|
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();
|
|
13
13
|
|
|
14
|
-
if (vcolorExt.a < ${
|
|
14
|
+
if (vcolorExt.a < ${P.float(O)}) {
|
|
15
15
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
16
16
|
}
|
|
17
17
|
else {
|
|
18
18
|
vpos = calculateVPos();
|
|
19
19
|
localvpos = vpos - view[3].xyz;
|
|
20
20
|
vpos = subtractOrigin(vpos);
|
|
21
|
-
${
|
|
21
|
+
${$.normalType===s.Attribute?P`
|
|
22
22
|
vNormalWorld = dpNormal(vvLocalNormal(normalModel()));`:""}
|
|
23
23
|
vpos = addVerticalOffset(vpos, localOrigin);
|
|
24
|
-
${
|
|
25
|
-
gl_Position = transformPosition(proj, view, ${
|
|
26
|
-
${
|
|
24
|
+
${$.vertexTangents?"vTangent = dpTransformVertexTangent(tangent);":""}
|
|
25
|
+
gl_Position = transformPosition(proj, view, ${V?"model,":""} vpos);
|
|
26
|
+
${$.normalType===s.Attribute&&$.offsetBackfaces?"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);":""}
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
${
|
|
29
|
+
${$.multipassTerrainEnabled?"depth = (view * vec4(vpos, 1.0)).z;":""}
|
|
30
30
|
forwardLinearDepth();
|
|
31
31
|
forwardTextureCoordinates();
|
|
32
32
|
}
|
|
33
|
-
`))
|
|
33
|
+
`)),$.output===a.Alpha&&(D.include(i,$),D.include(E,$),$.multipassTerrainEnabled&&(D.fragment.include(b),D.include(x,$)),D.fragment.uniforms.add("cameraPosition","vec3").add("localOrigin","vec3").add("opacity","float").add("layerOpacity","float"),$.hasColorTexture&&D.fragment.uniforms.add("tex","sampler2D"),D.fragment.include(S),F.add(P`
|
|
34
34
|
void main() {
|
|
35
35
|
discardBySlice(vpos);
|
|
36
|
-
${
|
|
37
|
-
${
|
|
36
|
+
${$.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
37
|
+
${$.hasColorTexture?P`
|
|
38
38
|
vec4 texColor = texture2D(tex, vuv0);
|
|
39
|
-
${
|
|
40
|
-
discardOrAdjustAlpha(texColor);`:
|
|
41
|
-
${
|
|
42
|
-
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:
|
|
39
|
+
${$.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
40
|
+
discardOrAdjustAlpha(texColor);`:P`vec4 texColor = vec4(1.0);`}
|
|
41
|
+
${$.attributeColor?P`
|
|
42
|
+
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:P`
|
|
43
43
|
float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));
|
|
44
44
|
`}
|
|
45
45
|
gl_FragColor = vec4(opacity_);
|
|
46
46
|
}
|
|
47
|
-
`))
|
|
47
|
+
`)),$.output===a.Color&&(D.include(i,$),D.include(w,$),D.include(f,$),D.include(E,$),$.receiveShadows&&D.include(M,$),$.multipassTerrainEnabled&&(D.fragment.include(b),D.include(x,$)),D.fragment.uniforms.add("cameraPosition","vec3").add("localOrigin","vec3").add("ambient","vec3").add("diffuse","vec3").add("opacity","float").add("layerOpacity","float"),$.hasColorTexture&&D.fragment.uniforms.add("tex","sampler2D"),D.include(L,$),D.include(C,$),D.fragment.include(S),D.include(y,$),F.add(P`
|
|
48
48
|
void main() {
|
|
49
49
|
discardBySlice(vpos);
|
|
50
|
-
${
|
|
51
|
-
${
|
|
50
|
+
${$.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
51
|
+
${$.hasColorTexture?P`
|
|
52
52
|
vec4 texColor = texture2D(tex, vuv0);
|
|
53
|
-
${
|
|
54
|
-
discardOrAdjustAlpha(texColor);`:
|
|
55
|
-
shadingParams.viewDirection = normalize(vpos -
|
|
56
|
-
${
|
|
57
|
-
vec3 normal = screenDerivativeNormal(localvpos);`:
|
|
53
|
+
${$.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
54
|
+
discardOrAdjustAlpha(texColor);`:P`vec4 texColor = vec4(1.0);`}
|
|
55
|
+
shadingParams.viewDirection = normalize(vpos - cameraPosition);
|
|
56
|
+
${$.normalType===s.ScreenDerivative?P`
|
|
57
|
+
vec3 normal = screenDerivativeNormal(localvpos);`:P`
|
|
58
58
|
shadingParams.normalView = vNormalWorld;
|
|
59
59
|
vec3 normal = shadingNormal(shadingParams);`}
|
|
60
|
-
${
|
|
60
|
+
${$.pbrMode===j.Normal?"applyPBRFactors();":""}
|
|
61
61
|
float ssao = evaluateAmbientOcclusionInverse();
|
|
62
62
|
ssao *= getBakedOcclusion();
|
|
63
63
|
|
|
64
64
|
float additionalAmbientScale = additionalDirectedAmbientLight(vpos + localOrigin);
|
|
65
65
|
vec3 additionalLight = ssao * lightingMainIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
|
|
66
|
-
${
|
|
66
|
+
${$.receiveShadows?"float shadow = readShadowMap(vpos, linearDepth);":$.viewingMode===e.Global?"float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);":"float shadow = 0.0;"}
|
|
67
67
|
vec3 matColor = max(ambient, diffuse);
|
|
68
|
-
${
|
|
68
|
+
${$.attributeColor?P`
|
|
69
69
|
vec3 albedo_ = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
70
|
-
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:
|
|
70
|
+
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:P`
|
|
71
71
|
vec3 albedo_ = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
72
72
|
float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));
|
|
73
73
|
`}
|
|
74
|
-
${
|
|
75
|
-
mat3 tangentSpace = ${
|
|
74
|
+
${$.hasNormalTexture?P`
|
|
75
|
+
mat3 tangentSpace = ${$.vertexTangents?"computeTangentSpace(normal);":"computeTangentSpace(normal, vpos, vuv0);"}
|
|
76
76
|
vec3 shadedNormal = computeTextureNormal(tangentSpace, vuv0);`:"vec3 shadedNormal = normal;"}
|
|
77
|
-
${
|
|
78
|
-
${
|
|
77
|
+
${$.pbrMode===j.Normal||$.pbrMode===j.Schematic?$.viewingMode===e.Global?P`vec3 normalGround = normalize(vpos + localOrigin);`:P`vec3 normalGround = vec3(0.0, 0.0, 1.0);`:P``}
|
|
78
|
+
${$.pbrMode===j.Normal||$.pbrMode===j.Schematic?P`
|
|
79
79
|
float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * lightingMainIntensity[2];
|
|
80
80
|
vec3 shadedColor = evaluateSceneLightingPBR(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight, shadingParams.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
|
-
`))
|
|
84
|
+
`)),D.include(u,$),D}const D=Object.freeze({__proto__:null,build:$});export{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{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.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{glsl as s}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 d}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.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{glsl as s}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 d}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{AdjustProjectedPosition as t}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js";import{DiscardByCoverage as a}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardByCoverage.glsl.js";import{DiscardNonSilhouetteEdges as l}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardNonSilhouetteEdges.glsl.js";import{DiscardShortEdges as r}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardShortEdges.glsl.js";import{EdgeUtil as c}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js";import{LineAmplitude as p}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js";import{LineOffset as P}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js";import{UnpackAttributes as u}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js";function g(g){const v=new n,f=v.vertex,x=v.fragment;return g.legacy&&f.uniforms.add("model","mat4"),g.antialiasing&&(f.code.add(s`#define ANTIALIASING 1`),x.code.add(s`#define ANTIALIASING 1`)),v.include(t,g),v.include(p,g),v.include(c,g),v.include(u,g),v.include(P,g),v.include(e,g),v.include(l,g),v.include(a,g),v.include(r,g),v.varyings.add("vColor","vec4"),v.varyings.add("vRadius","float"),v.varyings.add("vPosition","vec3"),v.varyings.add("vWorldPosition","vec3"),v.varyings.add("vViewPos","vec3"),v.varyings.add("vLineLengthPixels","float"),v.varyings.add("vSizeFalloffFactor","float"),f.uniforms.add("pixelToNDC","vec2"),f.uniforms.add("ndcToPixel","vec2"),f.uniforms.add("pixelRatio","float"),v.attributes.add(d.POSITION0,"vec3"),v.attributes.add(d.POSITION1,"vec3"),v.attributes.add(d.VARIANTOFFSET,"float"),v.attributes.add(d.VARIANTSTROKE,"float"),v.attributes.add(d.VARIANTEXTENSION,"float"),f.code.add(s`const float opaqueCutoff = 1.0 / 255.0;
|
|
6
6
|
void calculateGeometricOutputs(vec3 viewPosV0, vec3 viewPosV1, vec3 worldPosV0, vec3 worldPosV1, vec3 worldNormal, UnpackedAttributes unpackedAttributes) {
|
|
7
7
|
vec2 sideness = unpackedAttributes.sideness;
|
|
8
8
|
vec2 sidenessNorm = unpackedAttributes.sidenessNorm;
|
|
@@ -13,15 +13,15 @@ vec4 projPosV0 = projFromViewPosition(viewPosV0);
|
|
|
13
13
|
vec4 projPosV1 = projFromViewPosition(viewPosV1);
|
|
14
14
|
vec4 projPos = projFromViewPosition(viewPos);
|
|
15
15
|
vec3 screenSpaceLineNDC = (projPosV1.xyz / projPosV1.w - projPosV0.xyz / projPosV0.w);
|
|
16
|
-
vec2 screenSpaceLinePixels = screenSpaceLineNDC.xy *
|
|
16
|
+
vec2 screenSpaceLinePixels = screenSpaceLineNDC.xy * ndcToPixel;
|
|
17
17
|
float lineLengthPixels = length(screenSpaceLinePixels);
|
|
18
18
|
float dzPerPixel = screenSpaceLineNDC.z / lineLengthPixels;
|
|
19
19
|
vec2 screenSpaceDirection = screenSpaceLinePixels / lineLengthPixels;
|
|
20
20
|
vec2 perpendicularScreenSpaceDirection = vec2(screenSpaceDirection.y, -screenSpaceDirection.x) * sideness.x;
|
|
21
|
-
float falloffFactor = distanceBasedPerspectiveFactor(-viewPos.z) *
|
|
21
|
+
float falloffFactor = distanceBasedPerspectiveFactor(-viewPos.z) * pixelRatio;
|
|
22
22
|
float lineWidthPixels = unpackedAttributes.lineWidthPixels * falloffFactor;
|
|
23
23
|
float extensionLengthPixels = calculateExtensionLength(unpackedAttributes.extensionLengthPixels, lineLengthPixels) * falloffFactor;
|
|
24
|
-
float lineAmplitudePixels = calculateLineAmplitude(unpackedAttributes) *
|
|
24
|
+
float lineAmplitudePixels = calculateLineAmplitude(unpackedAttributes) * pixelRatio;
|
|
25
25
|
vSizeFalloffFactor = falloffFactor;
|
|
26
26
|
float lineWidthAndAmplitudePixels = lineWidthPixels + lineAmplitudePixels + lineAmplitudePixels;
|
|
27
27
|
float extendedLineLengthPixels = lineLengthPixels + extensionLengthPixels + extensionLengthPixels;
|
|
@@ -33,9 +33,9 @@ float aaPaddedRoundedCapSizePixels = lineWidthPixels * 0.5 + aaPaddingPixels;
|
|
|
33
33
|
float halfAAPaddedLineWidthAndAmplitudePixels = max(lineWidthAndAmplitudePixels, 1.0) * 0.5;
|
|
34
34
|
float aaPaddedRoundedCapSizePixels = max(lineWidthPixels, 1.0) * 0.5;
|
|
35
35
|
#endif
|
|
36
|
-
vec2 halfAAPaddedLineWidthAndAmplitudeNDC = halfAAPaddedLineWidthAndAmplitudePixels *
|
|
37
|
-
vec2 aaPaddedRoundedCapSizeNDC = aaPaddedRoundedCapSizePixels *
|
|
38
|
-
vec2 extensionLengthNDC = extensionLengthPixels *
|
|
36
|
+
vec2 halfAAPaddedLineWidthAndAmplitudeNDC = halfAAPaddedLineWidthAndAmplitudePixels * pixelToNDC;
|
|
37
|
+
vec2 aaPaddedRoundedCapSizeNDC = aaPaddedRoundedCapSizePixels * pixelToNDC;
|
|
38
|
+
vec2 extensionLengthNDC = extensionLengthPixels * pixelToNDC;
|
|
39
39
|
vec2 ndcOffset = (
|
|
40
40
|
screenSpaceDirection * sideness.y * (aaPaddedRoundedCapSizeNDC + extensionLengthNDC)
|
|
41
41
|
+ perpendicularScreenSpaceDirection * halfAAPaddedLineWidthAndAmplitudeNDC
|
package/chunks/Fog.glsl.js
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
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{TextureCoordinateAttribute as e}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{ReadLinearDepth as
|
|
6
|
-
vec3 posViewNear = (
|
|
5
|
+
import{TextureCoordinateAttribute as e,TextureCoordinateAttributeType as r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{ReadLinearDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{glsl as o}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 n}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function d(d){const l=new i;return l.attributes.add(n.POSITION,"vec2"),l.include(e,{attributeTextureCoordinates:r.Default}),l.varyings.add("worldRay","vec3"),l.varyings.add("eyeDir","vec3"),l.vertex.uniforms.add("inverseProjectionMatrix","mat4"),l.vertex.uniforms.add("inverseViewMatrix","mat4"),l.vertex.code.add(o`void main(void) {
|
|
6
|
+
vec3 posViewNear = (inverseProjectionMatrix * vec4(position, -1, 1)).xyz;
|
|
7
7
|
eyeDir = posViewNear;
|
|
8
|
-
worldRay = (
|
|
8
|
+
worldRay = (inverseViewMatrix * vec4(posViewNear, 0)).xyz;
|
|
9
9
|
forwardTextureCoordinates();
|
|
10
10
|
gl_Position = vec4(position, 1, 1);
|
|
11
|
-
}`),
|
|
11
|
+
}`),l.fragment.uniforms.add("lightingMainDirection","vec3").add("atmosphereC","float").add("cameraPosition","vec3").add("nearFar","vec2").add("depthTex","sampler2D").add("fogStrength","float").add("fogAmount","float"),l.include(t),l.fragment.include(a),l.fragment.code.add(o`vec2 sphereIntersect(vec3 start, vec3 dir) {
|
|
12
12
|
float a = dot(dir, dir);
|
|
13
13
|
float b = 2.0 * dot(dir, start);
|
|
14
14
|
float d = (b * b) - 4.0 * a * atmosphereC;
|
|
@@ -16,7 +16,7 @@ if (d < 0.0) {
|
|
|
16
16
|
return vec2(1e5, -1e5);
|
|
17
17
|
}
|
|
18
18
|
return vec2((-b - sqrt(d)) / (2.0 * a), (-b + sqrt(d)) / (2.0 * a));
|
|
19
|
-
}`),
|
|
19
|
+
}`),l.fragment.code.add(o`
|
|
20
20
|
vec4 applyFog(float dist, vec3 rayDir){
|
|
21
21
|
bool sky = false;
|
|
22
22
|
|
|
@@ -26,18 +26,16 @@ return vec2((-b - sqrt(d)) / (2.0 * a), (-b + sqrt(d)) / (2.0 * a));
|
|
|
26
26
|
sky = true;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
float fogAmount = fogAmount * (1.0 - exp(-dist *
|
|
30
|
-
|
|
29
|
+
float fogAmount = fogAmount * (1.0 - exp(-dist * fogStrength));
|
|
31
30
|
float sunAmount = max(0.0, dot(rayDir, lightingMainDirection));
|
|
32
|
-
|
|
33
31
|
float lightAngle = max(0.0, dot(normalize(cameraPosition + dist * rayDir), lightingMainDirection));
|
|
34
|
-
${
|
|
32
|
+
${d.haze?o`vec3 fogColor = mix(vec3(0.0), vec3(0.24, 0.44, 0.8), lightAngle);`:o`vec3 fogColor = mix(vec3(0.1), vec3(1.5), lightAngle);`}
|
|
35
33
|
|
|
36
34
|
float phase = sky ? pow(sunAmount, 16.0) : 0.0;
|
|
37
35
|
vec3 col = (lightAngle * vec3(1.0, 0.6, 0.3) * phase + fogColor) * fogAmount;
|
|
38
36
|
return vec4(col, fogAmount);
|
|
39
37
|
}
|
|
40
|
-
`),
|
|
38
|
+
`),l.fragment.code.add(o`
|
|
41
39
|
vec3 tonemapACES(vec3 x) {
|
|
42
40
|
return clamp((x * (2.51 * x + 0.03)) / (x * (2.43 * x + 0.59) + 0.14), 0.0, 1.0);
|
|
43
41
|
}
|
|
@@ -56,7 +54,7 @@ return vec2((-b - sqrt(d)) / (2.0 * a), (-b + sqrt(d)) / (2.0 * a));
|
|
|
56
54
|
terrainDepth = max(0.0, length(cameraSpaceRay));
|
|
57
55
|
}
|
|
58
56
|
|
|
59
|
-
${
|
|
57
|
+
${d.haze?o`
|
|
60
58
|
if(terrainDepth == -1.0){
|
|
61
59
|
gl_FragColor = vec4(0);
|
|
62
60
|
return;
|
|
@@ -66,4 +64,4 @@ return vec2((-b - sqrt(d)) / (2.0 * a), (-b + sqrt(d)) / (2.0 * a));
|
|
|
66
64
|
|
|
67
65
|
gl_FragColor = delinearizeGamma(vec4(tonemapACES(fog.rgb), fog.a));
|
|
68
66
|
}
|
|
69
|
-
`),
|
|
67
|
+
`),l}const l=Object.freeze({__proto__:null,build:d});export{l as F,d as b};
|