@arcgis/core 6.0.0-next.7 → 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/1c0c5cb13c2590aae906.js +1 -0
- package/assets/esri/core/workers/chunks/1e0d2715d603f48a7e0b.js +1 -0
- package/assets/esri/core/workers/chunks/2686fe5b62dd0be699c0.js +1 -0
- package/assets/esri/core/workers/chunks/2a97268000c6d03ef720.js +1 -0
- package/assets/esri/core/workers/chunks/2d9a1f23ec6ce90723ac.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/3b3e519f15ed52c83f0c.js +1 -0
- package/assets/esri/core/workers/chunks/3c0ed15b544df6fb0903.js +1 -0
- package/assets/esri/core/workers/chunks/3df5500a85345577480a.js +1 -0
- package/assets/esri/core/workers/chunks/{801e9e66edb4961461eb.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/4503b20ca6a80fb63d72.js +1 -0
- 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/4a6b92ecbb1f1c55cc43.js +1 -0
- package/assets/esri/core/workers/chunks/4debf2d9c3465250ef7a.js +1 -0
- package/assets/esri/core/workers/chunks/4e544de61f07ca660236.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/606ea251075fe81a1206.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/68be3fb88ca61f82fb90.js +1 -0
- package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +1 -0
- package/assets/esri/core/workers/chunks/6c9acd9e4e201dc380e9.js +1 -0
- package/assets/esri/core/workers/chunks/709e019885822b1f6f3e.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/{4d3f97a48046021713a6.js → 88e54449261ef94e390d.js} +1 -1
- package/assets/esri/core/workers/chunks/8b0d5551978ab0aac0d1.js +1 -0
- package/assets/esri/core/workers/chunks/8bea0d706ede6f84f8aa.js +1 -0
- package/assets/esri/core/workers/chunks/8d0c2de92770a1567536.js +1 -0
- package/assets/esri/core/workers/chunks/900181f68449d8f82eeb.js +1 -0
- package/assets/esri/core/workers/chunks/939942b00ba380e2957e.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/{1ba1f705b6ce5c8ea702.js → a655ebdb4bf0660615a2.js} +1 -1
- 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/af349c7bc8ef41a0e1bd.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/d6ad4390df576198e45b.js +1 -0
- package/assets/esri/core/workers/chunks/dba280c370df13196711.js +1 -0
- package/assets/esri/core/workers/chunks/{c18189710d6198516175.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/f122c18af10e56f9ec2b.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/{711cfb84659cb4437679.js → f528ac5c648ca6a98582.js} +1 -1
- package/assets/esri/core/workers/chunks/f92364afaefbac7e8f77.js +1 -0
- package/assets/esri/core/workers/chunks/fc44227c1756f65b95df.js +1 -0
- package/assets/esri/core/workers/chunks/{72019baeba520edb6bb0.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/form/elements/inputs/DynamicChoiceInput.d.ts +35 -5
- package/geometry/HeightModelInfo.js +1 -1
- package/geometry/support/meshUtils.d.ts +1 -1
- package/geometry/support/scaleUtils.js +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 +93 -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/mixins/ScaleRangeLayer.js +1 -1
- package/layers/mixins/SublayersOwner.js +1 -1
- 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/Sublayer.js +1 -1
- package/layers/support/SubtypeSublayer.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 +27 -6
- 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/rest/support/printTaskUtils.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
- package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
- package/views/2d/layers/features/sources/FeatureSource.js +1 -1
- package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
- package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
- package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
- package/views/3d/analysis/Viewshed/types.d.ts +3 -1
- package/views/3d/environment/Environment.d.ts +2 -2
- package/views/3d/environment/Environment.js +1 -1
- package/views/3d/environment/EnvironmentView.js +2 -0
- package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
- package/views/3d/layers/DynamicLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerViewBase3D.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/MediaLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/RouteLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/TiledLayerView3D.js +1 -1
- package/views/3d/layers/VoxelLayerView3D.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/Graphics3DScaleVisibility.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/Labeler.js +1 -1
- package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
- package/views/3d/layers/graphics/pointUtils.js +1 -1
- package/views/3d/layers/support/FeatureTile.js +1 -1
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
- package/views/3d/layers/support/SampledGeometryMaxDistanceRatio.js +1 -1
- package/views/3d/support/popupHitTest.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/WeatherFader.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/clouds/CloudsComposition.js +1 -1
- package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/fog/Fog.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/EmissionComposite.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.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/SceneView.js +1 -1
- 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/FeatureSnappingSourceInfo.js +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/LayerView.js +1 -1
- package/views/layers/LineOfSightLayerView.d.ts +3 -4
- package/views/layers/ParquetLayerView.d.ts +15 -0
- package/views/layers/ParquetLayerView.js +1 -1
- package/views/layers/ViewshedLayerView.d.ts +5 -6
- package/views/support/layerViewUtils.js +1 -1
- package/webdoc/support/saveUtils.js +1 -1
- package/webdoc/support/unsupportedErrors.js +1 -1
- package/widgets/Editor.d.ts +10 -0
- package/widgets/FeatureForm.d.ts +2 -2
- package/widgets/Legend.d.ts +1 -0
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/widgets/support/SnappingControls.d.ts +1 -1
- package/assets/esri/core/workers/chunks/00a600c71ceebe7bfeee.js +0 -1
- package/assets/esri/core/workers/chunks/00d24415bdeb0adae3df.js +0 -1
- package/assets/esri/core/workers/chunks/0193df3f9fb23633da87.js +0 -1
- package/assets/esri/core/workers/chunks/05963f57cbe5a5249496.js +0 -1
- package/assets/esri/core/workers/chunks/06e7400f5ebe0719b81c.js +0 -1
- package/assets/esri/core/workers/chunks/07aa6d36f1006b6ab7ff.js +0 -1
- package/assets/esri/core/workers/chunks/0b36abcbf03037b4073d.js +0 -1
- package/assets/esri/core/workers/chunks/122111703528381539cc.js +0 -1
- package/assets/esri/core/workers/chunks/1ef39aef6b33c530cbe4.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/25d6c674b1c4829f040f.js +0 -1
- package/assets/esri/core/workers/chunks/25e6013e2c095629b236.js +0 -1
- package/assets/esri/core/workers/chunks/27da9ece2afaeec39f59.js +0 -1
- package/assets/esri/core/workers/chunks/2c90f7a6432cd716db8b.js +0 -1
- package/assets/esri/core/workers/chunks/2e6a2f4d686b71249c0e.js +0 -1
- package/assets/esri/core/workers/chunks/2f9033890c465acff698.js +0 -1
- package/assets/esri/core/workers/chunks/303fde8f3459dde16555.js +0 -1
- package/assets/esri/core/workers/chunks/347bf269c2b1583d2dca.js +0 -1
- package/assets/esri/core/workers/chunks/350540770781b281c39a.js +0 -1
- package/assets/esri/core/workers/chunks/3b017b718ea2d4ed498f.js +0 -1
- package/assets/esri/core/workers/chunks/43fc42405167a5537039.js +0 -1
- package/assets/esri/core/workers/chunks/4cddd217383b9333f32e.js +0 -1
- package/assets/esri/core/workers/chunks/4d82db661365daa513a6.js +0 -1
- package/assets/esri/core/workers/chunks/4fa59f8ed3b7b6239548.js +0 -1
- package/assets/esri/core/workers/chunks/518e8883b6ed613bf451.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/633a9051580c5302d2f7.js +0 -1
- package/assets/esri/core/workers/chunks/6469c0d18d3663e7da4b.js +0 -1
- package/assets/esri/core/workers/chunks/64770e2cf41211b63fd2.js +0 -1
- package/assets/esri/core/workers/chunks/669e39c3437d7273f0c7.js +0 -1
- package/assets/esri/core/workers/chunks/7038ead1fa1674416ab3.js +0 -1
- package/assets/esri/core/workers/chunks/7165d6f6a5078768bebb.js +0 -1
- package/assets/esri/core/workers/chunks/71f739bb3f7350704af6.js +0 -1
- package/assets/esri/core/workers/chunks/798a63653f82c0e842c5.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/84fcbf7a1d04f01685d1.js +0 -1
- package/assets/esri/core/workers/chunks/87b4e916b2668203a6b0.js +0 -1
- package/assets/esri/core/workers/chunks/8e511079918e2fd9261f.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/95b82cbbe355266c65d7.js +0 -1
- package/assets/esri/core/workers/chunks/9673a9efec86040b8c13.js +0 -1
- package/assets/esri/core/workers/chunks/97dbbedea9fe03bd1306.js +0 -1
- package/assets/esri/core/workers/chunks/9a7fc93cc693fd12b5d8.js +0 -1
- package/assets/esri/core/workers/chunks/9c0fd8baa00ee9733ba4.js +0 -1
- package/assets/esri/core/workers/chunks/a010d2e4e34eb7bc1fec.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/ac4cc49104d26c384e98.js +0 -1
- package/assets/esri/core/workers/chunks/b05a41a60e30935644be.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/d21257d2e2a37266c0f7.js +0 -1
- package/assets/esri/core/workers/chunks/d270cc9807161033686e.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/ec28e18275d36e71b438.js +0 -1
- package/assets/esri/core/workers/chunks/ec9a2425b4a498054a19.js +0 -1
- package/assets/esri/core/workers/chunks/f05de08e194a3f9b96f2.js +0 -1
- package/assets/esri/core/workers/chunks/f0a68d2900d24f56afa0.js +0 -1
- package/assets/esri/core/workers/chunks/f762f70e7d39634ce797.js +0 -1
- package/assets/esri/core/workers/chunks/fb4ff0ac2bc445fec413.js +0 -1
- package/assets/esri/core/workers/chunks/fd0254c6fc6c03ec11ba.js +0 -1
- package/assets/esri/core/workers/chunks/fd0a5c243f3426f2a0b5.js +0 -1
- package/views/3d/environment/EnvironmentManager.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{copy as e,set as t}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as r}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{
|
|
2
|
+
import{copy as e,set as t}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as r}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{mainDepth as i}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{isColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{rejectBySliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{AlignPixel as c}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as l}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{DepthConversion as u}from"../views/3d/webgl-engine/core/shaderLibrary/output/DepthConversion.glsl.js";import{OutputHighlight as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{positionOutsideClipSpace as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{VisualVariables as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{viewport as m,pixelRatio as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{ScreenSizePerspective as _,addScreenSizePerspective as v,addScreenSizePerspectiveAlignment as ee}from"../views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import{Float2PassUniform as y}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4PassUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as x}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S,If as C}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as w}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DBindUniform as T}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{styleToEffect as D}from"../views/3d/webgl-engine/effects/focusArea/FocusArea.js";import{alphaCutoff as O}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as k}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as te}from"../views/webgl/ShaderBuilder.js";const A=e=>e?D[e]:0;function j(e){let n=new te;n.include(l,e),n.vertex.include(o,e);let{output:D,hasOcclusionTexture:j,signedDistanceFieldEnabled:F,pixelSnappingEnabled:L,hasEmission:R,hasScreenSizePerspective:z,debugDrawLabelBorder:B,hasVVSize:V,hasVVColor:H,hasRotation:U,occludedFragmentFade:W,sampleSignedDistanceFieldTexelCenter:G,hasVertexColor:K,hasVertexSize:q,hasVertexRotation:J,hasVertexUVi:Y}=e;n.include(_),n.include(p,e),n.include(s,e),n.include(k,e);let{vertex:X,fragment:Z}=n;Z.include(g),Z.code.add(S`
|
|
3
3
|
vec4 applyFocusAreaStyle(vec4 color, int style) {
|
|
4
4
|
const float factor = 0.46;
|
|
5
5
|
const float factorBright = 0.32;
|
|
@@ -14,13 +14,13 @@ import{copy as e,set as t}from"../core/libs/gl-matrix-2/math/vec2.js";import{cre
|
|
|
14
14
|
float darkScaled = factor * factor;
|
|
15
15
|
return vec4(color.rgb * darkScaled, color.a * factor);
|
|
16
16
|
}
|
|
17
|
-
`),n.varyings.add(`vcolor`,`vec4`),n.varyings.add(`vtc`,`vec2`),n.varyings.add(`vsize`,`vec2`);let Q=D===10;X.uniforms.add(
|
|
17
|
+
`),n.varyings.add(`vcolor`,`vec4`),n.varyings.add(`vtc`,`vec2`),n.varyings.add(`vsize`,`vec2`);let Q=D===10;X.uniforms.add(m,h,new y(`screenOffset`,(e,n)=>t(P,e.screenOffset[0]*2*n.camera.pixelRatio,e.screenOffset[1]*2*n.camera.pixelRatio)),new y(`anchorPosition`,e=>N(e)),new b(`materialColor`,({color:e})=>e),new x(`materialRotation`,e=>e.rotation),new y(`materialSize`,e=>e.size),new E(`tex`,e=>e.texture)),F&&(X.uniforms.add(new b(`outlineColor`,e=>e.outlineColor)),Z.uniforms.add(new b(`outlineColor`,e=>M(e)?e.outlineColor:r),new x(`outlineSize`,e=>M(e)?e.outlineSize:0))),L&&X.include(c),z&&(v(X),ee(X)),B&&n.varyings.add(`debugBorderCoords`,`vec4`),n.attributes.add(`uv0`,`vec2`),Y&&n.attributes.add(`uvi`,`vec4`),K&&n.attributes.add(`color`,`vec4`),q&&n.attributes.add(`size`,`vec2`),J&&n.attributes.add(`rotation`,`float`),(V||H)&&n.attributes.add(`featureAttribute`,`vec4`),X.main.add(S`
|
|
18
18
|
ProjectHUDAux projectAux;
|
|
19
19
|
vec4 posProj = projectPositionHUD(projectAux);
|
|
20
20
|
forwardObjectAndLayerIdColor();
|
|
21
21
|
|
|
22
22
|
if (rejectBySlice(projectAux.posModel)) {
|
|
23
|
-
gl_Position = ${
|
|
23
|
+
gl_Position = ${f};
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -35,7 +35,7 @@ import{copy as e,set as t}from"../core/libs/gl-matrix-2/math/vec2.js";import{cre
|
|
|
35
35
|
|
|
36
36
|
vec2 combinedSize = inputSize * pixelRatio;
|
|
37
37
|
vec4 quadOffset = vec4(0.0);
|
|
38
|
-
`);let
|
|
38
|
+
`);let ne=S`
|
|
39
39
|
${C(Y,S`
|
|
40
40
|
vec2 texSize = vec2(textureSize(tex, 0));
|
|
41
41
|
vec2 uv = mix(uvi.xy, uvi.zw, bvec2(uv0)) / texSize;
|
|
@@ -55,11 +55,11 @@ import{copy as e,set as t}from"../core/libs/gl-matrix-2/math/vec2.js";import{cre
|
|
|
55
55
|
`)}
|
|
56
56
|
|
|
57
57
|
quadOffset.xy = (quadOffset.xy + screenOffsetScaled) / viewport.zw * posProj.w;
|
|
58
|
-
`,
|
|
58
|
+
`,re=L?F?S`posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;`:S`posProj += quadOffset;
|
|
59
59
|
if (inputSize.x == vertexSize.x) {
|
|
60
60
|
posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
61
61
|
}`:S`posProj += quadOffset;`;X.include(O),X.main.add(S`
|
|
62
|
-
${
|
|
62
|
+
${ne}
|
|
63
63
|
${H?`vcolor = interpolateVVColor(featureAttribute.y) * materialColor;`:K?`vcolor = color * materialColor;`:`vcolor = materialColor;`}
|
|
64
64
|
|
|
65
65
|
${C(D===11,S`vcolor.a = 1.0;`)}
|
|
@@ -71,7 +71,7 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
|
71
71
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
72
72
|
return;
|
|
73
73
|
} else {
|
|
74
|
-
${
|
|
74
|
+
${re}
|
|
75
75
|
gl_Position = posProj;
|
|
76
76
|
}
|
|
77
77
|
|
|
@@ -79,7 +79,7 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
|
79
79
|
|
|
80
80
|
${C(B,S`debugBorderCoords = vec4(uv0, 1.5 / combinedSize);`)}
|
|
81
81
|
vsize = inputSize;
|
|
82
|
-
`);let $=
|
|
82
|
+
`);let $=a(D)&&e.hasFocusAreaStyle&&!e.draped;switch(Z.uniforms.add(new E(`tex`,e=>e.texture)),$&&Z.uniforms.add(new w(`focusAreaStyle`,e=>A(e.focusAreaStyle))),j&&Z.uniforms.add(new T(`texOcclusion`,e=>e.hudOcclusion?.attachment)),B?Z.main.add(`
|
|
83
83
|
float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));
|
|
84
84
|
// don't discard fragments on debug border
|
|
85
85
|
float textureAlphaCutoff = isBorder > 0.0 ? 0.0 : alphaCutoff;
|
|
@@ -135,15 +135,15 @@ samplePos += (vec2(1.0, -1.0) * texelSize) * scaleFactor;`),F?Z.main.add(S`
|
|
|
135
135
|
discard;
|
|
136
136
|
}
|
|
137
137
|
${C(!Q,S`fragColor = texColor * premultiplyAlpha(vcolor);`)}
|
|
138
|
-
`),W&&!Q&&Z.main.add(S`
|
|
139
|
-
float zSample = -linearizeDepth(texelFetch(
|
|
138
|
+
`),W&&!Q&&(Z.include(u),Z.uniforms.add(i,new x(`occludedOpacity`,e=>e.occludedFragmentOpacity?.value??1)).main.add(S`
|
|
139
|
+
float zSample = -linearizeDepth(texelFetch(mainDepth, ivec2(gl_FragCoord.xy), 0).x);
|
|
140
140
|
float zFragment = -linearizeDepth(gl_FragCoord.z);
|
|
141
141
|
if (zSample < ${S.float(1-I)} * zFragment) {
|
|
142
142
|
fragColor *= occludedOpacity;
|
|
143
143
|
}
|
|
144
|
-
`),j&&Z.main.add(`fragColor *= texelFetch(texOcclusion, ivec2(gl_FragCoord.xy), 0).r;`),!Q&&B&&Z.main.add(`fragColor = mix(fragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder * 0.5);`),D===2&&Z.main.add(S`if (fragColor.a < alphaCutoff) {
|
|
144
|
+
`)),j&&Z.main.add(`fragColor *= texelFetch(texOcclusion, ivec2(gl_FragCoord.xy), 0).r;`),!Q&&B&&Z.main.add(`fragColor = mix(fragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder * 0.5);`),D===2&&Z.main.add(S`if (fragColor.a < alphaCutoff) {
|
|
145
145
|
discard;
|
|
146
|
-
}`),$&&Z.main.add(S`fragColor = applyFocusAreaStyle(fragColor, focusAreaStyle);`),
|
|
146
|
+
}`),$&&Z.main.add(S`fragColor = applyFocusAreaStyle(fragColor, focusAreaStyle);`),a(D)&&R&&Z.main.add(`fragEmission = vec4(0.0);`),D){case 1:Z.main.add(`
|
|
147
147
|
fragColor = vec4(fragColor.rgb * floatBlendOutputScale, fragColor.a);
|
|
148
148
|
fragAlpha = fragColor.a * floatBlendOutputScale;
|
|
149
|
-
`);break;case 2:Z.main.add(`fragColor.rgb /= fragColor.a;`);break;case 11:Z.main.add(`outputObjectAndLayerIdColor();`);break;case 10:n.include(
|
|
149
|
+
`);break;case 2:Z.main.add(`fragColor.rgb /= fragColor.a;`);break;case 11:Z.main.add(`outputObjectAndLayerIdColor();`);break;case 10:n.include(d,e),Z.main.add(`outputHighlight(false);`)}return n}function M(e){return e.outlineColor[3]>0&&e.outlineSize>0}function N(t){return t.textureIsSignedDistanceField?F(t.anchorPosition,t.distanceFieldBoundingBox,P):e(P,t.anchorPosition),P}const P=n();function F(e,n,r){t(r,e[0]*(n[2]-n[0])+n[0],e[1]*(n[3]-n[1])+n[1])}const I=.08,L=Object.freeze(Object.defineProperty({__proto__:null,anchorPosition:N,build:j},Symbol.toStringTag,{value:`Module`}));export{L as H,N as a,j as b};
|
package/chunks/Haze.glsl.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{
|
|
3
|
-
return linearDepthFromTexture(
|
|
2
|
+
import{mainDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{ReadDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{mainLightDirection as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{glsl as o,If as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{getHeightParameters as c}from"../views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js";import{ChapmanRaymarching as l}from"../views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js";import{ScreenSpacePassAtmosphere as u}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as d}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as f}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";function m(m){let h=new p,{fragment:g}=h;h.include(u),g.include(n),g.include(t),g.include(d),g.include(f),g.include(l,!0),g.uniforms.add(r,e);let{reduced:_}=m;return _&&g.code.add(o`float getDepth(vec2 uv){
|
|
3
|
+
return linearDepthFromTexture(mainDepth, uv);
|
|
4
4
|
}
|
|
5
5
|
float textureBilinear(vec2 uv) {
|
|
6
|
-
vec2 depthTextureSize = vec2(textureSize(
|
|
6
|
+
vec2 depthTextureSize = vec2(textureSize(mainDepth, 0));
|
|
7
7
|
vec2 texelSize = 1.0 / depthTextureSize;
|
|
8
8
|
vec2 depthUV = (uv * depthTextureSize) - vec2(0.5);
|
|
9
9
|
vec2 f = fract(depthUV);
|
|
@@ -13,8 +13,8 @@ float d1 = getDepth(snapUV + vec2(texelSize.x, 0.0));
|
|
|
13
13
|
float d2 = getDepth(snapUV + vec2(0.0, texelSize.y));
|
|
14
14
|
float d3 = getDepth(snapUV + texelSize);
|
|
15
15
|
return mix(mix(d0, d1, f.x), mix(d2, d3, f.x), f.y);
|
|
16
|
-
}`),g.uniforms.add(new
|
|
17
|
-
float depthSample = depthFromTexture(
|
|
16
|
+
}`),g.uniforms.add(new i(`hazeStrength`,e=>e.hazeStrength),new a(`heightParameters`,5,(e,t)=>c(t,e))).main.add(o`
|
|
17
|
+
float depthSample = depthFromTexture(mainDepth, uv);
|
|
18
18
|
if (depthSample == 1.0) {
|
|
19
19
|
discard;
|
|
20
20
|
}
|
|
@@ -23,7 +23,7 @@ return mix(mix(d0, d1, f.x), mix(d2, d3, f.x), f.y);
|
|
|
23
23
|
vec3 cameraSpaceRay = normalize(eyeDir);
|
|
24
24
|
cameraSpaceRay /= cameraSpaceRay.z;
|
|
25
25
|
|
|
26
|
-
cameraSpaceRay *= ${
|
|
26
|
+
cameraSpaceRay *= ${s(_,`-textureBilinear(uv)`,`-linearizeDepth(depthSample)`)};
|
|
27
27
|
float terrainDepth = max(0.0, length(cameraSpaceRay));
|
|
28
28
|
|
|
29
29
|
// Alpha is ignored for haze blending
|
|
@@ -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,13 +1,13 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{translate as e}from"../core/libs/gl-matrix-2/math/mat4.js";import{create as t}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{
|
|
2
|
+
import{translate as e}from"../core/libs/gl-matrix-2/math/mat4.js";import{create as t}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{Laserline as n}from"../views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js";import{blendEmission as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/blendEmission.glsl.js";import{projMatrix as i,pixelToNDC as a,screenPixelSizePerDistance as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{If as c,glsl as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4PassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";function f(t){let f=new d;f.include(n,t);let{outputs:m,vertex:h,fragment:g,attributes:_,varyings:v}=f;m.add(`fragColor`,`vec4`,0),h.uniforms.add(new u(`modelView`,(t,{camera:n})=>e(p,n.viewMatrix,t.origin)),i,a,new s(`glowWidth`,(e,{camera:t})=>e.glowWidth*t.pixelRatio)),_.add(`start`,`vec3`),_.add(`end`,`vec3`),t.spherical&&(_.add(`startUp`,`vec3`),_.add(`endUp`,`vec3`)),_.add(`extrude`,`vec2`),v.add(`uv`,`vec2`),v.add(`vViewStart`,`vec3`),v.add(`vViewEnd`,`vec3`),v.add(`vViewSegmentNormal`,`vec3`),v.add(`vViewStartNormal`,`vec3`),v.add(`vViewEndNormal`,`vec3`);let y=!t.spherical;return h.main.add(l`
|
|
3
3
|
vec3 pos = mix(start, end, extrude.x);
|
|
4
4
|
vec4 viewPos = modelView * vec4(pos, 1);
|
|
5
5
|
vec4 projPos = proj * viewPos;
|
|
6
6
|
vec2 ndcPos = projPos.xy / projPos.w;
|
|
7
7
|
|
|
8
8
|
// in planar we hardcode the up vectors to be Z-up */
|
|
9
|
-
${
|
|
10
|
-
${
|
|
9
|
+
${c(y,l`vec3 startUp = vec3(0, 0, 1);`)}
|
|
10
|
+
${c(y,l`vec3 endUp = vec3(0, 0, 1);`)}
|
|
11
11
|
|
|
12
12
|
// up vector corresponding to the location of the vertex, selecting either startUp or endUp */
|
|
13
13
|
vec3 up = extrude.y * mix(startUp, endUp, extrude.x);
|
|
@@ -47,7 +47,7 @@ import{translate as e}from"../core/libs/gl-matrix-2/math/mat4.js";import{create
|
|
|
47
47
|
uv = ndcPos * 0.5 + 0.5;
|
|
48
48
|
|
|
49
49
|
gl_Position = vec4(ndcPos, 0, 1);
|
|
50
|
-
`),
|
|
50
|
+
`),g.uniforms.add(o),g.code.add(l`float planeDistance(vec3 planeNormal, vec3 planeOrigin, vec3 pos) {
|
|
51
51
|
return dot(planeNormal, pos - planeOrigin);
|
|
52
52
|
}
|
|
53
53
|
float segmentDistancePixels(vec3 segmentNormal, vec3 startNormal, vec3 endNormal, vec3 pos, vec3 start, vec3 end) {
|
|
@@ -59,7 +59,7 @@ float width = fwidth(distSegmentPlane);
|
|
|
59
59
|
float maxPixelDistance = length(pos) * screenPixelSizePerDistance * 2.0;
|
|
60
60
|
float pixelDist = dist / min(width, maxPixelDistance);
|
|
61
61
|
return abs(pixelDist);
|
|
62
|
-
}`),
|
|
62
|
+
}`),g.main.add(l`fragColor = vec4(0.0);
|
|
63
63
|
vec3 dEndStart = vViewEnd - vViewStart;
|
|
64
64
|
if (dot(dEndStart, dEndStart) < 1e-5) {
|
|
65
65
|
return;
|
|
@@ -81,4 +81,4 @@ vViewEnd
|
|
|
81
81
|
);
|
|
82
82
|
vec4 color = laserlineProfile(distance);
|
|
83
83
|
float alpha = (1.0 - smoothstep(0.995 - angleCutoffAdjust, 0.999 - angleCutoffAdjust, abs(dot(normal, vViewSegmentNormal))));
|
|
84
|
-
fragColor = laserlineOutput(color * alpha * depthDiscontinuityAlpha);`),
|
|
84
|
+
fragColor = laserlineOutput(color * alpha * depthDiscontinuityAlpha);`),f.include(r,t),f}const p=t(),m=Object.freeze(Object.defineProperty({__proto__:null,build:f},Symbol.toStringTag,{value:`Module`}));export{m as L,f as b};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as t}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as n}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{rejectBySliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{AlignPixel as i}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as a}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{viewport as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{addScreenSizePerspectiveAlignment as
|
|
2
|
+
import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as t}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as n}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{rejectBySliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{AlignPixel as i}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as a}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{viewport as o,pixelToNDC as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{addScreenSizePerspectiveAlignment as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import{Float2PassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4PassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as f,If as p}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as m}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as h}from"../views/webgl/ShaderBuilder.js";function g(t){let g=new h,{vertex:y,fragment:b}=g;return y.include(i),g.include(a,t),g.vertex.include(r,t),t.hudDepth||g.include(m,t),g.attributes.add(`uv0`,`vec2`),y.uniforms.add(o,s,new d(`lineSize`,(e,t)=>e.size>0?Math.max(1,e.size)*t.camera.pixelRatio:0),new d(`borderSize`,(e,t)=>e.borderColor?t.camera.pixelRatio:0),new l(`screenOffset`,(t,n)=>e(v,t.horizontalScreenOffset*n.camera.pixelRatio,0))),g.varyings.add(`coverageSampling`,`vec4`),g.varyings.add(`lineSizes`,`vec2`),t.hasScreenSizePerspective&&c(y),y.main.add(f`
|
|
3
3
|
ProjectHUDAux projectAux;
|
|
4
4
|
vec4 endPoint = projectPositionHUD(projectAux);
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{markerTextureSize as e,markerSymbolSize as t,markerTipThicknessFactor as n}from"../views/3d/support/engineContent/marker.js";import{sliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputHighlight as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{evaluateSceneLightingFragment as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js";import{MarkerSizing as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{NormalUtils as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{positionOutsideClipSpace as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{nearFar as u,viewport as d,viewNormal as f,inverseProjectionMatrix as p,screenPixelSizePerDistance as m}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as
|
|
2
|
+
import{markerTextureSize as e,markerSymbolSize as t,markerTipThicknessFactor as n}from"../views/3d/support/engineContent/marker.js";import{sliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputHighlight as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{evaluateSceneLightingFragment as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js";import{MarkerSizing as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{NormalUtils as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{positionOutsideClipSpace as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{nearFar as u,viewport as d,viewNormal as f,inverseProjectionMatrix as p,screenPixelSizePerDistance as m,pixelRatio as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as _,NoPerspectiveRead as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as y}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as x,If 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{alphaCutoff as w}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as E}from"../views/webgl/ShaderBuilder.js";function D(D){let O=new E,{draped:k,worldSpace:A,anchor:j,hasTip:M,shadingEnabled:N}=D,P=!k&&!A;O.attributes.add(`position`,`vec3`),O.attributes.add(D.hasVVSize?`sizeFeatureAttribute`:`size`,`float`),D.hasVVOpacity&&O.attributes.add(`opacityFeatureAttribute`,`float`),O.attributes.add(D.hasVVColor?`colorFeatureAttribute`:`color`,D.hasVVColor?`float`:`vec4`),O.vertex.inputs.add(`position`,()=>`position`),D.hasVVSize?O.vertex.inputs.add(`sizeFeatureAttribute`,()=>`sizeFeatureAttribute`):O.vertex.inputs.add(`size`,()=>`size`),D.hasVVOpacity&&O.vertex.inputs.add(`opacityFeatureAttribute`,()=>`opacityFeatureAttribute`),D.hasVVColor?O.vertex.inputs.add(`colorFeatureAttribute`,()=>`colorFeatureAttribute`):O.vertex.inputs.add(`color`,()=>`color`),O.include(i,D),O.include(s,D);let{vertex:F,fragment:I,varyings:L}=O;y(F,D),O.attributes.add(`previousDelta`,`vec4`),O.attributes.add(`uv0`,`vec2`),L.add(`vColor`,`vec4`),L.add(`vpos`,`vec3`,{invariant:!0}),L.add(`vUV`,`vec2`),L.add(`vSize`,`float`),M&&L.add(`vLineWidth`,`float`),F.uniforms.add(u,d).code.add(x`vec4 projectAndScale(vec4 pos) {
|
|
3
3
|
vec4 posNdc = proj * pos;
|
|
4
4
|
posNdc.xy *= viewport.zw / posNdc.w;
|
|
5
5
|
return posNdc;
|
|
@@ -76,7 +76,7 @@ return abs(cos) > 0.001 && t > 0.0;
|
|
|
76
76
|
displacedPos *= minDepth / length(displacedPos);
|
|
77
77
|
return vec4(displacedPos.xyz, 1.0);
|
|
78
78
|
}
|
|
79
|
-
`)),
|
|
79
|
+
`)),O.include(_),F.uniforms.add(h).main.add(x`
|
|
80
80
|
// Check for special value of uv0.y which is used by the Renderer when graphics are removed before the VBO is
|
|
81
81
|
// recompacted. If this is the case, then we just project outside of clip space.
|
|
82
82
|
if (uv0.y == 0.0) {
|
|
@@ -131,13 +131,13 @@ return abs(cos) > 0.001 && t > 0.0;
|
|
|
131
131
|
vpos = pos.xyz;
|
|
132
132
|
|
|
133
133
|
gl_Position = displacedPosScreen;
|
|
134
|
-
`),I.include(r,D),O.include(T,D),I.include(
|
|
134
|
+
`),I.include(r,D),O.include(T,D),I.include(g),I.include(w),I.uniforms.add(new b(`intrinsicColor`,({color:e})=>e),new C(`tex`,({markerTexture:e})=>e)).constants.add(`texelSize`,`float`,1/e).code.add(x`float markerAlpha(vec2 samplePos) {
|
|
135
135
|
samplePos += vec2(0.5, -0.5) * texelSize;
|
|
136
136
|
float sdf = texture(tex, samplePos).r;
|
|
137
137
|
float pixelDistance = sdf * vSize;
|
|
138
138
|
pixelDistance -= 0.5;
|
|
139
139
|
return clamp(0.5 - pixelDistance, 0.0, 1.0);
|
|
140
|
-
}`),M&&(O.include(
|
|
140
|
+
}`),M&&(O.include(v),I.constants.add(`relativeMarkerSize`,`float`,t/e).constants.add(`relativeTipLineWidth`,`float`,n).code.add(x`
|
|
141
141
|
float tipAlpha(vec2 samplePos) {
|
|
142
142
|
// Convert coordinates s.t. they are in pixels and relative to the tip of an arrow marker
|
|
143
143
|
samplePos -= vec2(0.5, 0.5 + 0.5 * relativeMarkerSize);
|
|
@@ -151,7 +151,7 @@ return clamp(0.5 - pixelDistance, 0.0, 1.0);
|
|
|
151
151
|
float distance = max(abs(samplePos.x) - halfMarkerSize, abs(samplePos.y) - halfTipLineWidth);
|
|
152
152
|
return clamp(0.5 - distance, 0.0, 1.0);
|
|
153
153
|
}
|
|
154
|
-
`)),O.include(a,D),O.include(
|
|
154
|
+
`)),O.include(a,D),O.include(v),I.main.add(x`
|
|
155
155
|
discardBySlice(vpos);
|
|
156
156
|
|
|
157
157
|
vec4 albedo = intrinsicColor * vColor;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{nearFar as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{BooleanPassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js";import{Float2PassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{glsl as a}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as c}from"../views/webgl/NoParameters.js";import{ShaderBuilder as l}from"../views/webgl/ShaderBuilder.js";class u extends c{constructor(){super(...arguments),this.depthTextureSize=[0,0],this.cellSize=1,this.reduced=!1}}function d(){let c=new l;return c.include(e),c.fragment.include(t),c.fragment.uniforms.add(new s(`
|
|
2
|
+
import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{nearFar as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{BooleanPassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js";import{Float2PassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{glsl as a}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as c}from"../views/webgl/NoParameters.js";import{ShaderBuilder as l}from"../views/webgl/ShaderBuilder.js";class u extends c{constructor(){super(...arguments),this.depthTextureSize=[0,0],this.cellSize=1,this.reduced=!1}}function d(){let c=new l;return c.include(e),c.fragment.include(t),c.fragment.uniforms.add(new s(`mainDepth`,e=>e.depthTexture),new i(`screenSize`,e=>e.depthTextureSize),new o(`fullWidth`,e=>e.cellSize),new r(`reduced`,e=>e.reduced),n),c.fragment.code.add(a`float normalizedDepthFromTexture(sampler2D depthTexture, ivec2 coords) {
|
|
3
3
|
if (reduced) {
|
|
4
4
|
return texelFetch(depthTexture, coords, 0).r;
|
|
5
5
|
}
|
|
@@ -12,7 +12,7 @@ ivec2 cellEnd = min(cellStart + ivec2(fullWidth), textureSizePx);
|
|
|
12
12
|
float minDepth = 1.0;
|
|
13
13
|
for (int y = cellStart.y; y < cellEnd.y; ++y) {
|
|
14
14
|
for (int x = cellStart.x; x < cellEnd.x; ++x) {
|
|
15
|
-
minDepth = min(minDepth, normalizedDepthFromTexture(
|
|
15
|
+
minDepth = min(minDepth, normalizedDepthFromTexture(mainDepth, ivec2(x, y)));
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
fragColor = vec4(minDepth, 0.0, 0.0, 1.0);`),c}const f=Object.freeze(Object.defineProperty({__proto__:null,NavigationDepthPassParameters:u,build:d},Symbol.toStringTag,{value:`Module`}));export{u as N,f as a,d as b};
|
package/chunks/Path.glsl.js
CHANGED
|
@@ -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{PathVertexPosition as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{outputDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as c,addAmbientBoostFactor as l
|
|
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{PathVertexPosition as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{outputDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as c,addAmbientBoostFactor as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{lightingGlobalFactor as u,mainLightIntensity as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{Normals as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRenderingParameters as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{readShadowDraw as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{viewNormal as g,nearFar as _}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as y,addCameraPosition as b}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as S}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as C,If as w}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{SnowCover as T}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as E}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as D}from"../views/webgl/ShaderBuilder.js";function O(O){let k=new D,{vertex:A,fragment:j,varyings:M}=k;y(A,O),M.add(`vpos`,`vec3`,{invariant:!0}),k.include(i,O);let{output:N,pbrMode:P,snowCover:F,offsetBackfaces:I}=O,L=t(N),R=N===11;switch((L||R)&&(R?(k.varyings.add(`objectAndLayerIdColorVarying`,`vec4`),k.vertex.code.add(C`void forwardObjectAndLayerIdColor() {
|
|
3
3
|
objectAndLayerIdColorVarying = getOlidColor();
|
|
4
4
|
}`),k.fragment.code.add(C`void outputObjectAndLayerIdColor() {
|
|
5
5
|
fragColor = objectAndLayerIdColorVarying;
|
package/chunks/Pattern.glsl.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{sliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as t}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VisualVariables as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{
|
|
3
|
-
const mat2 rotate45 = mat2(${
|
|
4
|
-
${
|
|
5
|
-
`),!
|
|
2
|
+
import{sliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as t}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VisualVariables as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{worldToScreenPerDistanceRatio as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as s,addCameraPosition as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as u}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as d,If as f}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{planarDistanceToScreenRatio as p}from"../views/3d/webgl-engine/shaders/lineUniforms.js";import{outputColorHighlightOLID as m}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as h}from"../views/3d/webgl-engine/shaders/PatternTextureBuffer.glsl.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";const _=.70710678118;function v(v){let b=new g,{vertex:x,fragment:S,attributes:C,varyings:w}=b,T=h(v)?.createBuilder(b,v),E=T!=null,D=v.output===10;s(x,v),b.include(t);let O=``;E?(v.hasVVColor&&(O=T.getTextureAttribute(`colorFeatureAttribute`)),v.hasVertexColors?(b.varyings.add(`vColor`,`vec4`),b.vertex.code.add(d`void forwardVertexColor() { vColor = ${T.getTextureAttribute(`color`)}; }`)):b.vertex.code.add(d`void forwardVertexColor() {}`),C.add(`textureElementIndex`,`uint`)):(b.include(r,v),v.hasVVColor&&(C.add(`colorFeatureAttribute`,`float`),O=`colorFeatureAttribute`)),C.add(`position`,`vec3`),x.inputs.add(`position`,()=>`position`),b.include(i,v),b.include(n,v),S.include(e,v),b.include(m,v),C.add(`uvMapSpace`,`vec4`),v.hasVertexColors||w.add(`vColor`,`vec4`),w.add(`vpos`,`vec3`,{invariant:!0}),w.add(`vuv`,`vec2`),x.uniforms.add(new l(`uColor`,e=>e.color));let k=v.style===3||v.style===4||v.style===5;return k&&x.code.add(d`
|
|
3
|
+
const mat2 rotate45 = mat2(${d.float(_)}, ${d.float(-.70710678118)},
|
|
4
|
+
${d.float(.70710678118)}, ${d.float(_)});
|
|
5
|
+
`),!v.draped&&E&&(c(x,v),x.code.add(d`vec3 projectPointToLineSegment(vec3 center, vec3 halfVector, vec3 point) {
|
|
6
6
|
float projectedLength = dot(halfVector, point - center) / dot(halfVector, halfVector);
|
|
7
7
|
return center + halfVector * clamp(projectedLength, -1.0, 1.0);
|
|
8
|
-
}`),
|
|
8
|
+
}`),x.code.add(d`vec3 intersectRayPlane(vec3 rayDir, vec3 rayOrigin, vec3 planeNormal, vec3 planePoint) {
|
|
9
9
|
float d = dot(planeNormal, planePoint);
|
|
10
10
|
float t = (d - dot(planeNormal, rayOrigin)) / dot(planeNormal, rayDir);
|
|
11
11
|
return rayOrigin + t * rayDir;
|
|
12
|
-
}`),
|
|
12
|
+
}`),x.code.add(d`
|
|
13
13
|
float boundingRectDistanceToCamera() {
|
|
14
|
-
vec3 center = ${
|
|
15
|
-
vec3 halfU = ${
|
|
16
|
-
vec3 halfV = ${
|
|
14
|
+
vec3 center = ${T.getTextureAttribute(`boundingRect`)}[0];
|
|
15
|
+
vec3 halfU = ${T.getTextureAttribute(`boundingRect`)}[1];
|
|
16
|
+
vec3 halfV = ${T.getTextureAttribute(`boundingRect`)}[2];
|
|
17
17
|
vec3 n = normalize(cross(halfU, halfV));
|
|
18
18
|
|
|
19
19
|
vec3 viewDir = - vec3(view[0][2], view[1][2], view[2][2]);
|
|
20
20
|
|
|
21
21
|
float viewAngle = dot(viewDir, n);
|
|
22
|
-
float minViewAngle = ${
|
|
22
|
+
float minViewAngle = ${d.float(.08715574274)};
|
|
23
23
|
|
|
24
24
|
if (abs(viewAngle) < minViewAngle) {
|
|
25
25
|
// view direction is (almost) parallel to plane -> clamp it to min angle
|
|
@@ -39,13 +39,13 @@ return rayOrigin + t * rayDir;
|
|
|
39
39
|
|
|
40
40
|
return length(closestPoint - cameraPosition);
|
|
41
41
|
}
|
|
42
|
-
`)),
|
|
42
|
+
`)),x.uniforms.add(v.draped?p:a).code.add(d`
|
|
43
43
|
vec2 scaledUV() {
|
|
44
|
-
vec2 uv = uvMapSpace.xy ${
|
|
45
|
-
vec2 uvCellOrigin = uvMapSpace.zw ${
|
|
44
|
+
vec2 uv = uvMapSpace.xy ${f(k,` * rotate45`)};
|
|
45
|
+
vec2 uvCellOrigin = uvMapSpace.zw ${f(k,` * rotate45`)};
|
|
46
46
|
|
|
47
|
-
${
|
|
48
|
-
|
|
47
|
+
${f(v.draped,d`float patternDistanceToScreenRatio = planarDistanceToScreenRatio;`,d`float distanceToCamera = boundingRectDistanceToCamera();
|
|
48
|
+
float patternDistanceToScreenRatio = worldToScreenPerDistanceRatio / distanceToCamera;`)}
|
|
49
49
|
|
|
50
50
|
// Logarithmically discretize ratio to avoid jittering
|
|
51
51
|
float step = 0.1;
|
|
@@ -53,20 +53,20 @@ return rayOrigin + t * rayDir;
|
|
|
53
53
|
discreteDistanceToScreenRatio = ceil(discreteDistanceToScreenRatio / step) * step;
|
|
54
54
|
discreteDistanceToScreenRatio = exp(discreteDistanceToScreenRatio);
|
|
55
55
|
|
|
56
|
-
vec2 uvOffset = mod(uvCellOrigin * discreteDistanceToScreenRatio, ${
|
|
56
|
+
vec2 uvOffset = mod(uvCellOrigin * discreteDistanceToScreenRatio, ${d.float(10)});
|
|
57
57
|
return uvOffset + (uv * discreteDistanceToScreenRatio);
|
|
58
58
|
}
|
|
59
|
-
`),
|
|
59
|
+
`),x.main.add(d`
|
|
60
60
|
vuv = scaledUV();
|
|
61
61
|
vpos = position;
|
|
62
62
|
forwardVertexColor();
|
|
63
63
|
forwardObjectAndLayerIdColor();
|
|
64
|
-
${
|
|
64
|
+
${v.hasVertexColors?`vColor *= uColor;`:v.hasVVColor?d`vColor = uColor * interpolateVVColor(${O});`:`vColor = uColor;`}
|
|
65
65
|
gl_Position = transformPosition(proj, view, vpos);
|
|
66
|
-
`),
|
|
67
|
-
const float lineWidth = ${
|
|
68
|
-
const float spacing = ${
|
|
69
|
-
const float spacingINV = ${
|
|
66
|
+
`),S.include(o),v.draped&&S.uniforms.add(new u(`texelSize`,e=>1/e.camera.pixelRatio)),D||(S.code.add(d`
|
|
67
|
+
const float lineWidth = ${d.float(1)};
|
|
68
|
+
const float spacing = ${d.float(10)};
|
|
69
|
+
const float spacingINV = ${d.float(1/10)};
|
|
70
70
|
|
|
71
71
|
float coverage(float p, float txlSize) {
|
|
72
72
|
p = mod(p, spacing);
|
|
@@ -82,7 +82,7 @@ return rayOrigin + t * rayDir;
|
|
|
82
82
|
|
|
83
83
|
return coverage / txlSize;
|
|
84
84
|
}
|
|
85
|
-
`),
|
|
85
|
+
`),v.draped||S.code.add(d`const int maxSamples = 5;
|
|
86
86
|
float sampleAA(float p) {
|
|
87
87
|
vec2 dxdy = abs(vec2(dFdx(p), dFdy(p)));
|
|
88
88
|
float fwidth = dxdy.x + dxdy.y;
|
|
@@ -103,9 +103,9 @@ accumulator += coverage(p + step.x * dxdy.x + step.y * dxdy.y, fwidth);
|
|
|
103
103
|
}
|
|
104
104
|
accumulator /= float(samples.x * samples.y);
|
|
105
105
|
return accumulator;
|
|
106
|
-
}`)),
|
|
106
|
+
}`)),S.main.add(d`
|
|
107
107
|
discardBySlice(vpos);
|
|
108
108
|
vec4 color = vColor;
|
|
109
|
-
${
|
|
109
|
+
${f(!D,d`color.a *= ${y(v)};`)}
|
|
110
110
|
outputColorHighlightOLID(applySlice(color, vpos), color.rgb);
|
|
111
|
-
`),
|
|
111
|
+
`),b}function y(e){function t(t){return e.draped?`coverage(vuv.${t}, texelSize)`:`sampleAA(vuv.${t})`}switch(e.style){case 3:case 0:return t(`y`);case 4:case 1:return t(`x`);case 5:case 2:return d`1.0 - (1.0 - ${t(`x`)}) * (1.0 - ${t(`y`)})`;default:return`0.0`}}const b=Object.freeze(Object.defineProperty({__proto__:null,build:v},Symbol.toStringTag,{value:`Module`}));export{b as P,v as b};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{floor as e,set as t,sub as n,scale as r,normalize as i,dot as a,lerp as o}from"../core/libs/gl-matrix-2/math/vec3.js";import{create as s,fromValues as c}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{
|
|
2
|
+
import{floor as e,set as t,sub as n,scale as r,normalize as i,dot as a,lerp as o}from"../core/libs/gl-matrix-2/math/vec3.js";import{create as s,fromValues as c}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{cameraPosition as l,projMatrix as u,viewMatrix as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{Float3BindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as p}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as m}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as h,If as g}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{ShaderBuilder as _}from"../views/webgl/ShaderBuilder.js";function v(e){let t=new _,{attributes:n,outputs:r,vertex:i,varyings:a,fragment:o}=t;n.add(`position`,`vec3`),n.add(`instanceFeatureAttribute`,`float`),r.add(`fragColor`,`vec4`,0),i.uniforms.add(l,new p(`offset`,(e,t)=>y(e,t)),new m(`width`,e=>e.width),new m(`time`,e=>e.time),u,d),a.add(`vUv`,`vec2`),i.code.add(h`vec3 hash31(float p){
|
|
3
3
|
vec3 p3 = fract(vec3(p) * vec3(0.1031, 0.1030, 0.0973));
|
|
4
4
|
p3 += dot(p3, p3.yzx + 33.33);
|
|
5
5
|
return fract((p3.xxy + p3.yzz) * p3.zyx);
|
|
@@ -12,7 +12,7 @@ return fract(p);
|
|
|
12
12
|
}
|
|
13
13
|
vec3 rotateVectorByQuaternion(vec3 v, vec4 q){
|
|
14
14
|
return 2.0 * cross(q.xyz, v * q.w + cross(q.xyz, v)) + v;
|
|
15
|
-
}`);let s=e.type===0;return i.main.add(
|
|
15
|
+
}`);let s=e.type===0;return i.main.add(h`
|
|
16
16
|
vUv = position.xz;
|
|
17
17
|
vec3 rand = hash31(instanceFeatureAttribute);
|
|
18
18
|
|
|
@@ -37,7 +37,7 @@ return 2.0 * cross(q.xyz, v * q.w + cross(q.xyz, v)) + v;
|
|
|
37
37
|
|
|
38
38
|
// Rain particles fall straight down and are randomly oriented
|
|
39
39
|
// Snow particles have random sinusoid trajectories and are rotated to face the camera
|
|
40
|
-
${s?
|
|
40
|
+
${s?h`
|
|
41
41
|
// Random rotation for particle
|
|
42
42
|
vec3 rotationAxis = up;
|
|
43
43
|
vec4 quat = vec4(rotationAxis * sin(angle), cos(angle));
|
|
@@ -51,7 +51,7 @@ return 2.0 * cross(q.xyz, v * q.w + cross(q.xyz, v)) + v;
|
|
|
51
51
|
|
|
52
52
|
vec4 pos = mat4(mat3(view)) * vec4(transformedPos + (mod(width * animatedPos - offset, width) - 0.5 * width), 1.0);
|
|
53
53
|
gl_Position = proj * pos;
|
|
54
|
-
`:
|
|
54
|
+
`:h`
|
|
55
55
|
vec3 rotationAxis = direction;
|
|
56
56
|
vec4 quat = vec4(rotationAxis * sin(angle), cos(angle));
|
|
57
57
|
|
|
@@ -61,9 +61,9 @@ return 2.0 * cross(q.xyz, v * q.w + cross(q.xyz, v)) + v;
|
|
|
61
61
|
vec4 pos = mat4(mat3(view)) * vec4((mod(width * animatedPos - offset, width) - 0.5 * width), 1.0);
|
|
62
62
|
gl_Position = proj * (0.5 * vec4(position.xzy, 0.0) + pos);
|
|
63
63
|
`}
|
|
64
|
-
`),o.uniforms.add(new
|
|
64
|
+
`),o.uniforms.add(new m(`opacity`,e=>e.opacity),new f(`particleColor`,t=>b(t,e))),o.main.add(h`
|
|
65
65
|
float d = length(vUv - vec2(0.5));
|
|
66
66
|
|
|
67
|
-
${
|
|
67
|
+
${g(s,`d = 0.35 * smoothstep(0.5, 0.0, d);`,`d = smoothstep(0.5, 0.1, d);`)}
|
|
68
68
|
fragColor = opacity * vec4(particleColor * d, d);
|
|
69
|
-
`),e.hasEmissive&&(t.outputs.add(`fragEmission`,`vec4`,1),t.fragment.main.add(`fragEmission = vec4(vec3(0.0), fragColor.a * 0.75);`)),t}function
|
|
69
|
+
`),e.hasEmissive&&(t.outputs.add(`fragEmission`,`vec4`,1),t.fragment.main.add(`fragEmission = vec4(vec3(0.0), fragColor.a * 0.75);`)),t}function y(i,a){let o=a.camera.eye,s=.5*i.width,c=1/i.width,l=e(x,t(x,(o[0]+s)*c,(o[1]+s)*c,(o[2]+s)*c));return n(l,o,r(l,l,i.width))}function b(e,{type:t}){let n=t===0?w:C,s=r(x,n,T),c=e.camera.eye;i(S,c);let l=Math.max(0,a(S,e.lighting.mainLight.direction));return o(s,s,n,l)}const x=s(),S=s(),C=c(1,1,1),w=c(.85,.85,.85),T=.7,E=Object.freeze(Object.defineProperty({__proto__:null,build:v},Symbol.toStringTag,{value:`Module`}));export{E as P,v 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{VerticalOffset as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as c}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{DefaultMaterialExternalColor as l}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js";import{EvaluateAmbientOcclusion as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as d,addAmbientBoostFactor as f
|
|
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{VerticalOffset as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as c}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{DefaultMaterialExternalColor as l}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js";import{EvaluateAmbientOcclusion as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as d,addAmbientBoostFactor as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{mainLightDirection as p,lightingGlobalFactor as m,mainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRendering as _}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{readShadowPass as y,readShadowDraw as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{colorTextureUV as x,emissiveTextureUV as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as w}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{addProjViewLocalOrigin as T,addCameraPosition as E}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{If as O,glsl as k}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as A}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as j}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as M}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as N}from"../views/webgl/ShaderBuilder.js";function P(P){let F=new N,{attributes:I,vertex:L,fragment:R,varyings:z}=F,{output:B,offsetBackfaces:V,pbrMode:H,snowCover:U}=P,W=H===1||H===2;if(T(L,P),I.add(`position`,`vec3`),L.inputs.add(`position`,()=>`position`),z.add(`vpos`,`vec3`,{invariant:!0}),F.include(C,P),F.include(i,P),F.include(s,P),F.include(x,P),!t(B))return F.include(c,P),F;F.include(S,P),E(F.vertex,P),F.include(a,P),F.include(r),V&&F.include(e),z.add(`vNormalWorld`,`vec3`),z.add(`localvpos`,`vec3`,{invariant:!0}),F.include(o,P),F.include(l,P),F.include(P.instancedDoublePrecision?y:b,P),L.main.add(k`
|
|
3
3
|
forwardDefaultMaterialExternalColor();
|
|
4
4
|
|
|
5
5
|
vpos = getVertexInLocalOriginSpace();
|
|
@@ -17,7 +17,7 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
|
|
|
17
17
|
|
|
18
18
|
gl_Position = shouldCullByOpacity() ? vec4(1e38, 1e38, 1e38, 1.0) :
|
|
19
19
|
${O(V,`offsetBackfacingClipPosition(basePosition, vpos, vNormalWorld, cameraPosition);`,`basePosition;`)}
|
|
20
|
-
`);let{hasColorTexture:G,hasColorTextureTransform:K}=P;return R.include(d,P),R.include(u,P),F.include(w,P),R.include(n,P),F.include(M,P),E(R,P),f(R),R.uniforms.add(m,
|
|
20
|
+
`);let{hasColorTexture:G,hasColorTextureTransform:K}=P;return R.include(d,P),R.include(u,P),F.include(w,P),R.include(n,P),F.include(M,P),E(R,P),f(R),R.uniforms.add(p,m,L.uniforms.get(`localOrigin`),L.uniforms.get(`view`),new D(`ambient`,e=>e.ambient),new D(`diffuse`,e=>e.diffuse)),G&&R.uniforms.add(new A(`tex`,e=>e.texture)),F.include(v,P),R.include(_,P),R.include(j,P),R.include(g,P),R.uniforms.add(h).main.add(k`
|
|
21
21
|
discardBySlice(vpos);
|
|
22
22
|
vec4 texColor = ${G?`texture(tex, ${K?`colorUV`:`vuv0`})`:` vec4(1.0)`};
|
|
23
23
|
${O(G,`${O(P.textureAlphaPremultiplied,`texColor.rgb /= texColor.a;`)}
|