@arcgis/core 6.0.0-next.8 → 6.0.0-next.9
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/arcade/featureSetUtils.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{85908e6e9c50749cee60.js → 037a8cc19debbaaa4e10.js} +1 -1
- package/assets/esri/core/workers/chunks/066550852483ab8f77bc.js +1 -0
- package/assets/esri/core/workers/chunks/0f725cf79ce00e790a7d.js +1 -0
- package/assets/esri/core/workers/chunks/12a7997a40c77f5c9160.js +1 -0
- package/assets/esri/core/workers/chunks/1b077c92345ffb5916c2.js +1 -0
- package/assets/esri/core/workers/chunks/{6dd0b79fa3a629ab4f27.js → 1bca39e0e651426bdbb5.js} +1 -1
- package/assets/esri/core/workers/chunks/{1b35ec54968fbeec17ce.js → 2686fe5b62dd0be699c0.js} +1 -1
- package/assets/esri/core/workers/chunks/2a97268000c6d03ef720.js +1 -0
- package/assets/esri/core/workers/chunks/2e2e33ec50e97b91b178.js +1 -0
- package/assets/esri/core/workers/chunks/{7a05b18f655c1167ce0a.js → 2ef5237e4c876d6a4ee0.js} +1 -1
- package/assets/esri/core/workers/chunks/{776ae25a34352d3468bc.js → 3081ee6d8019494fc21e.js} +1 -1
- package/assets/esri/core/workers/chunks/37d6a264a3f1d8072aa0.js +1 -0
- package/assets/esri/core/workers/chunks/3df5500a85345577480a.js +1 -0
- package/assets/esri/core/workers/chunks/{ded8b64a46992c3ae693.js → 40a584cb952e94326e9e.js} +1 -1
- package/assets/esri/core/workers/chunks/{1ba0dfbe0958cdbd7c9f.js → 42fd2a7b22b03dacc6a7.js} +1 -1
- package/assets/esri/core/workers/chunks/444e5f214abce3d607cd.js +1 -0
- package/assets/esri/core/workers/chunks/{d201fbf3ceff946d2bd6.js → 44d5508042cacdfcac47.js} +1 -1
- package/assets/esri/core/workers/chunks/{09a63cc1987f8636c5b0.js → 4503b20ca6a80fb63d72.js} +1 -1
- package/assets/esri/core/workers/chunks/45367aa8e5c5d574de94.js +1 -0
- package/assets/esri/core/workers/chunks/45800373650fbc8262e6.js +1 -0
- package/assets/esri/core/workers/chunks/{6a7ab1ef9a37e87db5ae.js → 46a7da93a63663878583.js} +1 -1
- package/assets/esri/core/workers/chunks/{f43a50d4bd9636e68ae5.js → 46b4fb6a7fe4877b0efc.js} +63 -61
- package/assets/esri/core/workers/chunks/47d074136a7f8e551a9a.js +1 -0
- package/assets/esri/core/workers/chunks/{257910cca66dc5df465e.js → 4911ce62421a6c3320b0.js} +1 -1
- package/assets/esri/core/workers/chunks/4a1e23e021bac37a88ab.js +1 -0
- package/assets/esri/core/workers/chunks/4debf2d9c3465250ef7a.js +1 -0
- package/assets/esri/core/workers/chunks/4e8e322b469657ac22e2.js +1 -0
- package/assets/esri/core/workers/chunks/54b18559280a7d2a8d93.js +1 -0
- package/assets/esri/core/workers/chunks/567a65f4203f6e81f4b4.js +1 -0
- package/assets/esri/core/workers/chunks/5c7780f804d789cb37f5.js +1 -0
- package/assets/esri/core/workers/chunks/{ceb680688fe7e570a774.js → 608be1172a908e92b9f1.js} +1 -1
- package/assets/esri/core/workers/chunks/{6f358116f79021ff9687.js → 612104dff305ff062dfa.js} +2 -2
- package/assets/esri/core/workers/chunks/6299be5e7e26bf3c6859.js +1 -0
- package/assets/esri/core/workers/chunks/6400446b7615b97c3521.js +1 -0
- package/assets/esri/core/workers/chunks/6431480ba0fa8c8d487f.js +1 -0
- package/assets/esri/core/workers/chunks/6c9acd9e4e201dc380e9.js +1 -0
- package/assets/esri/core/workers/chunks/7449568eb2305bf2d650.js +1 -0
- package/assets/esri/core/workers/chunks/745a153d0cd34faa124e.js +1 -0
- package/assets/esri/core/workers/chunks/7572c2bc5062e66f6330.js +1 -0
- package/assets/esri/core/workers/chunks/78472a57c2ba146fec65.js +1 -0
- package/assets/esri/core/workers/chunks/7f0f9dddc44b1f1600f0.js +1 -0
- package/assets/esri/core/workers/chunks/{56a24061589f4a968818.js → 814751e705c05099f864.js} +1 -1
- package/assets/esri/core/workers/chunks/8293600f94553afc8c38.js +1 -0
- package/assets/esri/core/workers/chunks/836bb3673ab30fc66f1e.js +1 -0
- package/assets/esri/core/workers/chunks/8487727f1197cf7dbf50.js +1 -0
- package/assets/esri/core/workers/chunks/{ceb112fe7aef354f8051.js → 88e54449261ef94e390d.js} +1 -1
- package/assets/esri/core/workers/chunks/8b0d5551978ab0aac0d1.js +1 -0
- package/assets/esri/core/workers/chunks/8d0c2de92770a1567536.js +1 -0
- package/assets/esri/core/workers/chunks/{c76c42c74eedd43263d3.js → 9dd1fc56eb1ea6eb705e.js} +1 -1
- package/assets/esri/core/workers/chunks/{86a051e9fe71aa356108.js → 9e3e442a9874ed23a043.js} +1 -1
- package/assets/esri/core/workers/chunks/a40b6d8b5c73e06e14d4.js +1 -0
- package/assets/esri/core/workers/chunks/aaba33611753c6aada68.js +1 -0
- package/assets/esri/core/workers/chunks/aeaaff7a4b1a99540f52.js +1 -0
- package/assets/esri/core/workers/chunks/{ecaac39dde7ec4213264.js → af75747b06d79446a855.js} +1 -1
- package/assets/esri/core/workers/chunks/b564ec4e03478f5659db.js +1 -0
- package/assets/esri/core/workers/chunks/bc0f54a2c15502b630ec.js +1 -0
- package/assets/esri/core/workers/chunks/c1c534e08fc21842670b.js +1 -0
- package/assets/esri/core/workers/chunks/{9ab25ee06041f907b9a2.js → c2c1f51a4668055c2838.js} +1 -1
- package/assets/esri/core/workers/chunks/c337fc0e6dc69c233e6d.js +1 -0
- package/assets/esri/core/workers/chunks/{a7985d20fa6e8d4878e7.js → d0f5bee9db1ad51ae687.js} +1 -1
- package/assets/esri/core/workers/chunks/dba280c370df13196711.js +1 -0
- package/assets/esri/core/workers/chunks/{19b9d393046a780e6c3f.js → de5ecb567bd69c613e9d.js} +1 -1
- package/assets/esri/core/workers/chunks/{534186fc921a0ccf58dc.js → e1f5d00878f27e1d413e.js} +1 -1
- package/assets/esri/core/workers/chunks/e65dfa19f030ec298437.js +1 -0
- package/assets/esri/core/workers/chunks/e932951598499befabf5.js +1 -0
- package/assets/esri/core/workers/chunks/f1df76f098a3cc924832.js +1 -0
- package/assets/esri/core/workers/chunks/f1f90adae13b04898008.js +1 -0
- package/assets/esri/core/workers/chunks/f4f9d08b2df856e3b694.js +1 -0
- package/assets/esri/core/workers/chunks/fc44227c1756f65b95df.js +1 -0
- package/assets/esri/core/workers/chunks/{3b737dae6efed627406e.js → fc44d45598a7476bc606.js} +1 -1
- package/assets/esri/themes/base/_mixins.scss +2 -2
- package/assets/esri/themes/base/widgets/_Attribution.scss +1 -1
- package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +2 -2
- package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +5 -5
- package/assets/esri/themes/base/widgets/_Bookmarks.scss +1 -1
- package/assets/esri/themes/base/widgets/_BuildingLevelPicker.scss +2 -2
- package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +5 -5
- package/assets/esri/themes/base/widgets/_CatalogLayerList.scss +1 -1
- package/assets/esri/themes/base/widgets/_Compass.scss +0 -2
- package/assets/esri/themes/base/widgets/_DirectionalPad.scss +4 -10
- package/assets/esri/themes/base/widgets/_Directions.scss +40 -40
- package/assets/esri/themes/base/widgets/_Editor.scss +7 -7
- package/assets/esri/themes/base/widgets/_Expand.scss +1 -1
- package/assets/esri/themes/base/widgets/_Feature.scss +1 -1
- package/assets/esri/themes/base/widgets/_FeatureForm.scss +6 -6
- package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationLayers.scss +1 -1
- package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationList.scss +1 -1
- package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationSettings.scss +3 -3
- package/assets/esri/themes/base/widgets/_FeatureTable.scss +27 -27
- package/assets/esri/themes/base/widgets/_FeatureTemplates.scss +1 -1
- package/assets/esri/themes/base/widgets/_Features.scss +5 -5
- package/assets/esri/themes/base/widgets/_FilterBuilder.scss +1 -1
- package/assets/esri/themes/base/widgets/_FilterCondition.scss +1 -1
- package/assets/esri/themes/base/widgets/_Grid.scss +18 -18
- package/assets/esri/themes/base/widgets/_GridControls.scss +11 -11
- package/assets/esri/themes/base/widgets/_LayerList.scss +1 -1
- package/assets/esri/themes/base/widgets/_Legend.scss +5 -5
- package/assets/esri/themes/base/widgets/_NavigationToggle.scss +4 -1
- package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +18 -19
- package/assets/esri/themes/base/widgets/_ResponsiveToolbar.scss +0 -2
- package/assets/esri/themes/base/widgets/_SearchResultRenderer.scss +1 -1
- package/assets/esri/themes/base/widgets/_SelectionList.scss +15 -15
- package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +2 -2
- package/assets/esri/themes/base/widgets/_ShadowCast.scss +11 -11
- package/assets/esri/themes/base/widgets/_Sketch.scss +1 -1
- package/assets/esri/themes/base/widgets/_Slice.scss +3 -3
- package/assets/esri/themes/base/widgets/_SnappingControls.scss +1 -1
- package/assets/esri/themes/base/widgets/_TimeSlider.scss +5 -5
- package/assets/esri/themes/base/widgets/_TimeZoneLabel.scss +5 -4
- package/assets/esri/themes/base/widgets/_Tooltip.scss +14 -17
- package/assets/esri/themes/base/widgets/_UtilityNetworkAssociations.scss +2 -2
- package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +1 -1
- package/assets/esri/themes/base/widgets/_UtilityNetworkValidateTopology.scss +2 -2
- package/assets/esri/themes/base/widgets/_ValuePicker.scss +2 -2
- package/assets/esri/themes/base/widgets/_VideoPlayer.scss +5 -5
- package/assets/esri/themes/base/widgets/_Widget.scss +5 -1
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/AtmosphereCompositing.glsl.js +1 -1
- package/chunks/ChapmanAtmosphere.glsl.js +3 -3
- package/chunks/CloudsComposition.glsl.js +1 -1
- package/chunks/Component.glsl.js +41 -41
- package/chunks/DefaultMaterial.glsl.js +2 -2
- package/chunks/EdgeShader.glsl.js +9 -9
- package/chunks/Fog.glsl.js +5 -5
- package/chunks/GaussianSplat.glsl.js +2 -2
- package/chunks/GlobalIllumination.glsl.js +9 -9
- package/chunks/HUDMaterial.glsl.js +13 -13
- package/chunks/Haze.glsl.js +6 -6
- package/chunks/HazeCompositing.glsl.js +1 -1
- package/chunks/LaserlinePath.glsl.js +6 -6
- package/chunks/LineCallout.glsl.js +1 -1
- package/chunks/LineMarker.glsl.js +5 -5
- package/chunks/NavigationDepth.glsl.js +2 -2
- package/chunks/Path.glsl.js +1 -1
- package/chunks/Pattern.glsl.js +26 -26
- package/chunks/Precipitation.glsl.js +7 -7
- package/chunks/RealisticTree.glsl.js +2 -2
- package/chunks/RibbonLine.glsl.js +60 -60
- package/chunks/ShadowCastAccumulate.glsl.js +1 -1
- package/chunks/ShadowHighlight.glsl.js +5 -5
- package/chunks/ShadowHighlightBuffer.glsl.js +1 -1
- package/chunks/SimpleAtmosphere.glsl.js +4 -4
- package/chunks/Terrain.glsl.js +29 -32
- package/chunks/Viewshed.glsl.js +2 -2
- package/chunks/Water.glsl.js +2 -2
- package/config.js +1 -1
- package/core/Loadable.js +1 -1
- package/geometry/HeightModelInfo.js +1 -1
- package/geometry/support/meshUtils.d.ts +1 -1
- package/kernel.js +1 -1
- package/layers/BaseDynamicLayer.d.ts +1 -0
- package/layers/BaseElevationLayer.d.ts +2 -0
- package/layers/BaseTileLayer.d.ts +12 -9
- package/layers/CSVLayer.d.ts +0 -15
- package/layers/FeatureLayer.d.ts +2 -15
- package/layers/GeoJSONLayer.d.ts +0 -52
- package/layers/GeoRSSLayer.d.ts +0 -44
- package/layers/ParquetLayer.d.ts +92 -12
- package/layers/ParquetLayer.js +1 -1
- package/layers/SketchLayer.d.ts +0 -1
- package/layers/VectorTileLayer.d.ts +2 -12
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/mixins/PortalLayer.js +1 -1
- package/layers/mixins/RefreshableLayer.d.ts +1 -3
- package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
- package/layers/raster/datasets/TIFFRaster.js +1 -1
- package/layers/raster/formats/tiffParser.js +1 -1
- package/layers/support/ParquetPortalItemData.d.ts +2 -0
- package/layers/support/ParquetPortalItemData.js +1 -1
- package/layers/support/PortalItemData.d.ts +21 -0
- package/layers/support/PortalItemData.js +1 -1
- package/layers/support/layersLoader.js +1 -1
- package/layers/support/parquetUtils.d.ts +1 -1
- package/layers/support/types.d.ts +1 -1
- package/package.json +2 -2
- package/popup/FeaturesModel.d.ts +1 -1
- package/popup/FeaturesModel.js +1 -1
- package/portal/support/layersLoader.js +1 -1
- package/portal/support/portalLayers.js +1 -1
- package/rest/print.js +1 -1
- package/views/2d/layers/features/sources/FeatureSource.js +1 -1
- package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
- package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.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/Graphics3DBufferGraphicLayer.js +2 -0
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DDrapedBufferGraphicLayer.js +2 -0
- package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayerBase.js +2 -0
- package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DStageObjectGraphicLayer.js +2 -0
- package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
- package/views/3d/layers/graphics/LabelInfo.js +1 -1
- package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
- package/views/3d/layers/graphics/pointUtils.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +13 -13
- package/views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js +2 -0
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/lastFrameUniforms.js +2 -0
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +7 -7
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +29 -27
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +14 -14
- package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +8 -8
- package/views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js +2 -0
- package/views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js +3 -3
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/clouds/CloudsComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +5 -5
- package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserlinePath.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/BufferGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/BufferObject3D.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
- package/views/3d/webgl-engine/lib/affectsGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/bufferGeometryUtils.js +2 -0
- package/views/3d/webgl-engine/lib/edgeRendering/AdjustProjectedPosition.glsl.js +5 -5
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShader.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeUtil.glsl.js +11 -11
- package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/lineUniforms.js +2 -0
- package/views/DOMContainer.d.ts +27 -9
- package/views/DOMContainer.js +1 -1
- package/views/PopupView.d.ts +6 -0
- package/views/VideoView.d.ts +27 -9
- package/views/View.d.ts +16 -7
- package/views/View.js +1 -1
- package/views/View2D.d.ts +1 -1
- package/views/interactive/snapping/SnappingManagerPool.js +1 -1
- package/views/interactive/snapping/SnappingOptions.d.ts +1 -1
- package/views/interactive/tooltip/components/ElevationModeSelect.js +1 -1
- package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
- package/views/layers/FeatureLikeLayerView.d.ts +1 -2
- package/views/layers/ParquetLayerView.d.ts +15 -0
- package/views/layers/ParquetLayerView.js +1 -1
- package/webdoc/support/saveUtils.js +1 -1
- package/webdoc/support/unsupportedErrors.js +1 -1
- package/widgets/Legend.d.ts +1 -0
- package/widgets/support/SnappingControls.d.ts +1 -1
- package/assets/esri/core/workers/chunks/05963f57cbe5a5249496.js +0 -1
- package/assets/esri/core/workers/chunks/06ab24a083c3229228dd.js +0 -1
- package/assets/esri/core/workers/chunks/122111703528381539cc.js +0 -1
- package/assets/esri/core/workers/chunks/15cc2c295682f48030f9.js +0 -1
- package/assets/esri/core/workers/chunks/17b76e0d401c7e396d10.js +0 -1
- package/assets/esri/core/workers/chunks/2164fcaced72b0fda31f.js +0 -1
- package/assets/esri/core/workers/chunks/25b0885d3bc190b28c04.js +0 -1
- package/assets/esri/core/workers/chunks/27da9ece2afaeec39f59.js +0 -1
- package/assets/esri/core/workers/chunks/2b6c74646ff475a6e302.js +0 -1
- package/assets/esri/core/workers/chunks/340621182db9e8edbec2.js +0 -1
- package/assets/esri/core/workers/chunks/347bf269c2b1583d2dca.js +0 -1
- package/assets/esri/core/workers/chunks/384ae10053d35940de73.js +0 -1
- package/assets/esri/core/workers/chunks/451d7d456df0f4466563.js +0 -1
- package/assets/esri/core/workers/chunks/4cddd217383b9333f32e.js +0 -1
- package/assets/esri/core/workers/chunks/4fa59f8ed3b7b6239548.js +0 -1
- package/assets/esri/core/workers/chunks/5a5d80c2519aa3ea8878.js +0 -1
- package/assets/esri/core/workers/chunks/5b434e8c98e7119d4a3b.js +0 -1
- package/assets/esri/core/workers/chunks/5e4d6c283c2fa28db022.js +0 -1
- package/assets/esri/core/workers/chunks/5ea8809b6519c05ad9f6.js +0 -1
- package/assets/esri/core/workers/chunks/604344e45c0f27497188.js +0 -1
- package/assets/esri/core/workers/chunks/64770e2cf41211b63fd2.js +0 -1
- package/assets/esri/core/workers/chunks/658b2642ab6880770e4e.js +0 -1
- package/assets/esri/core/workers/chunks/6ef647b7769d27529f9c.js +0 -1
- package/assets/esri/core/workers/chunks/8313c626596a76c7449d.js +0 -1
- package/assets/esri/core/workers/chunks/841f67baf6a1634ada48.js +0 -1
- package/assets/esri/core/workers/chunks/84e9258a57d8c365f361.js +0 -1
- package/assets/esri/core/workers/chunks/8730e7e6e0296f43f10b.js +0 -1
- package/assets/esri/core/workers/chunks/87b4e916b2668203a6b0.js +0 -1
- package/assets/esri/core/workers/chunks/8fcfd515ee1b18c902e5.js +0 -1
- package/assets/esri/core/workers/chunks/9001e9a1e81bce175ddd.js +0 -1
- package/assets/esri/core/workers/chunks/966d0832a3c1f03668a0.js +0 -1
- package/assets/esri/core/workers/chunks/97dbbedea9fe03bd1306.js +0 -1
- package/assets/esri/core/workers/chunks/9a28a66807a1e3557018.js +0 -1
- package/assets/esri/core/workers/chunks/9bf48a907f91ea004648.js +0 -1
- package/assets/esri/core/workers/chunks/9c0fd8baa00ee9733ba4.js +0 -1
- package/assets/esri/core/workers/chunks/9c7fa9d324fa0bf64d9c.js +0 -1
- package/assets/esri/core/workers/chunks/a20526996d01386ec3b7.js +0 -1
- package/assets/esri/core/workers/chunks/a7edf7541569fef77cb3.js +0 -1
- package/assets/esri/core/workers/chunks/b1008bdfca995ebf98ed.js +0 -1
- package/assets/esri/core/workers/chunks/bfd85e8d54062a590f0e.js +0 -1
- package/assets/esri/core/workers/chunks/c8ba0673d1b87216e619.js +0 -1
- package/assets/esri/core/workers/chunks/d4926545193414cf2f16.js +0 -1
- package/assets/esri/core/workers/chunks/da18d96b35af20e73b3b.js +0 -1
- package/assets/esri/core/workers/chunks/df0481bcc1613ee4b7af.js +0 -1
- package/assets/esri/core/workers/chunks/e1af43e2a8f2ef1059e3.js +0 -1
- package/assets/esri/core/workers/chunks/eaf6d587477399a83088.js +0 -1
- package/assets/esri/core/workers/chunks/ec28e18275d36e71b438.js +0 -1
- package/assets/esri/core/workers/chunks/f05de08e194a3f9b96f2.js +0 -1
- package/assets/esri/core/workers/chunks/f31b424a3667686af10c.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{mainDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{ScreenSpacePass as t}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{glsl as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as i}from"../views/webgl/NoParameters.js";import{ShaderBuilder as a}from"../views/webgl/ShaderBuilder.js";class o extends i{}function s(){let i=new a;return i.include(t),i.fragment.uniforms.add(new r(`colorTexture`,e=>e.color),e).main.add(n`float depthSample = texture(mainDepth, uv).r;
|
|
3
3
|
if (depthSample != 1.0 ) {
|
|
4
4
|
fragColor = vec4(0);
|
|
5
5
|
return;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{mainDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{mainLightDirection as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{cameraPosition as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{BooleanPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js";import{Float2PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3PassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{glsl as u}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{getHeightParameters as d}from"../views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js";import{ChapmanRaymarching as f}from"../views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js";import{ScreenSpacePassAtmosphere as p}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as m}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as h}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";function _(){let _=new g;_.include(p);let{fragment:v}=_;return v.include(t),v.include(m),v.include(h),v.include(f,!1),v.uniforms.add(n,new i(`reduced`,({reduced:e})=>e),new l(`heightParameters`,5,(e,t)=>d(t,e)),new a(`radii`,e=>e.radii),r,new c(`innerFadeDistance`,e=>e.innerFadeDistance),new s(`undergroundColor`,e=>e.undergroundColor),new c(`altitudeFade`,e=>e.altitudeFade)).code.add(u`vec4 applyUndergroundAtmosphere(vec3 rayDir, vec3 lightDirection, vec4 fragColor) {
|
|
3
3
|
float rayPlanetDistance = heightParameters[3];
|
|
4
4
|
vec2 rayPlanetIntersect = sphereIntersect(cameraPosition, rayDir, rayPlanetDistance);
|
|
5
5
|
if (!((rayPlanetIntersect.x <= rayPlanetIntersect.y) && rayPlanetIntersect.y > 0.0)) {
|
|
@@ -24,8 +24,8 @@ vec3 sunTransmittance = exp(-(mix(betaCombined, betaRayleigh, 0.5)) * max(0.0, s
|
|
|
24
24
|
float mu = clamp(dot(rayDir, lightDir), 0.0, 1.0);
|
|
25
25
|
float sunDisc = 256.0 * smoothstep(0.0, 128.0, clamp(getGlow(1.0 - mu, 3e-5, 3.0), 0.0, 128.0));
|
|
26
26
|
return normalize(sunTransmittance) * sunDisc;
|
|
27
|
-
}`),v.uniforms.add(new
|
|
28
|
-
float depthSample = reduced ? 1.0 : texture(
|
|
27
|
+
}`),v.uniforms.add(new o(`backgroundColor`,e=>e.backgroundColor),e).main.add(u`vec3 rayDir = normalize(worldRay);
|
|
28
|
+
float depthSample = reduced ? 1.0 : texture(mainDepth, uv).r;
|
|
29
29
|
if (depthSample != 1.0) {
|
|
30
30
|
fragColor = vec4(0.0);
|
|
31
31
|
return;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{Gamma as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{PiUtils as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{
|
|
2
|
+
import{Gamma as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{PiUtils as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{cameraPosition as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{CloudsParallaxShading as r,cloudsOpacity as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js";import{ColorConversion as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as o}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{ScreenSpacePassAtmosphere as s}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";function l(l){let u=new c,{fragment:d}=u;return u.include(s,{needUVs:!1,needEyeDirection:!1}),d.include(a),d.include(t),d.include(e),u.include(r,l),d.uniforms.add(n,i).main.add(o`vec4 cloudsColor = renderClouds(normalize(worldRay), cameraPosition);
|
|
3
3
|
fragColor = vec4(cloudsOpacity * cloudsColor.rgb, cloudsColor.a);`),u}const u=Object.freeze(Object.defineProperty({__proto__:null,build:l},Symbol.toStringTag,{value:`Module`}));export{u as C,l as b};
|
package/chunks/Component.glsl.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{forwardLinearDepthToWriteShadow as ee}from"../views/3d/webgl-engine/core/shaderLibrary/forwardLinearDepthToWriteShadow.glsl.js";import{isColor as te,isShadow as
|
|
2
|
+
import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{waterNormals as t}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{forwardLinearDepthToWriteShadow as ee}from"../views/3d/webgl-engine/core/shaderLibrary/forwardLinearDepthToWriteShadow.glsl.js";import{isColor as te,isShadow as n}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{slicePass as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as o}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{DepthConversion as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/DepthConversion.glsl.js";import{outputDepth as l}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as u}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as ne}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{computeFragmentNormals as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as re}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as ie}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{lightingGlobalFactor as p,mainLightIntensity as m,mainLightDirection as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as ae}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{pbrGlobals as oe}from"../views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js";import{PhysicallyBasedRenderingParameters as se}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{readShadowPass as _}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{OverlayIM as ce}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{BooleanDrawUniform as y}from"../views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js";import{FloatDrawUniform as b}from"../views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js";import{If as x,glsl as S}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{SnowCover as le}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{alphaCutoff as C}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as ue}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getPlanetRadius as de,sphereDepthInterpolate as w}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as T}from"../views/webgl/ShaderBuilder.js";function E(E){let D=new T,{vertex:O,fragment:k}=D;D.include(s,E),D.include(o,E),D.include(a,E),D.include(i,E),D.include(e,E),D.include(v,E),k.include(r,E),D.include(g,E);let{output:A,pbrMode:j,hasNormalTexture:M,snowCover:N,receiveShadows:P,shadeNormals:F,spherical:I,sphericalSR:L,overlayEnabled:R,componentDataType:fe,vertexDiscardMode:z,renderOccluded:B,isGroundSlice:V,groundTransparencyMode:pe}=E,H=te(A),U=j===1||j===2,W=pe===2,G=W&&(A===3||A===4);U&&(D.include(se,E),M&&D.include(ie,E));let K=n(A),q=A===11,me=A===10,J=A===4,he=K&&fe===1,Y=de(E),X=(R||G)&&I,Z=L===1;(H||J)&&(D.include(re,E),k.include(C)),(R||G)&&(k.include(f,E),D.include(ce,E),X?(D.varyings.add(`vPositionForDraping`,`vec3`),k.uniforms.add(new y(`useENUForGlobalOverlayUV`,e=>e.useENUForGlobalOverlayUV),new b(`overlayMapScaleU`,e=>e.toMapSpace[2]),new b(`overlayReferenceU`,e=>e.toMapSpace[0])),k.constants.add(`overlayWorldWidth`,`float`,Z?2*Math.PI*Y:360),Z?(k.constants.add(`pRadius`,`float`,Y),k.constants.add(`halfSemiMajorAxis`,`float`,.5*Y)):k.constants.add(`rad2deg1`,`float`,180/Math.PI),k.constants.add(`invRadius`,`float`,1/Y).code.add(S`
|
|
3
3
|
vec2 projectOverlay(vec3 pos) { return pos.xy / (1.0 + invRadius * pos.z); }
|
|
4
4
|
|
|
5
5
|
vec2 selectOverlayUVNorm(vec2 normUV, float offsetUNorm) {
|
|
@@ -31,12 +31,12 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
31
31
|
float sinLat = wPos.z / oRadius;
|
|
32
32
|
vec2 posMap;
|
|
33
33
|
|
|
34
|
-
${
|
|
34
|
+
${x(Z,S`
|
|
35
35
|
posMap = vec2(
|
|
36
36
|
oLonRad * pRadius,
|
|
37
37
|
halfSemiMajorAxis * log((1.0 + sinLat) / (1.0 - sinLat))
|
|
38
38
|
);
|
|
39
|
-
`,
|
|
39
|
+
`,S`
|
|
40
40
|
float oLatRad = asin(clamp(sinLat,-1.0,1.0));
|
|
41
41
|
posMap = vec2(rad2deg1 * oLonRad, rad2deg1 * oLatRad);
|
|
42
42
|
`)}
|
|
@@ -49,14 +49,14 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
49
49
|
? selectLocalOverlayUVs(projectOverlay(vPositionForDraping))
|
|
50
50
|
: selectMapOverlayUVs(overlayMapUVFromWorldPosition());
|
|
51
51
|
}
|
|
52
|
-
`)):O.code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy; }`));let Q=R&&H&&j===4;Q&&(D.varyings.add(`tbnTangent`,`vec3`),D.varyings.add(`tbnBiTangent`,`vec3`),D.varyings.add(`upNormal`,`vec3`));let ge=z===0,_e=z===2;if(D.include(
|
|
52
|
+
`)):O.code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy; }`));let Q=R&&H&&j===4;Q&&(D.varyings.add(`tbnTangent`,`vec3`),D.varyings.add(`tbnBiTangent`,`vec3`),D.varyings.add(`upNormal`,`vec3`));let ge=z===0,_e=z===2;if(D.include(_,E),D.include(ee,E),O.include(C),O.main.add(S`
|
|
53
53
|
bool castShadows;
|
|
54
54
|
vec4 externalColor = forwardExternalColor(castShadows);
|
|
55
|
-
${
|
|
56
|
-
${
|
|
55
|
+
${x(he,`if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }`)}
|
|
56
|
+
${x(!ge,`if (externalColor.a ${_e?`>`:`<=`} opacityCutoff) {
|
|
57
57
|
gl_Position = vec4(vec3(1e38), 1.0); return;
|
|
58
58
|
}`)}
|
|
59
|
-
${
|
|
59
|
+
${x(q,`externalColor.a = 1.0;`)}
|
|
60
60
|
|
|
61
61
|
forwardPosition(readElevationOffset());
|
|
62
62
|
forwardNormal();
|
|
@@ -66,14 +66,14 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
66
66
|
forwardLinearDepthToWriteShadow();
|
|
67
67
|
forwardEmissiveStrength();
|
|
68
68
|
forwardObjectAndLayerIdColor();
|
|
69
|
-
${
|
|
69
|
+
${x(Q,I?S`
|
|
70
70
|
upNormal = normalize(positionWorld());
|
|
71
71
|
tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), upNormal));
|
|
72
|
-
tbnBiTangent = normalize(cross(upNormal, tbnTangent));`:
|
|
72
|
+
tbnBiTangent = normalize(cross(upNormal, tbnTangent));`:S`
|
|
73
73
|
upNormal = vec3(0.0, 0.0, 1.0);
|
|
74
74
|
tbnTangent = vec3(1.0, 0.0, 0.0);
|
|
75
75
|
tbnBiTangent = vec3(0.0, 1.0, 0.0);`)}
|
|
76
|
-
${
|
|
76
|
+
${x(R||G,x(I,`vPositionForDraping = positionForDraping();
|
|
77
77
|
vtcOverlay = vec4(0.0);`,`setOverlayVTC(projectOverlay(positionForDraping()));`))}
|
|
78
78
|
|
|
79
79
|
if (externalColor.a < alphaCutoff) {
|
|
@@ -81,12 +81,12 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
81
81
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
|
-
`),H)return D.include(
|
|
84
|
+
`),H)return D.include(d,E),D.include(ue,E),k.include(f,E),k.include(le,E),k.include(ae,E),k.code.add(S`
|
|
85
85
|
float evaluateShadow() {
|
|
86
86
|
return ${P?`readShadowMap(vPositionWorldCameraRelative)`:`0.0`};
|
|
87
87
|
}
|
|
88
|
-
`).main.add(
|
|
89
|
-
${
|
|
88
|
+
`).main.add(S`
|
|
89
|
+
${x(!V,`discardBySlice(vPositionWorldCameraRelative);`)}
|
|
90
90
|
|
|
91
91
|
vec4 textureColor = readBaseColorTexture();
|
|
92
92
|
discardOrAdjustAlpha(textureColor);
|
|
@@ -94,15 +94,15 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
94
94
|
// When rendering the occluded overlay, we still need to read the base color texture because we need to use the
|
|
95
95
|
// same discard logic. However after that to render only the draped overlay, we simply set the base texture color
|
|
96
96
|
// to zero.
|
|
97
|
-
${
|
|
97
|
+
${x(B,S`textureColor = vec4(0);`)}
|
|
98
98
|
|
|
99
|
-
${
|
|
99
|
+
${x(R,S`
|
|
100
100
|
vec4 overlayUVs = ${X?`componentOverlayUVs()`:`vtcOverlay`};
|
|
101
101
|
|
|
102
102
|
vec4 overlayColor = getCombinedOverlayColor(overlayUVs);
|
|
103
103
|
|
|
104
104
|
/* Early discard to only emit when we have overlay */
|
|
105
|
-
${
|
|
105
|
+
${x(B,S`if (overlayColor.a < alphaCutoff) { discard; }`)}
|
|
106
106
|
`)}
|
|
107
107
|
|
|
108
108
|
vec4 externalColor;
|
|
@@ -110,36 +110,36 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
110
110
|
readExternalColor(externalColor, externalColorMixMode);
|
|
111
111
|
|
|
112
112
|
vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
|
|
113
|
-
${
|
|
114
|
-
`),U?(I&&k.uniforms.add(p),k.include(
|
|
113
|
+
${x(W,`materialColor = vec4(0.0);`)}
|
|
114
|
+
`),U?(I&&k.uniforms.add(p),k.include(oe),k.uniforms.add(m).main.add(S`
|
|
115
115
|
applyPBRFactors();
|
|
116
|
-
${
|
|
117
|
-
${
|
|
116
|
+
${x(j===1,`if (externalColorMixMode == 3) mrr = vec3(0.0, 0.6, 0.2);`)}
|
|
117
|
+
${x(M,`mat3 tangentSpace = computeTangentSpace(fragmentFaceNormal, vPositionWorldCameraRelative, vuv0);`)}
|
|
118
118
|
|
|
119
119
|
vec3 viewDirection = normalize(vPositionWorldCameraRelative);
|
|
120
120
|
vec3 upNormal = getLocalUp(positionWorld());
|
|
121
121
|
vec3 shadingNormal = ${M?`computeTextureNormal(tangentSpace, vuv0)`:`fragmentShadingNormal`};
|
|
122
122
|
|
|
123
123
|
float ssao = 1.0 - occlusion * evaluateAmbientOcclusionInverse();
|
|
124
|
-
${
|
|
124
|
+
${x(N,S`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
|
|
125
125
|
materialColor.rgb = mix(materialColor.rgb, vec3(1.1), snow);
|
|
126
126
|
ssao = mix(ssao, 0.5 * ssao, snow);
|
|
127
127
|
shadingNormal = mix(shadingNormal, fragmentFaceNormal, snow);`)}
|
|
128
|
-
${
|
|
128
|
+
${x(R,`materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);`)}
|
|
129
129
|
|
|
130
130
|
vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
|
|
131
|
-
${
|
|
132
|
-
${
|
|
131
|
+
${x(I,`float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());`)}
|
|
132
|
+
${x(I,`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`,`float shadow = evaluateShadow();`)}
|
|
133
133
|
vec4 shadedColor = vec4(evaluateSceneLighting(shadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDirection, upNormal), materialColor.a);
|
|
134
|
-
`)):(I&&k.uniforms.add(p),Q&&k.uniforms.add(
|
|
135
|
-
${
|
|
134
|
+
`)):(I&&k.uniforms.add(p),Q&&k.uniforms.add(t),k.uniforms.add(h).main.add(S`
|
|
135
|
+
${x(I,`float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());`)}
|
|
136
136
|
float shadow = ${P?I?`max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())`:`evaluateShadow()`:I?`lightingGlobalFactor * (1.0 - additionalAmbientScale)`:`0.0`};
|
|
137
137
|
|
|
138
|
-
${
|
|
138
|
+
${x(P&&F!==1,S`
|
|
139
139
|
float dotFL = dot(fragmentFaceNormal, mainLightDirection);
|
|
140
140
|
if( dotFL <= 0.0) shadow = 1.0;
|
|
141
141
|
`)}
|
|
142
|
-
${
|
|
142
|
+
${x(N,S`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
|
|
143
143
|
materialColor.rgb = mix(materialColor.rgb, vec3(1), snow);`)}
|
|
144
144
|
|
|
145
145
|
vec3 viewDirection = normalize(vPositionWorldCameraRelative);
|
|
@@ -149,10 +149,10 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
149
149
|
float ssao = evaluateAmbientOcclusion();
|
|
150
150
|
vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
|
|
151
151
|
|
|
152
|
-
${
|
|
152
|
+
${x(R,`materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);`)}
|
|
153
153
|
|
|
154
154
|
vec4 shadedColor = vec4(evaluateSceneLighting(fragmentShadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDirection, upNormal), materialColor.a);
|
|
155
|
-
${
|
|
155
|
+
${x(Q,S`vec4 overlayWaterMask = getOverlayColor(waterNormals, overlayUVs);
|
|
156
156
|
float waterNormalLength = length(overlayWaterMask);
|
|
157
157
|
if (waterNormalLength > 0.95) {
|
|
158
158
|
mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, upNormal);
|
|
@@ -162,32 +162,32 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
162
162
|
shadedColor = mix(shadedColor, waterColorNonLinear, waterColorLinear.w);
|
|
163
163
|
}`)}
|
|
164
164
|
`)),k.main.add(`
|
|
165
|
-
${
|
|
165
|
+
${x(V,`if(rejectBySlice(vPositionWorldCameraRelative)) shadedColor.a *= groundSliceOpacity;`)}
|
|
166
166
|
|
|
167
|
-
outputColorHighlightOLID(applySlice(shadedColor, vPositionWorldCameraRelative), materialColor.rgb ${
|
|
168
|
-
`),E.sphereDepthInterpolate&&(D.include(w,E),D.fragment.include(
|
|
167
|
+
outputColorHighlightOLID(applySlice(shadedColor, vPositionWorldCameraRelative), materialColor.rgb ${x(N,`, snow`)});
|
|
168
|
+
`),E.sphereDepthInterpolate&&(D.include(w,E),D.fragment.include(c),k.main.add(S`vec3 worldRay = normalize(vPositionWorldCameraRelative);
|
|
169
169
|
vec3 viewRay = normalize(vPosition_view);
|
|
170
|
-
gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));`)),D;let $=K||A===8;return $&&D.include(
|
|
171
|
-
${
|
|
170
|
+
gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));`)),D;let $=K||A===8;return $&&D.include(l,E),J&&D.include(d,E),R&&D.include(ne,E),D.include(u,E),k.main.add(S`
|
|
171
|
+
${x(!V,`discardBySlice(vPositionWorldCameraRelative);`)}
|
|
172
172
|
|
|
173
173
|
vec4 textureColor = readBaseColorTexture();
|
|
174
174
|
discardOrAdjustAlpha(textureColor);
|
|
175
175
|
|
|
176
|
-
${
|
|
176
|
+
${x(G,S`
|
|
177
177
|
vec4 overlayUVs = ${X?`componentOverlayUVs()`:`vtcOverlay`};
|
|
178
178
|
if (getCombinedOverlayColor(overlayUVs).a < alphaCutoff) {
|
|
179
179
|
discard;
|
|
180
180
|
}
|
|
181
181
|
`)}
|
|
182
182
|
|
|
183
|
-
${
|
|
184
|
-
${
|
|
183
|
+
${x($,`outputDepth(linearDepth);`)}
|
|
184
|
+
${x(J,S`
|
|
185
185
|
vec4 externalColor;
|
|
186
186
|
int externalColorMixMode;
|
|
187
187
|
readExternalColor(externalColor, externalColorMixMode);
|
|
188
188
|
|
|
189
189
|
vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
|
|
190
|
-
${
|
|
190
|
+
${x(V,S`
|
|
191
191
|
if (rejectBySlice(vPositionWorldCameraRelative)) {
|
|
192
192
|
materialColor.a *= groundSliceOpacity;
|
|
193
193
|
}
|
|
@@ -195,5 +195,5 @@ gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linear
|
|
|
195
195
|
|
|
196
196
|
fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, materialColor.a);
|
|
197
197
|
`)}
|
|
198
|
-
${
|
|
199
|
-
${
|
|
198
|
+
${x(q,R?X?`fragColor = getOverlayColorTexel(componentOverlayUVs());`:`fragColor = getOverlayColorTexel();`:`outputObjectAndLayerIdColor();`)}
|
|
199
|
+
${x(me,x(R,X?S`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded(componentOverlayUVs()));`:S`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,S`calculateOcclusionAndOutputHighlight();`))}`),D}const D=Object.freeze(Object.defineProperty({__proto__:null,build:E},Symbol.toStringTag,{value:`Module`}));export{D as C,E as b};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{sliceDraw as n}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{InstancedDoublePrecision as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{TextureCoordinateAttribute as o}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexNormal as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as l}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{DefaultMaterialExternalColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js";import{ComputeNormalTexturePass as ee}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as f,addAmbientBoostFactor as p
|
|
2
|
+
import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{sliceDraw as n}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{InstancedDoublePrecision as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{TextureCoordinateAttribute as o}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexNormal as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as l}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{DefaultMaterialExternalColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js";import{ComputeNormalTexturePass as ee}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as f,addAmbientBoostFactor as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{lightingGlobalFactor as m,mainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{Normals as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as _}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRendering as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{readShadowPass as b,readShadowDraw as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{colorTextureUV as S,normalTextureUV as C,emissiveTextureUV as w,occlusionTextureUV as T,metallicRoughnessTextureUV as E}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as D}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{addProjViewLocalOrigin as k,addCameraPosition as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as j}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{If as M,glsl as N}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as P}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as F}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as I}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as te}from"../views/webgl/ShaderBuilder.js";function L(L){let R=new te,{attributes:z,vertex:B,fragment:V,varyings:H}=R,{output:U,normalType:W,offsetBackfaces:G,snowCover:K,pbrMode:q,textureAlphaPremultiplied:J,instancedDoublePrecision:Y,hasVertexColors:X,hasVertexTangents:Z,hasColorTexture:Q,hasNormalTexture:ne,hasNormalTextureTransform:re,hasColorTextureTransform:ie}=L;if(k(B,L),z.add(`position`,`vec3`),B.inputs.add(`position`,()=>`position`),H.add(`vpos`,`vec3`,{invariant:!0}),R.include(D,L),R.include(i,L),R.include(c,L),R.include(S,L),!t(U))return R.include(l,L),R;R.include(C,L),R.include(w,L),R.include(T,L),R.include(E,L),A(B,L),R.include(a,L),R.include(r);let $=W===0||W===1;return $&&G&&R.include(e),R.include(ee,L),R.include(s,L),H.add(`vPositionLocal`,`vec3`),R.include(o,L),R.include(u,L),R.include(Y?b:x,L),B.main.add(N`
|
|
3
3
|
forwardDefaultMaterialExternalColor();
|
|
4
4
|
|
|
5
5
|
vpos = getVertexInLocalOriginSpace();
|
|
@@ -22,7 +22,7 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
|
|
|
22
22
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
23
23
|
}
|
|
24
24
|
forwardLinearDepthToReadShadow();
|
|
25
|
-
`),V.include(f,L),V.include(d,L),R.include(O,L),V.include(n,L),R.include(I,L),A(V,L),V.uniforms.add(B.uniforms.get(`localOrigin`),new j(`ambient`,e=>e.ambient),new j(`diffuse`,e=>e.diffuse)),Q&&V.uniforms.add(new P(`tex`,e=>e.texture)),R.include(y,L),V.include(v,L),R.include(g,L),V.include(F,L),V.include(_,L),p(V),V.uniforms.add(m
|
|
25
|
+
`),V.include(f,L),V.include(d,L),R.include(O,L),V.include(n,L),R.include(I,L),A(V,L),V.uniforms.add(B.uniforms.get(`localOrigin`),new j(`ambient`,e=>e.ambient),new j(`diffuse`,e=>e.diffuse)),Q&&V.uniforms.add(new P(`tex`,e=>e.texture)),R.include(y,L),V.include(v,L),R.include(g,L),V.include(F,L),V.include(_,L),p(V),V.uniforms.add(m,h).main.add(N`
|
|
26
26
|
discardBySlice(vpos);
|
|
27
27
|
${Q?N`
|
|
28
28
|
vec4 texColor = texture(tex, ${ie?`colorUV`:`vuv0`});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{sliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{pixelToNDC as t,viewport as n,pixelRatio as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as a,If as o}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{AdjustProjectedPosition as s}from"../views/3d/webgl-engine/lib/edgeRendering/AdjustProjectedPosition.glsl.js";import{DiscardNonSilhouetteEdges as c}from"../views/3d/webgl-engine/lib/edgeRendering/DiscardNonSilhouetteEdges.glsl.js";import{EdgeUtil as l}from"../views/3d/webgl-engine/lib/edgeRendering/EdgeUtil.glsl.js";import{LineAmplitude as u}from"../views/3d/webgl-engine/lib/edgeRendering/LineAmplitude.glsl.js";import{LineOffset as d}from"../views/3d/webgl-engine/lib/edgeRendering/LineOffset.glsl.js";import{UnpackAttributes as f}from"../views/3d/webgl-engine/lib/edgeRendering/UnpackAttributes.glsl.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";import{Uniform as m}from"../views/webgl/Uniform.js";function h(m){let h=new p,{vertex:_,fragment:v,varyings:y,attributes:b}=h;m.legacy&&_.uniforms.add(new g(`model`),new g(`localView`)),h.include(s,m),h.include(l,m),h.include(u,m),h.include(f,m),h.include(d,m),v.include(e,m),h.include(c,m),y.add(`vColor`,`vec4`),y.add(`vRadius`,`float`),y.add(`vPosition`,`vec3`,{invariant:!0}),y.add(`vWorldPosition`,`vec3`,{invariant:!0}),y.add(`vLineLengthPixels`,`float`),y.add(`vSizeFalloffFactor`,`float`),_.uniforms.add(t,n,r),b.add(`position0`,`vec3`),b.add(`position1`,`vec3`),b.add(`variantOffset`,`float`),b.add(`variantStroke`,`float`),b.add(`variantExtension`,`float`);let x=m.type===1,S=m.type===2;return _.uniforms.add(new i(`distanceFalloffFactor`,e=>e.distanceFalloffFactor)).code.add(a`
|
|
3
3
|
float distanceBasedPerspectiveFactor(float distance) {
|
|
4
4
|
return clamp(sqrt(distanceFalloffFactor / distance), 0.0, 1.0);
|
|
5
5
|
}
|
|
@@ -37,8 +37,8 @@ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as t}f
|
|
|
37
37
|
float extendedLineLengthPixels = lineLengthPixels + extensionLengthPixels + extensionLengthPixels;
|
|
38
38
|
|
|
39
39
|
// Line size with padding
|
|
40
|
-
float halfAAPaddedLineWidthAndAmplitudePixels = lineWidthAndAmplitudePixels * 0.5 + ${
|
|
41
|
-
float aaPaddedRoundedCapSizePixels = lineWidthPixels * 0.5 + ${
|
|
40
|
+
float halfAAPaddedLineWidthAndAmplitudePixels = lineWidthAndAmplitudePixels * 0.5 + ${a.float(1)};
|
|
41
|
+
float aaPaddedRoundedCapSizePixels = lineWidthPixels * 0.5 + ${a.float(1)};
|
|
42
42
|
|
|
43
43
|
// Half line width in NDC including padding for anti aliasing
|
|
44
44
|
vec2 halfAAPaddedLineWidthAndAmplitudeNDC = halfAAPaddedLineWidthAndAmplitudePixels * pixelToNDC;
|
|
@@ -73,12 +73,12 @@ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as t}f
|
|
|
73
73
|
vLineLengthPixels = extendedLineLengthPixels;
|
|
74
74
|
|
|
75
75
|
// discard short edges below a certain length threshold
|
|
76
|
-
${
|
|
76
|
+
${o(x||S,a`if (lineLengthPixels <= 3.0 ${o(S,` && unpackedAttributes.type <= 0.0`)}) {
|
|
77
77
|
gl_Position = vec4(10.0, 10.0, 10.0, 1.0);
|
|
78
78
|
return;
|
|
79
79
|
}`)}
|
|
80
80
|
gl_Position = projPos;
|
|
81
|
-
}`),_.main.add(
|
|
81
|
+
}`),_.main.add(a`
|
|
82
82
|
ComponentData component = readComponentData();
|
|
83
83
|
UnpackedAttributes unpackedAttributes = unpackAttributes(component);
|
|
84
84
|
|
|
@@ -90,7 +90,7 @@ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as t}f
|
|
|
90
90
|
vColor = component.color;
|
|
91
91
|
|
|
92
92
|
// Discard fully transparent edges
|
|
93
|
-
if (vColor.a < ${
|
|
93
|
+
if (vColor.a < ${a.float(.00392156862745098)}) {
|
|
94
94
|
gl_Position = vec4(10.0, 10.0, 10.0, 1.0);
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
@@ -103,7 +103,7 @@ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as t}f
|
|
|
103
103
|
calculateGeometricOutputs(viewPosV0, viewPosV1, worldPosV0, worldPosV1, worldNormal(component), unpackedAttributes);
|
|
104
104
|
|
|
105
105
|
// Specific computation for different edge styles
|
|
106
|
-
calculateStyleOutputs(unpackedAttributes);`),
|
|
106
|
+
calculateStyleOutputs(unpackedAttributes);`),v.code.add(a`float lineWithCapsDistance(float radius, vec2 position, float lineLength) {
|
|
107
107
|
float positionX = position.x - calculateLineOffset();
|
|
108
108
|
if (radius < 1.0) {
|
|
109
109
|
float coverageX = clamp(min(radius, positionX + 0.5) - max(-radius, positionX - 0.5), 0.0, 1.0);
|
|
@@ -114,8 +114,8 @@ else {
|
|
|
114
114
|
float positionOnCap = position.y - clamp(position.y, 0.0, lineLength);
|
|
115
115
|
return length(vec2(positionX, positionOnCap)) - radius;
|
|
116
116
|
}
|
|
117
|
-
}`),
|
|
117
|
+
}`),v.main.add(a`float radius = vRadius * calculateLinePressure();
|
|
118
118
|
float distance = lineWithCapsDistance(radius, vPosition.xy, vLineLengthPixels);
|
|
119
119
|
float coverage = clamp(0.5 - distance, 0.0, 1.0);
|
|
120
120
|
discardBySlice(vWorldPosition);
|
|
121
|
-
fragColor = vec4(vColor.rgb, vColor.a * coverage);`),
|
|
121
|
+
fragColor = vec4(vColor.rgb, vColor.a * coverage);`),h}class g extends m{constructor(e){super(e,`mat4`)}}const _=Object.freeze(Object.defineProperty({__proto__:null,build:h},Symbol.toStringTag,{value:`Module`}));export{_ as E,h as b};
|
package/chunks/Fog.glsl.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{
|
|
3
|
-
float depthSample = depthFromTexture(
|
|
2
|
+
import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{mainDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{ReadDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{ColorConversion as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{Float3PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{BlurEmissionPassParameters as l,applyEmissiveGlow as u}from"../views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js";import{getDistanceFalloff as d}from"../views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js";import{ScreenSpacePassAtmosphere as f}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as p}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";class h extends l{constructor(){super(...arguments),this.fogColor=e(),this.strength=0,this.amount=0,this.fogColorDistanceWeight=.85,this.inputScale=1}}function g(e){let l=new m,{outputs:h,fragment:g}=l;h.add(`fragColor`,`vec4`,0),l.include(f,{needUVs:!0,needEyeDirection:!0}),g.uniforms.add(t,new o(`fogStrength`,e=>e.strength),new o(`fogAmount`,e=>e.amount),new a(`fogColor`,e=>e.fogColor),new o(`fogColorDistanceWeight`,e=>e.fogColorDistanceWeight)).constants.add(`f16Epsilon`,`float`,6103515625e-14),g.include(d),g.include(r),g.include(p),g.include(n),g.include(i),g.main.add(s`float depth = -1.0;
|
|
3
|
+
float depthSample = depthFromTexture(mainDepth, uv);
|
|
4
4
|
if(depthSample < 1.0 && depthSample > 0.0){
|
|
5
5
|
vec3 cameraSpaceRay = normalize(eyeDir);
|
|
6
6
|
cameraSpaceRay /= cameraSpaceRay.z;
|
|
7
7
|
cameraSpaceRay *= linearizeDepth(depthSample);
|
|
8
|
-
|
|
8
|
+
depth = max(0.0, length(cameraSpaceRay));
|
|
9
9
|
}
|
|
10
10
|
vec3 rayDir = normalize(worldRay);
|
|
11
|
-
float amount = fogAmount * getDistanceFalloff(
|
|
11
|
+
float amount = fogAmount * getDistanceFalloff(depth, rayDir, fogStrength);`);let{hasEmissive:_,useFloatBlend:v}=e;return _&&(h.add(`fragEmission`,`vec4`,1),g.include(u,e),g.uniforms.add(new o(`inputScale`,({inputScale:e})=>e)).main.add(s`vec3 emission = applyEmissiveGlow();
|
|
12
12
|
vec3 emissionHSV = rgb2hsv((emission));
|
|
13
13
|
vec3 fogHSV = rgb2hsv(fogColor);
|
|
14
14
|
float light = emissionHSV.b;
|
|
@@ -18,6 +18,6 @@ emissionHSV.g * saturation,
|
|
|
18
18
|
fogHSV.b + light);
|
|
19
19
|
fogColor = hsv2rgb(fogColor);
|
|
20
20
|
float damping = amount < 1.0 ? min(-log(1.0 - amount) * 0.1, 16.0) : 16.0;
|
|
21
|
-
fragEmission = vec4(max(emission - damping, 0.0) / inputScale, 1.0);`)),v||!_?g.main.add(`fragColor = delinearizeGamma(vec4(tonemapKhronosNeutral(fogColor * amount), amount));`):(g.uniforms.add(new c(`colorTexture`,({color:e})=>e?.attachment)),g.main.add(
|
|
21
|
+
fragEmission = vec4(max(emission - damping, 0.0) / inputScale, 1.0);`)),v||!_?g.main.add(`fragColor = delinearizeGamma(vec4(tonemapKhronosNeutral(fogColor * amount), amount));`):(g.uniforms.add(new c(`colorTexture`,({color:e})=>e?.attachment)),g.main.add(s`vec4 src = delinearizeGamma(vec4(tonemapKhronosNeutral(fogColor * amount), amount));
|
|
22
22
|
vec4 dst = texture(colorTexture, uv);
|
|
23
23
|
fragColor = vec4(vec3(src.rgb * src.a + dst.rgb * (1.0 - src.a)), dst.a);`)),l}const _=Object.freeze(Object.defineProperty({__proto__:null,FogPassParameters:h,build:g},Symbol.toStringTag,{value:`Module`}));export{h as F,_ as a,g as b};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{calculateUVZShadowPass as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n
|
|
2
|
+
import{calculateUVZShadowPass as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{lightingGlobalFactor as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{readShadowPass as a,readShadowMaps as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{cameraPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{RgbNormalizedDepthEncoding as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{glsl as l,If as u}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as d}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{GaussianSplatPerspectivePass as f,GaussianSplatFading as p,gaussianSplatPerspectiveVertex as m}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{getGaussianSplatAlphaCutoffValue as h}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";function _(_){let{receiveShadows:v,spherical:y}=_,b=v&&_.fragmentShading,x=b&&_.preciseDepth,S=new g,{varyings:C,vertex:w,fragment:T,outputs:E}=S;C.add(`vColor`,`vec4`),x&&C.add(`shadowReceiverRay`,`vec3`),S.include(f,_),_.fadingEnabled&&w.include(p),w.uniforms.add(s);let D=b?T:w;D.uniforms.add(s),D.include(t,_),D.include(i,_),n(D),D.uniforms.add(r),b?S.include(a,_):v&&(w.include(e),_.hasShadowHighlights&&w.code.add(l`ivec2 getShadowHighlightCoordinates() {
|
|
3
3
|
vec2 screenUV = gl_Position.xy / gl_Position.w * 0.5 + 0.5;
|
|
4
4
|
ivec2 screenPixel = ivec2(screenUV / inverseScreenSize);
|
|
5
5
|
return clamp(screenPixel, ivec2(0), textureSize(shadowHighlight, 0) - 1);
|
|
@@ -51,7 +51,7 @@ vColor.a = opacity;`)}
|
|
|
51
51
|
|
|
52
52
|
// Per-fragment lighting preserves crisp shadow borders; vertex lighting reduces overdraw cost.
|
|
53
53
|
${u(b,`forwardLinearDepth(-viewPos.z);`,A)}
|
|
54
|
-
`),T.include(
|
|
54
|
+
`),T.include(c),T.main.add(`
|
|
55
55
|
float gaussianFalloff = exp(gaussianExponent);
|
|
56
56
|
|
|
57
57
|
// Cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{lastFrameColorTexture as e}from"../views/3d/webgl-engine/core/shaderLibrary/lastFrameUniforms.js";import{ScreenSpacePass as t}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepthLastFrame as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepthLastFrame.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{mainLightDirection as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{ScreenSpaceRayMarching as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js";import{CameraSpace as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{viewMatrix as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{FloatBindUniform as c}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as u,If as d}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DBindUniform as p}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{GlobalIlluminationColorQuantization as h}from"../views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js";import{floatBlendReductionFactor as g}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ToneMapping as _}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ColorAttachment1 as v,SizedPixelFormat as y}from"../views/webgl/enums.js";import{NoParameters as b}from"../views/webgl/NoParameters.js";import{ShaderBuilder as x}from"../views/webgl/ShaderBuilder.js";const S=2.5,C=0,w=.8,T=25,E=.15,D=.5,O=1,k=1,A=16;class j extends b{constructor(){super(...arguments),this.projScale=1,this.resolutionScale=1,this.accumulatedFrames=0,this.temporalSampleFrame=0,this.glowBoost=0,this.rayMarchMinReach=E,this.rayMarchMaxReach=D,this.rayMarchWorldReach=25,this.rayMarchMinReachEmissionWeight=1,this.rayMarchMaxReachEmissionWeight=1,this.rayMarchMaxSteps=16,this.colorBleedWeight=0,this.highQualityIdleColorBlendStart=.3,this.emissionBoostFactor=S,this.factorDaylightDirectional=w}}function M(b){let S=new x,C=S.fragment;S.include(t),S.include(o),C.include(n),C.include(r),C.include(h),C.include(_),S.include(a,b),C.uniforms.add(i,s,new m(`normalMap`,e=>e.normalTexture),new m(`depthMap`,e=>e.depthTexture),new m(`lastFrameGlobalIlluminationTexture`,(e,t)=>e.globalIllumination??t.globalIllumination?.getTexture()),new m(`lastFrameGlobalIlluminationWeightTexture`,(e,t)=>e.globalIlluminationWeights??t.globalIllumination?.getTexture(v)),e,new p(`lastFrameDepthTexture`,e=>e.reprojection.lastFrameDepth?.attachment),new f(`reprojectionProjectionMatrix`,e=>e.reprojection.lastFrameCamera.projectionMatrix),new f(`reprojectionViewMatrix`,e=>e.reprojection.viewMatrix),new l(`accumulatedFrames`,e=>e.accumulatedFrames),new l(`temporalSampleFrame`,e=>e.temporalSampleFrame),new l(`resolutionScale`,e=>e.resolutionScale)),C.uniforms.add(new l(`rayMarchMinReach`,e=>e.rayMarchMinReach),new l(`rayMarchMaxReach`,e=>e.rayMarchMaxReach),new l(`rayMarchWorldReach`,e=>e.rayMarchWorldReach),new l(`rayMarchMinReachEmissionWeight`,e=>e.rayMarchMinReachEmissionWeight),new l(`rayMarchMaxReachEmissionWeight`,e=>e.rayMarchMaxReachEmissionWeight),new l(`rayMarchMaxSteps`,e=>e.rayMarchMaxSteps),new l(`colorBleedWeight`,e=>e.colorBleedWeight),new l(`highQualityIdleColorBlendStart`,e=>e.highQualityIdleColorBlendStart),new l(`emissionBoostFactor`,e=>e.emissionBoostFactor+e.glowBoost),new l(`factorDaylightDirectional`,e=>e.factorDaylightDirectional));let{hasEmission:w,hasColor:T}=b;return w&&(C.uniforms.add(new c(`inputScale`,e=>e.reprojection.lastFrameEmission?.getTexture()?.descriptor.internalFormat===y.RGBA8?g:1),new p(`lastFrameEmissionTexture`,e=>e.reprojection.lastFrameEmission?.getTexture())),C.code.add(u`bool hasHitReprojectionMismatch(vec3 hit, vec2 hitReprojectedCoordinate, float colorBlendWeight) {
|
|
3
3
|
if (colorBlendWeight != 1.0) {
|
|
4
4
|
return false;
|
|
5
5
|
}
|
|
@@ -19,7 +19,7 @@ hitReprojectedCoordinate
|
|
|
19
19
|
float relativeDepthMismatch = abs(storedLastFrameDepth - expectedLastFrameDepth) /
|
|
20
20
|
max(max(storedLastFrameDepth, expectedLastFrameDepth), 0.00001);
|
|
21
21
|
return relativeDepthMismatch > reprojectionMismatchThreshold;
|
|
22
|
-
}`)),
|
|
22
|
+
}`)),C.constants.add(`highQualityIdleColorBlendEnd`,`float`,.008),C.constants.add(`highQualityIdleColorBlendFrames`,`float`,150),C.constants.add(`highQualityIdleOcclusionBlendEnd`,`float`,.008),C.constants.add(`highQualityIdleOcclusionBlendExponent`,`float`,2),C.constants.add(`highQualityIdleOcclusionBlendFrames`,`float`,60),C.constants.add(`highQualityIdleOcclusionBlendStart`,`float`,.095),C.constants.add(`fullColorBleedBlendWeight`,`float`,.012),C.constants.add(`accumulationDitherScale`,`float`,.0039),C.constants.add(`lowQualityColorBlendWeight`,`float`,.0028),C.constants.add(`lowQualityColorDitherScale`,`float`,.25),C.constants.add(`lowQualityOcclusionBlendWeight`,`float`,.008),C.constants.add(`reprojectionMismatchThreshold`,`float`,.01),C.constants.add(`reprojectionMismatchColorScale`,`float`,.45),C.constants.add(`stableHistoryColorBlendWeight`,`float`,.008),C.constants.add(`strongHistoryOcclusionThreshold`,`float`,.02),C.constants.add(`weakHistoryOcclusionBlendWeight`,`float`,.1),C.constants.add(`weakHistoryOcclusionThreshold`,`float`,.5),C.constants.add(`storedColorBlendWeightScale`,`float`,6),C.code.add(u`float computeIdleColorBlendWeight(float accumulatedFrames) {
|
|
23
23
|
float idleColorBlendProgress = clamp(accumulatedFrames / highQualityIdleColorBlendFrames, 0.0, 1.0);
|
|
24
24
|
return mix(highQualityIdleColorBlendStart, highQualityIdleColorBlendEnd, pow(idleColorBlendProgress, 1./5.)
|
|
25
25
|
);
|
|
@@ -69,7 +69,7 @@ blueNoiseDitherValue(pixel, frame, vec2(0.25881904, 0.9659258), 0.37),
|
|
|
69
69
|
blueNoiseDitherValue(pixel, frame, vec2(1.0, 0.0), 0.61)
|
|
70
70
|
);
|
|
71
71
|
return value * 2.0 - 1.0;
|
|
72
|
-
}`),
|
|
72
|
+
}`),S.outputs.add(`fragGlobalIllumination`,`vec4`,0),S.outputs.add(`fragWeight`,`vec2`,1),C.main.add(u`
|
|
73
73
|
float depth = depthFromTexture(depthMap, uv);
|
|
74
74
|
|
|
75
75
|
// Early out if depth is out of range, such as in the sky
|
|
@@ -177,17 +177,17 @@ return value * 2.0 - 1.0;
|
|
|
177
177
|
// 0.0 alpha excludes the surface as a receiver (e.g. water), but a valid ray hit still occludes as opaque
|
|
178
178
|
hitOpacity = storedHitOpacity == 0.0 ? 1.0 : storedHitOpacity;
|
|
179
179
|
|
|
180
|
-
${
|
|
180
|
+
${d(T,u`
|
|
181
181
|
// Emission and color bleed - Reproject the current receiver and sampled hit to estimate bounced color
|
|
182
182
|
vec3 receiverColor = texture(lastFrameColorTexture, reprojectedCoordinate.xy).rgb;
|
|
183
183
|
|
|
184
184
|
vec2 hitReprojectedCoordinate = reprojectionCoordinate(hit);
|
|
185
185
|
vec3 sourceColor = texture(lastFrameColorTexture, hitReprojectedCoordinate).rgb;
|
|
186
186
|
vec3 sourceColorLinear = linearizeGamma(sourceColor);
|
|
187
|
-
${
|
|
187
|
+
${d(w,u`
|
|
188
188
|
bool rejectReprojectedHitEmission = hasHitReprojectionMismatch(hit, hitReprojectedCoordinate, colorBlendWeight);
|
|
189
189
|
`)}
|
|
190
|
-
vec3 sourceEmission = ${
|
|
190
|
+
vec3 sourceEmission = ${d(w,`rejectReprojectedHitEmission
|
|
191
191
|
? vec3(0.0)
|
|
192
192
|
: texture(lastFrameEmissionTexture, hitReprojectedCoordinate).xyz * inputScale`,`vec3(0.0)`)};
|
|
193
193
|
|
|
@@ -220,7 +220,7 @@ return value * 2.0 - 1.0;
|
|
|
220
220
|
? receiverOpacity * randomDirectionSample.b * accumulationDitherScale
|
|
221
221
|
: 0.0;
|
|
222
222
|
|
|
223
|
-
${
|
|
223
|
+
${d(T,u`
|
|
224
224
|
// Accumulate color
|
|
225
225
|
vec3 lastFrameColor = lastFrameGlobalIllumination.rgb;
|
|
226
226
|
float colorDitherScale = isScaledGlobalIllumination ? lowQualityColorDitherScale : 1.0;
|
|
@@ -233,7 +233,7 @@ return value * 2.0 - 1.0;
|
|
|
233
233
|
if (hasReprojectionMismatch) {
|
|
234
234
|
fragGlobalIllumination.rgb *= reprojectionMismatchColorScale;
|
|
235
235
|
}
|
|
236
|
-
`,
|
|
236
|
+
`,u`
|
|
237
237
|
fragGlobalIllumination.rgb = vec3(0.0);
|
|
238
238
|
`)}
|
|
239
239
|
|
|
@@ -247,4 +247,4 @@ return value * 2.0 - 1.0;
|
|
|
247
247
|
fragGlobalIllumination = quantizeGlobalIlluminationColor(fragGlobalIllumination);
|
|
248
248
|
|
|
249
249
|
fragWeight = vec2(occlusionBlendWeight, colorBlendWeight * storedColorBlendWeightScale);
|
|
250
|
-
`),
|
|
250
|
+
`),S}const N=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationPassParameters:j,build:M,defaultColorBleedWeight:0,defaultEmissionBoostFactor:S,defaultFactorDaylightDirectional:w,defaultRayMarchMaxReach:D,defaultRayMarchMaxReachEmissionWeight:1,defaultRayMarchMaxSteps:16,defaultRayMarchMinReach:E,defaultRayMarchMinReachEmissionWeight:1,defaultRayMarchWorldReach:25},Symbol.toStringTag,{value:`Module`}));export{j as G,N as a,A as b,M as c,D as d,C as e,S as f,w as g,k as h,E as i,O as j,T as k};
|