@arcgis/core 5.2.0-next.120 → 5.2.0-next.121
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/containerUtils.js +1 -1
- package/arcade/functions/feature.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcgisGlobal.d.ts +7 -0
- package/assets/components/assets/icon/addCellAbove16.json +1 -0
- package/assets/components/assets/icon/addCellAbove24.json +1 -0
- package/assets/components/assets/icon/addCellAbove32.json +1 -0
- package/assets/components/assets/icon/addCellBelow16.json +1 -0
- package/assets/components/assets/icon/addCellBelow24.json +1 -0
- package/assets/components/assets/icon/addCellBelow32.json +1 -0
- package/assets/components/assets/icon/linkedChart16.json +1 -0
- package/assets/components/assets/icon/linkedChart24.json +1 -0
- package/assets/components/assets/icon/linkedChart32.json +1 -0
- package/assets/components/assets/icon/polygonFromFeature16.json +1 -0
- package/assets/components/assets/icon/polygonFromFeature24.json +1 -0
- package/assets/components/assets/icon/polygonFromFeature32.json +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/015cb790262a59857c5f.js +1 -0
- package/assets/esri/core/workers/chunks/025da54eef112d7e8f66.js +1 -0
- package/assets/esri/core/workers/chunks/033debcbf6b3683dc4fe.js +2 -0
- package/assets/esri/core/workers/chunks/064445e6f9512817ac87.js +2 -0
- package/assets/esri/core/workers/chunks/{304462b049116f59accc.js → 09676cfa99b90fe0cc63.js} +1 -1
- package/assets/esri/core/workers/chunks/0aadee0437fa061e4ff5.js +1 -0
- package/assets/esri/core/workers/chunks/{b0058619e0363002ad86.js → 0e9f54d7f158195bd203.js} +1 -1
- package/assets/esri/core/workers/chunks/1086f190f94c715bbfe4.js +1 -0
- package/assets/esri/core/workers/chunks/1846296be959e28c42bb.js +1 -0
- package/assets/esri/core/workers/chunks/{ea9e770efc85594e4dd2.js → 216d8cb86548e92a8196.js} +1 -1
- package/assets/esri/core/workers/chunks/{d629708bf23da24ee523.js → 298f234f11a10c5120a2.js} +1 -1
- package/assets/esri/core/workers/chunks/29ae19206bbeb480be0f.js +1 -0
- package/assets/esri/core/workers/chunks/{dc1944a7601b518a9c48.js → 2ca49fb4590cc34a02bd.js} +1 -1
- package/assets/esri/core/workers/chunks/{f890359d972cce54459e.js → 2f829321bfbd3bacd64f.js} +1 -1
- package/assets/esri/core/workers/chunks/{7232fc11b23777b6be94.js → 369012c032ea6882607c.js} +1 -1
- package/assets/esri/core/workers/chunks/39c5e0f6262f69a62c66.js +1 -0
- package/assets/esri/core/workers/chunks/{9f760dc4492a03e0504c.js → 45d87af48a21644590c2.js} +1 -1
- package/assets/esri/core/workers/chunks/463d69f596d1d34ef275.js +2 -0
- package/assets/esri/core/workers/chunks/49affbed22e201f7c32b.js +1 -0
- package/assets/esri/core/workers/chunks/4adad3312caa24af98ac.js +1 -0
- package/assets/esri/core/workers/chunks/{8f0ecf4d06ec7b67d4ed.js → 52744dfd430cd0c0edfb.js} +1 -1
- package/assets/esri/core/workers/chunks/58a17fb3c0dd07c63d57.js +2 -0
- package/assets/esri/core/workers/chunks/5993db944b9e7825e0bc.js +1 -0
- package/assets/esri/core/workers/chunks/{090c9c2dbf92f2cac0b8.js → 770ca70d363184e39d60.js} +1 -1
- package/assets/esri/core/workers/chunks/83c7c4218bc6ba2f16ee.js +1 -0
- package/assets/esri/core/workers/chunks/{cfd8317ecd2e63af7c40.js → 8a103b6e9534516421e2.js} +1 -1
- package/assets/esri/core/workers/chunks/{49e8ff5ed079a9e3be4b.js → 91a51d959ee5c6123c46.js} +1 -1
- package/assets/esri/core/workers/chunks/92f35b2c3c5f13778308.js +1 -0
- package/assets/esri/core/workers/chunks/97cd4145c016cf379120.js +1 -0
- package/assets/esri/core/workers/chunks/99ebc99e8d1bca105b5e.js +1 -0
- package/assets/esri/core/workers/chunks/{e18b8646c7378213b618.js → 9b3813e39992b1b99941.js} +1 -1
- package/assets/esri/core/workers/chunks/{32fc7d1db4b311f6b880.js → 9e5b30b907102bc0c201.js} +1 -1
- package/assets/esri/core/workers/chunks/a005efcde3ca9def4e6b.js +1 -0
- package/assets/esri/core/workers/chunks/a3c1a5a5c5cbf27b376d.js +1 -0
- package/assets/esri/core/workers/chunks/a70c59129ea808857d07.js +1 -0
- package/assets/esri/core/workers/chunks/b5b30c8447a0f967fa79.js +1 -0
- package/assets/esri/core/workers/chunks/bb5ed2a796a45c41b0b4.js +1 -0
- package/assets/esri/core/workers/chunks/bcb06a0643b4c83535ee.js +1 -0
- package/assets/esri/core/workers/chunks/{066b7f6866d602f963e0.js → c3008b20cb5fd38bd900.js} +1 -1
- package/assets/esri/core/workers/chunks/{22e85819e23202a8ba90.js → c39ebd8d469f1e8bb61e.js} +1 -1
- package/assets/esri/core/workers/chunks/{7f2ac03efaa4a4898ba2.js → c3b96d1d43afccd23e45.js} +2 -2
- package/assets/esri/core/workers/chunks/{cb983f65995e57fff7a1.js → c44cbe04efddbbbaec13.js} +1 -1
- package/assets/esri/core/workers/chunks/{8ce14dd209462f88b163.js → c70a32ac0fa49f4493ca.js} +1 -1
- package/assets/esri/core/workers/chunks/ce08e3369641da0d7a27.js +2 -0
- package/assets/esri/core/workers/chunks/d1b5be1aeab16d36d4b1.js +1 -0
- package/assets/esri/core/workers/chunks/{da6583e8d88441a1c02a.js → d38252956c3d9e2168f7.js} +1 -1
- package/assets/esri/core/workers/chunks/{1742dbc6a827cfda471b.js → d3d48401462ef3bf0ad9.js} +1 -1
- package/assets/esri/core/workers/chunks/d9b761104ab6e4acaf91.js +1 -0
- package/assets/esri/core/workers/chunks/{723478607badcde5706b.js → d9d5f50af047ee7af129.js} +87 -86
- package/assets/esri/core/workers/chunks/{354912041363502c6a89.js → da161f8cbe1cfc5fcf7c.js} +1 -1
- package/assets/esri/core/workers/chunks/{862e1acd80c4e43831dc.js → dc923e50958b68a50014.js} +1 -1
- package/assets/esri/core/workers/chunks/e86f83a6514a35255f64.js +1 -0
- package/assets/esri/core/workers/chunks/ea49721fdd2172d1c799.js +1 -0
- package/assets/esri/core/workers/chunks/{98a5327fd96d9542b39f.js → f90cad9f007a11154c0d.js} +1 -1
- package/assets/esri/core/workers/chunks/{f18ee2eaa96d103627a6.js → fa3f824c874f29d24953.js} +1 -1
- package/assets/esri/core/workers/chunks/fbb390c0d92d1536fce3.js +1 -0
- package/assets/esri/core/workers/chunks/fbc5f275c4e5e6bfffaa.js +1 -0
- package/assets/esri/core/workers/chunks/{6ab7bb3834841834f839.js → fd5e61cb6f936eadcfe3.js} +1 -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/basemaps/BasemapCollection.d.ts +148 -0
- package/basemaps/BasemapCollection.js +2 -0
- package/basemaps/BasemapsSource.d.ts +39 -0
- package/basemaps/BasemapsSource.js +2 -0
- package/basemaps/LocalBasemapsSource.d.ts +55 -0
- package/basemaps/LocalBasemapsSource.js +2 -0
- package/basemaps/PortalBasemapsSource.d.ts +98 -0
- package/basemaps/PortalBasemapsSource.js +2 -0
- package/basemaps/support/BasemapItem.d.ts +74 -0
- package/basemaps/support/BasemapItem.js +2 -0
- package/basemaps/support/basemapCompatibilityUtils.js +2 -0
- package/basemaps/types.d.ts +42 -0
- package/chunks/CheckerBoard.glsl.js +1 -1
- package/chunks/ColorMaterial.glsl.js +1 -1
- package/chunks/Component.glsl.js +11 -11
- package/chunks/DeepSky.glsl.js +1 -1
- package/chunks/DefaultMaterial.glsl.js +4 -4
- package/chunks/EdgeShader.glsl.js +1 -1
- package/chunks/FocusArea.glsl.js +1 -1
- package/chunks/GaussianSplat.glsl.js +9 -9
- package/chunks/HUDMaterial.glsl.js +1 -1
- package/chunks/ImageMaterial.glsl.js +1 -1
- package/chunks/LineCallout.glsl.js +1 -1
- package/chunks/LineMarker.glsl.js +97 -89
- package/chunks/NativeLine.glsl.js +1 -1
- package/chunks/Path.glsl.js +8 -7
- package/chunks/Pattern.glsl.js +1 -1
- package/chunks/PointRenderer.glsl.js +1 -1
- package/chunks/RealisticTree.glsl.js +4 -4
- package/chunks/RibbonLine.glsl.js +58 -56
- package/chunks/ShadowCastAccumulate.glsl.js +3 -3
- package/chunks/ShadowHighlight.glsl.js +4 -4
- package/chunks/ShadowHighlightBuffer.glsl.js +3 -3
- package/chunks/Terrain.glsl.js +12 -14
- package/chunks/Viewshed.glsl.js +1 -1
- package/chunks/Water.glsl.js +3 -3
- package/chunks/languageUtils.js +1 -1
- package/config.js +1 -1
- package/core/Accessor.d.ts +10 -0
- package/kernel.js +1 -1
- package/layers/CSVLayer.js +1 -1
- package/layers/GeoJSONLayer.d.ts +1 -1
- package/layers/GeoJSONLayer.js +1 -1
- package/layers/OGCFeatureLayer.js +1 -1
- package/layers/StreamLayer.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/mixins/FeatureLayerBase.js +1 -1
- package/layers/support/LabelClass.d.ts +13 -4
- package/layers/support/LabelClass.js +1 -1
- package/layers/support/commonProperties.js +1 -1
- package/legend/ActiveLayerInfo.d.ts +130 -0
- package/legend/ActiveLayerInfo.js +2 -0
- package/legend/LegendContent.d.ts +118 -0
- package/legend/LegendContent.js +2 -0
- package/legend/support/clusterUtils.js +2 -0
- package/legend/support/colorRampUtils.js +2 -0
- package/legend/support/heatmapRampUtils.js +2 -0
- package/legend/support/relationshipRampUtils.js +2 -0
- package/legend/support/sizeRampUtils.js +2 -0
- package/legend/support/utils.js +2 -0
- package/legend/types.d.ts +403 -0
- package/libs/i3s/I3SModule.js +1 -1
- package/package.json +5 -5
- package/support/revision.js +1 -1
- package/support/userTypeGuards/isBasemapsSource.js +2 -0
- package/symbols/cim/CIMOperators.js +1 -1
- package/symbols/cim/callouts/effects/BackgroundCallout.js +2 -0
- package/symbols/cim/callouts/effects/BalloonCallout.js +2 -0
- package/symbols/cim/callouts/effects/PointSymbolCallout.js +2 -0
- package/symbols/cim/callouts/effects/SimpleLineCallout.js +2 -0
- package/symbols/cim/callouts/effects/calloutUtils.js +2 -0
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/utils.js +1 -1
- package/symbols/support/typeUtils.js +1 -1
- package/views/2d/LabelManager.js +1 -1
- package/views/2d/engine/AFeatureContainer.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/SymbolRepository.js +1 -1
- package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
- package/views/2d/engine/webgl/FeatureTile.js +1 -1
- package/views/2d/engine/webgl/GlyphWorker.js +1 -1
- package/views/2d/engine/webgl/TileCpuState.js +1 -1
- package/views/2d/engine/webgl/TileGpuState.js +1 -1
- package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
- package/views/2d/engine/webgl/collisions/LabelStore.js +2 -0
- package/views/2d/engine/webgl/cpuMapped/CpuBuffer.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/CpuMeshData.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/GpuMeshState.js +1 -1
- package/views/2d/engine/webgl/definitions.js +1 -1
- package/views/2d/engine/webgl/mesh/MeshData.js +1 -1
- package/views/2d/engine/webgl/mesh/MultiTileMeshData.js +1 -1
- package/views/2d/engine/webgl/mesh/factories/CalloutMeshWriterCoordinator.js +2 -0
- package/views/2d/engine/webgl/mesh/factories/FeatureMeshFactory.js +1 -1
- package/views/2d/engine/webgl/mesh/factories/MeshWriterGroupCoordinator.js +2 -0
- package/views/2d/engine/webgl/mesh/templates/segmentUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/graph/glsl.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/GraphicInstanceStore.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueInstance.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TestDisplayObject.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/AFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/CalloutMeshWriterPolicy.js +2 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterReferences.js +2 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterVertexPack.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/dataViewUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/constants.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/engine/webgl/util/AnnotationMatcher.js +1 -1
- package/views/2d/engine/webgl/util/DimensionMatcher.js +1 -1
- package/views/2d/engine/webgl/util/IntervalMatcher.js +1 -1
- package/views/2d/engine/webgl/util/LabelMatcher.js +1 -1
- package/views/2d/engine/webgl/util/MapMatcher.js +1 -1
- package/views/2d/engine/webgl/util/Matcher.js +1 -1
- package/views/2d/engine/webgl/util/MatcherContext.js +1 -1
- package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
- package/views/2d/layers/features/RenderState.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
- package/views/2d/layers/features/support/GraphicsReader.js +1 -1
- package/views/2d/layers/graphics/AGraphicContainer.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/layers/support/annodime/MatcherGeometryOverride.js +1 -1
- package/views/2d/layers/support/annodime/PrivateMatcherGeometryOverrideEffect.js +1 -1
- package/views/2d/layers/support/annodime/annotationGraphic.js +1 -1
- package/views/2d/layers/support/annodime/cimAnnotations.js +1 -1
- package/views/2d/layers/support/annodime/debugUtils.js +1 -1
- package/views/2d/layers/support/annodime/virtualFields.js +1 -1
- package/views/3d/input/SceneInputManager.js +1 -1
- package/views/3d/input/handlers/ground/GroundDoubleClickMove.js +2 -0
- package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
- package/views/3d/layers/SceneLayerWorker.js +1 -1
- package/views/3d/support/MemoryController.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +1 -3
- package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +8 -8
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/forwardLinearDepthToReadShadow.glsl.js +4 -0
- package/views/3d/webgl-engine/core/shaderLibrary/{ForwardLinearDepthToWriteShadowMap.glsl.js → forwardLinearDepthToWriteShadow.glsl.js} +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js +3 -4
- package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/readFragmentShadow.glsl.js +5 -0
- package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +24 -0
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +1 -1
- 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/focusArea/FocusArea.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.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/highlight/ShadowHighlightTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/LineMaterial.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/materials/DrawParameters.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineTechniqueConfiguration.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/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/{AnimatedLine.glsl.js → animatedAlpha.glsl.js} +11 -17
- package/views/ToolViewManager.js +1 -1
- package/views/VideoView.js +1 -1
- package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +3 -0
- package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +3 -0
- package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +2 -0
- package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -0
- package/widgets/BasemapGallery/types.d.ts +6 -1
- package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +2 -0
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/EditorViewModel.d.ts +2 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/legacy/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor.d.ts +2 -1
- package/widgets/Editor.js +1 -1
- package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.d.ts +1 -0
- package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.js +1 -1
- package/widgets/HistogramRangeSlider.js +1 -1
- package/widgets/Legend/LegendViewModel.d.ts +1 -0
- package/widgets/Legend/LegendViewModel.js +1 -1
- package/widgets/Legend/styles/card/CardView.d.ts +1 -0
- package/widgets/Legend/styles/card/CardView.js +1 -1
- package/widgets/Legend/styles/classic/ClassicView.d.ts +1 -0
- package/widgets/Legend/styles/classic/ClassicView.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.d.ts +2 -0
- package/widgets/Legend.js +1 -1
- package/assets/esri/core/workers/chunks/03918a862455191a8910.js +0 -1
- package/assets/esri/core/workers/chunks/1630913399384030d0b9.js +0 -1
- package/assets/esri/core/workers/chunks/1a39335aa2dce6d564d9.js +0 -1
- package/assets/esri/core/workers/chunks/25bb07d3c32b16a08813.js +0 -1
- package/assets/esri/core/workers/chunks/25cc6d7178a52f2f46b7.js +0 -1
- package/assets/esri/core/workers/chunks/2e999b05ce179dd9fa08.js +0 -1
- package/assets/esri/core/workers/chunks/36792b8a85e88044cb49.js +0 -1
- package/assets/esri/core/workers/chunks/3acc1299c1382c3b034d.js +0 -1
- package/assets/esri/core/workers/chunks/430802108b63194b7ddd.js +0 -2
- package/assets/esri/core/workers/chunks/4396ef5ab3eb9e9a7df2.js +0 -1
- package/assets/esri/core/workers/chunks/4efe5827a5c61db3b19d.js +0 -2
- package/assets/esri/core/workers/chunks/5938d5f6e37f49867d5a.js +0 -1
- package/assets/esri/core/workers/chunks/70347d25968975126fa7.js +0 -1
- package/assets/esri/core/workers/chunks/8628c027198982baed7c.js +0 -1
- package/assets/esri/core/workers/chunks/8c521caf050a486b6548.js +0 -1
- package/assets/esri/core/workers/chunks/a6d4132a16c51323a38a.js +0 -1
- package/assets/esri/core/workers/chunks/add834f867900a7091d2.js +0 -1
- package/assets/esri/core/workers/chunks/b56c5883a5468b18b122.js +0 -1
- package/assets/esri/core/workers/chunks/b5a102cf9f4377fb9842.js +0 -1
- package/assets/esri/core/workers/chunks/b6409d89914030d5854a.js +0 -1
- package/assets/esri/core/workers/chunks/c118b88a7c4359e68d9b.js +0 -1
- package/assets/esri/core/workers/chunks/c5e288d57bacb8451e2d.js +0 -2
- package/assets/esri/core/workers/chunks/ce3fb992f6c6ae7378a3.js +0 -1
- package/assets/esri/core/workers/chunks/ceda1e08c9ff26248db0.js +0 -1
- package/assets/esri/core/workers/chunks/d5e3f8e5b8d2576d3cb3.js +0 -2
- package/assets/esri/core/workers/chunks/ddb5d29a8998d0a76fd4.js +0 -1
- package/assets/esri/core/workers/chunks/de8a3a0796bd115426c0.js +0 -1
- package/assets/esri/core/workers/chunks/e707534a700a2de687ca.js +0 -1
- package/assets/esri/core/workers/chunks/f465fb26541372fdc908.js +0 -2
- package/assets/esri/core/workers/chunks/f5423006fb07db7dd6ee.js +0 -1
- package/assets/esri/core/workers/chunks/fdad31bbe8aee68a6eaf.js +0 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToReadShadowMap.glsl.js +0 -4
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +0 -18
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ShadowmapFiltering.glsl.js +0 -4
- /package/assets/esri/core/workers/chunks/{430802108b63194b7ddd.js.LICENSE.txt → 033debcbf6b3683dc4fe.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{4efe5827a5c61db3b19d.js.LICENSE.txt → 064445e6f9512817ac87.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{c5e288d57bacb8451e2d.js.LICENSE.txt → 463d69f596d1d34ef275.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{d5e3f8e5b8d2576d3cb3.js.LICENSE.txt → 58a17fb3c0dd07c63d57.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{7f2ac03efaa4a4898ba2.js.LICENSE.txt → c3b96d1d43afccd23e45.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{f465fb26541372fdc908.js.LICENSE.txt → ce08e3369641da0d7a27.js.LICENSE.txt} +0 -0
package/chunks/Path.glsl.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{
|
|
2
|
+
import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{sliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{PathVertexPosition as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{outputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as l}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as n,addAmbientBoostFactor as s,addLightingGlobalFactor as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{mainLightIntensity as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRenderingParameters as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{readShadowDraw as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{viewNormal as b,nearFar as w}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as f}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as h,addCameraPosition as y}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 j}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as L,If as V}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{SnowCover as P}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as C}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as O}from"../views/webgl/ShaderBuilder.js";function S(S){const A=new O,{vertex:I,fragment:_,varyings:B}=A;h(I,S),B.add("vpos","vec3",{invariant:!0}),A.include(a,S);const{output:D,pbrMode:N,snowCover:k,offsetBackfaces:E}=S,F=11===D;switch((o(D)||F)&&(F?(A.varyings.add("objectAndLayerIdColorVarying","vec4"),A.vertex.code.add(L`void forwardObjectAndLayerIdColor() {
|
|
3
3
|
objectAndLayerIdColorVarying = getOlidColor();
|
|
4
4
|
}`),A.fragment.code.add(L`void outputObjectAndLayerIdColor() {
|
|
5
5
|
fragColor = objectAndLayerIdColorVarying;
|
|
6
|
-
}`)):(A.vertex.code.add(L`void forwardObjectAndLayerIdColor() {}`),A.fragment.code.add(L`void outputObjectAndLayerIdColor() {}`)),A.include(i),A.include(p,S),
|
|
6
|
+
}`)):(A.vertex.code.add(L`void forwardObjectAndLayerIdColor() {}`),A.fragment.code.add(L`void outputObjectAndLayerIdColor() {}`)),A.include(i),A.include(p,S),E&&(y(I,S),A.include(e)),B.add("vnormal","vec3"),B.add("vcolor","vec4"),I.main.add(L`
|
|
7
7
|
ExtrudedVertex extrudedVertex = evaluateVertex();
|
|
8
8
|
vpos = calculateVPos(extrudedVertex);
|
|
9
9
|
vnormal = normalize(localNormal(extrudedVertex));
|
|
10
10
|
gl_Position = transformPosition(proj, view, vpos);
|
|
11
|
-
${V(
|
|
11
|
+
${V(E,"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vnormal, cameraPosition);")}
|
|
12
12
|
|
|
13
13
|
forwardObjectAndLayerIdColor();
|
|
14
14
|
vcolor = getColor();
|
|
15
|
-
|
|
15
|
+
forwardLinearDepthToReadShadow();
|
|
16
|
+
`)),D){case 0:case 1:case 2:A.include(u,S),_.include(n,S),_.include(t,S),A.include(g,S),_.include(v,S),_.include(r,S),A.include(C,S),y(_,S),s(_),c(_),_.uniforms.add(I.uniforms.get("localOrigin"),new x("ambient",e=>e.ambient),new x("diffuse",e=>e.diffuse),new j("opacity",e=>e.opacity)),_.include(f),_.include(P,S),_.uniforms.add(m).main.add(L`
|
|
16
17
|
discardBySlice(vpos);
|
|
17
18
|
|
|
18
19
|
vec3 viewDirection = normalize(vpos - cameraPosition);
|
|
@@ -23,7 +24,7 @@ fragColor = objectAndLayerIdColorVarying;
|
|
|
23
24
|
vec3 albedo = vcolor.rgb * max(ambient, diffuse); // combine the old material parameters into a single one
|
|
24
25
|
float combinedOpacity = vcolor.a * opacity;
|
|
25
26
|
|
|
26
|
-
${V(
|
|
27
|
+
${V(k,L`float snow = getSnow(normal, upNormal);
|
|
27
28
|
albedo = mix(albedo, vec3(1), snow);
|
|
28
29
|
ssao = mix(ssao, 1.0, snow);`)}
|
|
29
30
|
|
|
@@ -32,10 +33,10 @@ fragColor = objectAndLayerIdColorVarying;
|
|
|
32
33
|
vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
|
|
33
34
|
float shadow = readShadow(additionalAmbientScale, vpos);
|
|
34
35
|
|
|
35
|
-
${V(2===
|
|
36
|
+
${V(2===N&&k,"applySnowToMRR(snow);")}
|
|
36
37
|
vec3 shadedColor = evaluateSceneLighting(normal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, upNormal);
|
|
37
38
|
vec4 finalColor = vec4(shadedColor, combinedOpacity);
|
|
38
|
-
outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${V(
|
|
39
|
+
outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${V(k,", snow")});`);break;case 3:A.include(i),I.main.add(L`ExtrudedVertex extrudedVertex = evaluateVertex();
|
|
39
40
|
vpos = calculateVPos(extrudedVertex);
|
|
40
41
|
gl_Position = transformPosition(proj, view, vpos);`),A.fragment.include(r,S),_.main.add(L`discardBySlice(vpos);`);break;case 5:case 6:case 7:case 8:A.include(i),B.add("depth","float"),I.uniforms.add(w).main.add(L`ExtrudedVertex extrudedVertex = evaluateVertex();
|
|
41
42
|
vpos = calculateVPos(extrudedVertex);
|
package/chunks/Pattern.glsl.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{sliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as o}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as t}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 a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as l,addCameraPosition as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as s,If as v}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as p}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as u}from"../views/3d/webgl-engine/shaders/PatternTextureBuffer.glsl.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";const f=.70710678118,g=f,w=.08715574274,b=10,h=1;function x(x){const S=new m,{vertex:j,fragment:C,attributes:V,varyings:T}=S,P=u(x),$=P?.createBuilder(S,x),R=null!=$,A=10===x.output;l(j,x),S.include(o);let L="";R?(x.hasVVColor&&(L=$.getTextureAttribute("colorFeatureAttribute")),x.hasVertexColors?(S.varyings.add("vColor","vec4"),S.vertex.code.add(s`void forwardVertexColor() { vColor = ${$.getTextureAttribute("color")}; }`)):S.vertex.code.add(s`void forwardVertexColor() {}`),V.add("textureElementIndex","uint")):(S.include(r,x),x.hasVVColor&&(V.add("colorFeatureAttribute","float"),L="colorFeatureAttribute")),V.add("position","vec3"),j.inputs.add("position",()=>"position"),S.include(a,x),S.include(t,x),C.include(e,x),S.include(p,x),x.draped&&j.uniforms.add(new d("worldToScreenRatio",e=>1/e.screenToPCSRatio)),V.add("uvMapSpace","vec4"),x.hasVertexColors||T.add("vColor","vec4"),T.add("vpos","vec3",{invariant:!0}),T.add("vuv","vec2"),j.uniforms.add(new c("uColor",e=>e.color));const D=3===x.style||4===x.style||5===x.style;return D&&j.code.add(s`
|
|
3
3
|
const mat2 rotate45 = mat2(${s.float(f)}, ${s.float(-g)},
|
|
4
4
|
${s.float(g)}, ${s.float(f)});
|
|
5
5
|
`),!x.draped&&R&&(n(j,x),j.uniforms.add(new d("worldToScreenPerDistanceRatio",e=>1/e.camera.perScreenPixelRatio)),j.code.add(s`vec3 projectPointToLineSegment(vec3 center, vec3 halfVector, vec3 point) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{numberMaxFloat32 as e}from"../core/mathUtils.js";import{multiply as i,fromTranslation as o}from"../core/libs/gl-matrix-2/math/mat4.js";import{create as r}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as t}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as s}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{set as a}from"../core/libs/gl-matrix-2/math/vec3.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as c,positiveInfinity as l}from"../geometry/support/aaBoundingBox.js";import{isColor as p}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePlaneParameters as m,
|
|
2
|
+
import{numberMaxFloat32 as e}from"../core/mathUtils.js";import{multiply as i,fromTranslation as o}from"../core/libs/gl-matrix-2/math/mat4.js";import{create as r}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as t}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as s}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{set as a}from"../core/libs/gl-matrix-2/math/vec3.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as c,positiveInfinity as l}from"../geometry/support/aaBoundingBox.js";import{isColor as p}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePlaneParameters as m,rejectBySliceDraw as d}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{OutputHighlight as f}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{positionOutsideClipSpace as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{projMatrix as u}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{Float2DrawUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Float2DrawUniform.js";import{Float2PassUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3DrawUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float3DrawUniform.js";import{glsl as v,If as w}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4DrawUniform as z}from"../views/3d/webgl-engine/core/shaderModules/Matrix4DrawUniform.js";import{NoParameters as b}from"../views/webgl/NoParameters.js";import{ShaderBuilder as M}from"../views/webgl/ShaderBuilder.js";class P extends b{constructor(){super(...arguments),this.clipBox=c(l),this.useFixedSizes=!1,this.useRealWorldSymbolSizes=!1,this.scaleFactor=1,this.minSizePx=0,this.size=0,this.sizePx=0}get fixedSize(){return this.drawScreenSpace?this.sizePx:this.size}get screenMinSize(){return this.useFixedSizes?0:this.minSizePx}get drawScreenSpace(){return this.useFixedSizes&&!this.useRealWorldSymbolSizes}}class j extends m{constructor(e,i,o){super(e),this.origin=e,this.isLeaf=i,this.splatSize=o}}function y(r){const s=new M,n=p(r.output),{attributes:c,vertex:l,fragment:m}=s;return c.add("position","vec3"),c.add("color","vec3"),l.include(d,r),l.uniforms.add(new z("modelView",(e,r)=>i(R,r.camera.viewMatrix,o(R,e.origin))),u,new S("screenMinMaxSize",(e,i,o)=>t(_,o.useFixedSizes?0:o.minSizePx*i.camera.pixelRatio,O(e.isLeaf)*i.camera.pixelRatio)),r.useFixedSizes?new x("pointScale",(e,i)=>t(_,e.fixedSize*i.camera.pixelRatio,i.camera.fullHeight)):new S("pointScale",(e,i,o)=>t(_,e.splatSize*o.scaleFactor*i.camera.pixelRatio,i.camera.fullHeight/i.camera.pixelRatio))),r.clippingEnabled?l.uniforms.add(new h("clipMin",(e,i,o)=>a(B,o.clipBox[0]-e.origin[0],o.clipBox[1]-e.origin[1],o.clipBox[2]-e.origin[2])),new h("clipMax",(e,i,o)=>a(B,o.clipBox[3]-e.origin[0],o.clipBox[4]-e.origin[1],o.clipBox[5]-e.origin[2]))):(l.constants.add("clipMin","vec3",[-e,-e,-e]),l.constants.add("clipMax","vec3",[e,e,e])),n&&s.varyings.add("vColor","vec3"),l.main.add(v`
|
|
3
3
|
// Move clipped points outside of clipspace
|
|
4
4
|
if (position.x < clipMin.x || position.y < clipMin.y || position.z < clipMin.z ||
|
|
5
5
|
position.x > clipMax.x || position.y > clipMax.y || position.z > clipMax.z) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{
|
|
2
|
+
import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{sliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as o}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{TextureCoordinateAttribute as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VerticalOffset as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as n}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{DefaultMaterialExternalColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js";import{EvaluateAmbientOcclusion as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as g,addAmbientBoostFactor as m,addLightingGlobalFactor as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{mainLightDirection as u,mainLightIntensity as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{NormalUtils as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRendering as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{readShadowPass as h,readShadowDraw as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{colorTextureUV as L,emissiveTextureUV as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as C}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{addProjViewLocalOrigin as O,addCameraPosition as P}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{If as N,glsl as D}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 M}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as V}from"../views/webgl/ShaderBuilder.js";function F(F){const B=new V,{attributes:R,vertex:$,fragment:U,varyings:E}=B,{output:I,offsetBackfaces:_,pbrMode:k,snowCover:z}=F,W=1===k||2===k;if(O($,F),R.add("position","vec3"),$.inputs.add("position",()=>"position"),E.add("vpos","vec3",{invariant:!0}),B.include(x,F),B.include(a,F),B.include(t,F),B.include(L,F),!i(I))return B.include(n,F),B;B.include(j,F),P(B.vertex,F),B.include(l,F),B.include(o),_&&B.include(e),E.add("vNormalWorld","vec3"),E.add("localvpos","vec3",{invariant:!0}),B.include(s,F),B.include(d,F),B.include(F.instancedDoublePrecision?h:y,F),$.main.add(D`
|
|
3
3
|
forwardDefaultMaterialExternalColor();
|
|
4
4
|
|
|
5
5
|
vpos = getVertexInLocalOriginSpace();
|
|
@@ -13,11 +13,11 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
|
|
|
13
13
|
forwardTextureCoordinates();
|
|
14
14
|
forwardColorUV();
|
|
15
15
|
forwardEmissiveUV();
|
|
16
|
-
|
|
16
|
+
forwardLinearDepthToReadShadow();
|
|
17
17
|
|
|
18
18
|
gl_Position = shouldCullByOpacity() ? vec4(1e38, 1e38, 1e38, 1.0) :
|
|
19
19
|
${N(_,"offsetBackfacingClipPosition(basePosition, vpos, vNormalWorld, cameraPosition);","basePosition;")}
|
|
20
|
-
`);const{hasColorTexture:H,hasColorTextureTransform:G}=F;return U.include(g,F),U.include(c,F),
|
|
20
|
+
`);const{hasColorTexture:H,hasColorTextureTransform:G}=F;return U.include(g,F),U.include(c,F),B.include(C,F),U.include(r,F),B.include(T,F),P(U,F),m(U),v(U),U.uniforms.add(u,$.uniforms.get("localOrigin"),$.uniforms.get("view"),new S("ambient",e=>e.ambient),new S("diffuse",e=>e.diffuse)),H&&U.uniforms.add(new A("tex",e=>e.texture)),B.include(p,F),U.include(f,F),U.include(M,F),U.include(b,F),U.uniforms.add(w).main.add(D`
|
|
21
21
|
discardBySlice(vpos);
|
|
22
22
|
vec4 texColor = ${H?`texture(tex, ${G?"colorUV":"vuv0"})`:" vec4(1.0)"};
|
|
23
23
|
${N(H,`${N(F.textureAlphaPremultiplied,"texColor.rgb /= texColor.a;")}\n discardOrAdjustAlpha(texColor);`)}
|
|
@@ -56,4 +56,4 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
|
|
|
56
56
|
vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, upNormal);
|
|
57
57
|
vec4 finalColor = vec4(shadedColor, opacity_);
|
|
58
58
|
outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${N(z,", 1.0")});
|
|
59
|
-
`),
|
|
59
|
+
`),B}const B=Object.freeze(Object.defineProperty({__proto__:null,build:F},Symbol.toStringTag,{value:"Module"}));export{B as R,F as b};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{sliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{EvaluateAmbientOcclusion as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{LineStipple as r,computePixelSize as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{mainLightIntensity as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{MarkerSizing as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{NormalUtils as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PiUtils as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{readFragmentShadow as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readFragmentShadow.glsl.js";import{inverseProjectionMatrix as m,nearFar as g,viewport as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as f,NoPerspectiveRead as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as u,addPixelRatio as x,addCameraPosition as D}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{FloatBindUniform as L}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as w}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as y,If as C}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{alphaCutoff as P}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{animatedAlpha as F}from"../views/3d/webgl-engine/shaders/animatedAlpha.glsl.js";import{outputColorHighlightOLID as z}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as j}from"../views/3d/webgl-engine/shaders/RibbonLineTextureBuffer.glsl.js";import{ShaderBuilder as A}from"../views/webgl/ShaderBuilder.js";const W=1;function T(W){const T=new A,{attributes:I,varyings:R,vertex:V,fragment:O}=T,{applyMarkerOffset:E,draped:N,shadingEnabled:$,output:J,capType:_,stippleEnabled:U,falloffEnabled:H,wireframe:M,innerColorEnabled:B,hasAnimation:k,hasScreenSizePerspective:G,worldSized:X,imagePattern:Y}=W,Z=2===_,q=U&&Z,K=H||q,Q=U||Z,ee=j(W).createBuilder(T,W);V.inputs.add("position",()=>ee.getTextureAttribute("position")),W.hasVVSize?V.inputs.add("sizeFeatureAttribute",()=>ee.getTextureAttribute("sizeFeatureAttribute")):V.inputs.add("size",()=>ee.getTextureAttribute("size")),W.hasVVOpacity&&V.inputs.add("opacityFeatureAttribute",()=>ee.getTextureAttribute("opacityFeatureAttribute")),W.hasVVColor?V.inputs.add("colorFeatureAttribute",()=>ee.getTextureAttribute("colorFeatureAttribute")):V.inputs.add("color",()=>ee.getTextureAttribute("color")),O.include(d),T.include(t,W),T.include(r,W),11===J?(T.varyings.add("objectAndLayerIdColorVarying","vec4"),V.code.add(y`
|
|
3
3
|
vec4 getOlidColor() {
|
|
4
|
-
return ${
|
|
4
|
+
return ${ee.getTextureAttribute("olidColor")};
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
void forwardObjectAndLayerIdColor() {
|
|
8
8
|
objectAndLayerIdColorVarying = getOlidColor();
|
|
9
9
|
}
|
|
10
|
-
`),
|
|
10
|
+
`),O.code.add(y`void outputObjectAndLayerIdColor() {
|
|
11
11
|
fragColor = objectAndLayerIdColorVarying;
|
|
12
|
-
}`)):(
|
|
12
|
+
}`)):(V.code.add(y`void forwardObjectAndLayerIdColor() {}`),O.code.add(y`void outputObjectAndLayerIdColor() {}`));const te=E&&!N;return te&&T.include(s,W),u(V,W),N&&(X||U)&&V.uniforms.add(new L("worldToScreenRatio",e=>1/e.screenToPCSRatio)),V.uniforms.add(m,g,v,new w("miterLimit",e=>"miter"!==e.join?0:e.miterLimit)),V.constants.add("LARGE_HALF_FLOAT","float",65500),V.constants.add("EPS","float",.001),V.constants.add("NUM_JOIN_SUBDIVISIONS","float",W.numJoinSubdivisions),I.add("textureElementIndex","uint"),I.add("lineParameters","vec2"),R.add("vColor","vec4"),R.add("vpos","vec3",{invariant:!0}),R.add("vLineDistance","float"),R.add("vLineWidth","float"),U||(R.add("vIsInsideJoin","int"),R.add("vStretchFactor","float"),R.add("vJoinCenterLineSDFs","vec2"),R.add("vSubdivisionFactor","float")),U&&R.add("vLineSizeInv","float"),K&&R.add("vLineDistanceNorm","float"),Z&&(R.add("vSegmentSDF","float"),R.add("vReverseSegmentSDF","float")),V.code.add(y`vec3 perpendicular(vec3 v) {
|
|
13
13
|
return vec3(v.y, -v.x, 0.0);
|
|
14
14
|
}
|
|
15
15
|
float nearPlaneInterpolationFactor(float nearPlaneDistance, vec4 start, vec4 end) {
|
|
@@ -20,12 +20,12 @@ float s = sin(a);
|
|
|
20
20
|
float c = cos(a);
|
|
21
21
|
mat2 m = mat2(c, -s, s, c);
|
|
22
22
|
return vec3(m * v.xy, v.z);
|
|
23
|
-
}`),
|
|
23
|
+
}`),V.code.add(y`vec4 projectAndScale(vec4 pos) {
|
|
24
24
|
vec4 posNdc = proj * pos;
|
|
25
25
|
posNdc.xy *= viewport.zw / posNdc.w;
|
|
26
26
|
posNdc.z /= posNdc.w;
|
|
27
27
|
return posNdc;
|
|
28
|
-
}`),
|
|
28
|
+
}`),V.code.add(y`void clip(
|
|
29
29
|
inout vec4 pos,
|
|
30
30
|
inout vec4 prev,
|
|
31
31
|
inout vec4 next,
|
|
@@ -56,20 +56,20 @@ if (next.z > -nearFar[0]) {
|
|
|
56
56
|
next = mix(next, pos, nearPlaneInterpolationFactor(adjustedNearPlaneDistance, next, pos));
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
}`),
|
|
60
|
-
vec3 position = ${
|
|
61
|
-
float u0 = ${
|
|
62
|
-
${
|
|
63
|
-
float prevU0 = ${
|
|
64
|
-
float nextU0 = ${
|
|
59
|
+
}`),x(V),V.constants.add("aaWidth","float",U?0:1),V.main.add(y`
|
|
60
|
+
vec3 position = ${ee.getTextureAttribute("position")};
|
|
61
|
+
float u0 = ${ee.getTextureAttribute("u0")};
|
|
62
|
+
${C(X,y`
|
|
63
|
+
float prevU0 = ${ee.getTextureAttribute("u0",-1)};
|
|
64
|
+
float nextU0 = ${ee.getTextureAttribute("u0",1)};
|
|
65
65
|
`)}
|
|
66
66
|
|
|
67
67
|
// unpack values from vertex type
|
|
68
68
|
float vertexType = abs(lineParameters.y);
|
|
69
69
|
float lineSide = sign(lineParameters.y);
|
|
70
70
|
bool isStartVertex = vertexType == 2.0 || vertexType == 4.0;
|
|
71
|
-
vec3 prevPosition = ${
|
|
72
|
-
vec3 nextPosition = ${
|
|
71
|
+
vec3 prevPosition = ${ee.getTextureAttribute("position",-1)};
|
|
72
|
+
vec3 nextPosition = ${ee.getTextureAttribute("position",1)};
|
|
73
73
|
|
|
74
74
|
float coverage = 1.0;
|
|
75
75
|
|
|
@@ -84,11 +84,11 @@ next = mix(next, pos, nearPlaneInterpolationFactor(adjustedNearPlaneDistance, ne
|
|
|
84
84
|
vec4 next = view * vec4(nextPosition, 1.0);
|
|
85
85
|
|
|
86
86
|
bool isJoin = vertexType < 3.0;
|
|
87
|
-
`),te&&
|
|
87
|
+
`),te&&V.main.add(y`vec4 other = isStartVertex ? next : prev;
|
|
88
88
|
bool markersHidden = areWorldMarkersHidden(pos.xyz, other.xyz);
|
|
89
89
|
if (!isJoin && !markersHidden) {
|
|
90
90
|
pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
91
|
-
}`),
|
|
91
|
+
}`),T.include(f),V.code.add(y`
|
|
92
92
|
vec2 computeJoinAndCapDisplacement(
|
|
93
93
|
bool isJoin,
|
|
94
94
|
bool isStartVertex,
|
|
@@ -133,7 +133,7 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
${
|
|
136
|
+
${C(!U,y`
|
|
137
137
|
// Compute stretch compensation for feathering.
|
|
138
138
|
if (subdivisionFactor > 0.0) {
|
|
139
139
|
vIsInsideJoin = 1;
|
|
@@ -168,10 +168,10 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
168
168
|
`)}
|
|
169
169
|
|
|
170
170
|
if (isOutside && displacementLen > miterLimit * lineWidth) {
|
|
171
|
-
${
|
|
171
|
+
${C(W.roundJoins,y`
|
|
172
172
|
vec3 startDir = perpendicular(leftLen < EPS ? right : left);
|
|
173
173
|
vec3 endDir = perpendicular(rightLen < EPS ? left : right);
|
|
174
|
-
float factor = ${
|
|
174
|
+
float factor = ${U?y`min(1.0, subdivisionFactor * ((NUM_JOIN_SUBDIVISIONS + 1.0) / NUM_JOIN_SUBDIVISIONS))`:y`subdivisionFactor`};
|
|
175
175
|
|
|
176
176
|
float rotationAngle = acos(clamp(dot(startDir.xy, endDir.xy), -1.0, 1.0));
|
|
177
177
|
joinDisplacementDir = rotateZ(startDir, -lineSide * factor * rotationAngle);
|
|
@@ -187,18 +187,18 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
187
187
|
vec3 startDir = perpendicular(leftLen < EPS ? right : left);
|
|
188
188
|
vec3 endDir = perpendicular(rightLen < EPS ? left : right);
|
|
189
189
|
|
|
190
|
-
${
|
|
190
|
+
${C(U,y`joinDisplacementDir = (isStartVertex || subdivisionFactor > 0.0) ? endDir : startDir;`,y`joinDisplacementDir = mix(startDir, endDir, subdivisionFactor);`)}
|
|
191
191
|
`)}
|
|
192
192
|
displacementLen = lineWidth;
|
|
193
193
|
}
|
|
194
194
|
} else {
|
|
195
195
|
joinDisplacementDir = perpendicular(isStartVertex ? right : left);
|
|
196
|
-
${0!==
|
|
196
|
+
${0!==_?y`capDisplacementDir = vec3((isStartVertex ? -right : left).xy, 0.0);`:""}
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
return (joinDisplacementDir.xy * lineSide + capDisplacementDir.xy) * displacementLen;
|
|
200
200
|
}
|
|
201
|
-
`),
|
|
201
|
+
`),V.main.add(y`
|
|
202
202
|
clip(pos, prev, next, isStartVertex);
|
|
203
203
|
|
|
204
204
|
vec3 clippedPos = pos.xyz;
|
|
@@ -211,11 +211,11 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
211
211
|
vec3 left = (pos.xyz - prev.xyz);
|
|
212
212
|
vec3 right = (next.xyz - pos.xyz);
|
|
213
213
|
|
|
214
|
-
float lineSize = getSize(${
|
|
215
|
-
${
|
|
216
|
-
${
|
|
214
|
+
float lineSize = getSize(${C(G,"clippedPos")});
|
|
215
|
+
${C(U&&G,"float patternLineSize = getSize(clippedCenter);")}
|
|
216
|
+
${C(U&&!G,"float patternLineSize = lineSize;")}
|
|
217
217
|
|
|
218
|
-
${
|
|
218
|
+
${C(X,y`
|
|
219
219
|
float lineSizeScreen = lineSize * worldToScreenRatio;
|
|
220
220
|
if (lineSizeScreen < 1.0) {
|
|
221
221
|
coverage = lineSizeScreen;
|
|
@@ -235,14 +235,14 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
235
235
|
`)}
|
|
236
236
|
|
|
237
237
|
vLineWidth = noPerspectiveWrite(lineWidth, pos.w);
|
|
238
|
-
${
|
|
239
|
-
`),
|
|
238
|
+
${U?y`vLineSizeInv = noPerspectiveWrite(1.0 / lineSize, pos.w);`:""}
|
|
239
|
+
`),Q&&V.main.add(y`
|
|
240
240
|
float isEndVertex = float(!isStartVertex);
|
|
241
241
|
vec3 segmentOrigin = mix(pos.xyz, prev.xyz, isEndVertex);
|
|
242
242
|
vec3 segment = mix(right, left, isEndVertex);
|
|
243
|
-
${
|
|
244
|
-
`),
|
|
245
|
-
${
|
|
243
|
+
${Z?y`vec3 segmentEnd = mix(next.xyz, pos.xyz, isEndVertex);`:""}
|
|
244
|
+
`),V.main.add(y`
|
|
245
|
+
${C(!U,y`
|
|
246
246
|
vIsInsideJoin = 0;
|
|
247
247
|
vStretchFactor = 1.0;
|
|
248
248
|
vSubdivisionFactor = 0.0;
|
|
@@ -273,10 +273,10 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
273
273
|
float lineDistNorm = noPerspectiveWrite(lineSide, pos.w);
|
|
274
274
|
|
|
275
275
|
vLineDistance = lineWidth * lineDistNorm;
|
|
276
|
-
${
|
|
276
|
+
${K?y`vLineDistanceNorm = lineDistNorm;`:""}
|
|
277
277
|
|
|
278
278
|
pos.xyz += displacement;
|
|
279
|
-
`),
|
|
279
|
+
`),U||V.main.add(y`if (isJoin) {
|
|
280
280
|
vec2 joinCenterToVertex = displacementXY;
|
|
281
281
|
vec2 leftCenterlineDir = left.xy;
|
|
282
282
|
vec2 rightCenterlineDir = right.xy;
|
|
@@ -291,30 +291,30 @@ dot(vec2(leftCenterlineDir.y, -leftCenterlineDir.x), joinCenterToVertex)
|
|
|
291
291
|
),
|
|
292
292
|
pos.w
|
|
293
293
|
);
|
|
294
|
-
}`),
|
|
294
|
+
}`),Z&&V.main.add(y`vec2 segmentDir = normalize(segment.xy);
|
|
295
295
|
vSegmentSDF = noPerspectiveWrite((isJoin && isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentOrigin.xy, segmentDir)), pos.w);
|
|
296
|
-
vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),
|
|
297
|
-
float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),
|
|
296
|
+
vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),U&&(N||V.main.add(y`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
|
|
297
|
+
float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),V.main.add(y`
|
|
298
298
|
float segmentLengthScreenDouble = length(segment.xy);
|
|
299
299
|
float segmentLengthScreen = segmentLengthScreenDouble * 0.5;
|
|
300
300
|
float discreteWorldToScreenRatio = discretizeWorldToScreenRatio(worldToScreenRatio);
|
|
301
|
-
float segmentLengthRender = ${
|
|
301
|
+
float segmentLengthRender = ${C(X,y`abs(mix(nextU0 - u0, u0 - prevU0, isEndVertex))`,y`length(mix(nextPosition - position, position - prevPosition, isEndVertex))`)};
|
|
302
302
|
|
|
303
|
-
${
|
|
304
|
-
float segmentStartRender = ${
|
|
303
|
+
${C(!N||X,y`
|
|
304
|
+
float segmentStartRender = ${C(X,y`mix(u0, prevU0, isEndVertex)`,y`mix(u0, u0 - segmentLengthRender, isEndVertex)`)};
|
|
305
305
|
`)}
|
|
306
306
|
|
|
307
307
|
vStipplePatternStretch = worldToScreenRatio / discreteWorldToScreenRatio;
|
|
308
|
-
`),
|
|
309
|
-
float startPseudoScreen = u0 * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):
|
|
310
|
-
float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),
|
|
308
|
+
`),N?V.main.add(y`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteWorldToScreenRatio / worldToScreenRatio;
|
|
309
|
+
float startPseudoScreen = u0 * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):V.main.add(y`float startPseudoScreen = segmentStartRender * discreteWorldToScreenRatio;
|
|
310
|
+
float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),V.uniforms.add(new w("stipplePatternPixelSize",e=>o(e))),V.main.add(y`
|
|
311
311
|
float patternLength = patternLineSize * stipplePatternPixelSize;
|
|
312
312
|
|
|
313
|
-
${
|
|
313
|
+
${C(X,y`
|
|
314
314
|
vStippleDistanceLimits = vec2(segmentStartRender, segmentStartRender + segmentLengthRender);
|
|
315
315
|
vStipplePatternStretch = 1.0;
|
|
316
316
|
|
|
317
|
-
${
|
|
317
|
+
${C(Y,y`
|
|
318
318
|
// The v-coordinate used in case of an image pattern.
|
|
319
319
|
bool isLeft = lineSide < 0.0;
|
|
320
320
|
vStippleV = isLeft ? 0.0 : 1.0;
|
|
@@ -350,7 +350,7 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
|
|
|
350
350
|
isStartVertex ?
|
|
351
351
|
vec2(-1e34, vStippleDistanceLimits.y) :
|
|
352
352
|
vec2(vStippleDistanceLimits.x, 1e34);
|
|
353
|
-
`)),
|
|
353
|
+
`)),V.main.add(y`
|
|
354
354
|
// Convert back into NDC
|
|
355
355
|
pos.xy = (pos.xy / viewport.zw) * pos.w;
|
|
356
356
|
pos.z = pos.z * pos.w;
|
|
@@ -358,13 +358,13 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
|
|
|
358
358
|
vColor = getColor();
|
|
359
359
|
vColor.a = noPerspectiveWrite(vColor.a * coverage, pos.w);
|
|
360
360
|
|
|
361
|
-
${
|
|
361
|
+
${M&&!N?"pos.z -= EPS * pos.w;":""}
|
|
362
362
|
|
|
363
363
|
// transform final position to camera space for slicing
|
|
364
364
|
vpos = (inverseProjectionMatrix * pos).xyz;
|
|
365
365
|
gl_Position = pos;
|
|
366
366
|
forwardObjectAndLayerIdColor();
|
|
367
|
-
}`),
|
|
367
|
+
}`),T.include(z,W),T.include(S),O.include(h),O.include(P),O.include(e,W),O.main.add("discardBySlice(vpos);"),U||O.code.add(y`float lineFeatheringFactor(float lineWidth, float lineDistance) {
|
|
368
368
|
float stretchFactor = vIsInsideJoin == 1 ? noPerspectiveRead(vStretchFactor) : 1.0;
|
|
369
369
|
float featherWidth = 2.0;
|
|
370
370
|
float featherStartDistance = max(lineWidth - featherWidth / stretchFactor, 0.0);
|
|
@@ -376,31 +376,33 @@ float joinCenterDistance = abs(vSubdivisionFactor > 0.5 ? joinCenterSDFs.x : joi
|
|
|
376
376
|
float straightFeather = (joinCenterDistance - straightFeatherStartDistance) / (lineWidth - straightFeatherStartDistance);
|
|
377
377
|
feather = vIsInsideJoin == 1 ? max(feather, straightFeather) : feather;
|
|
378
378
|
return 1.0 - clamp(feather, 0.0, 1.0);
|
|
379
|
-
}`),
|
|
379
|
+
}`),O.main.add(y`
|
|
380
380
|
float lineWidth = noPerspectiveRead(vLineWidth);
|
|
381
381
|
float lineDistance = noPerspectiveRead(vLineDistance);
|
|
382
|
-
${
|
|
383
|
-
`),
|
|
382
|
+
${C(K,y`float lineDistanceNorm = noPerspectiveRead(vLineDistanceNorm);`)}
|
|
383
|
+
`),M?O.main.add(y`vec4 finalColor = vec4(1.0, 0.0, 1.0, 1.0);`):(Z&&O.main.add(y`float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
|
|
384
384
|
vec2 fragmentPosition = vec2(min(sdf, 0.0), lineDistance);
|
|
385
385
|
float fragmentRadius = length(fragmentPosition);
|
|
386
386
|
float fragmentCapSDF = (fragmentRadius - lineWidth) * 0.5;
|
|
387
387
|
float capCoverage = clamp(0.5 - fragmentCapSDF, 0.0, 1.0);
|
|
388
388
|
if (capCoverage < alphaCutoff) {
|
|
389
389
|
discard;
|
|
390
|
-
}`),
|
|
390
|
+
}`),q?O.main.add(y`vec2 stipplePosition = vec2(
|
|
391
391
|
min(getStippleSDF() * 2.0 - 1.0, 0.0),
|
|
392
392
|
lineDistanceNorm
|
|
393
393
|
);
|
|
394
394
|
float stippleRadius = length(stipplePosition * lineWidth);
|
|
395
395
|
float stippleCapSDF = (stippleRadius - lineWidth) * 0.5;
|
|
396
396
|
float stippleCoverage = clamp(0.5 - stippleCapSDF, 0.0, 1.0);
|
|
397
|
-
float stippleAlpha = step(alphaCutoff, stippleCoverage);`):
|
|
398
|
-
color.a = noPerspectiveRead(color.a);`),
|
|
397
|
+
float stippleAlpha = step(alphaCutoff, stippleCoverage);`):O.main.add(y`float stippleAlpha = getStippleAlpha(lineWidth);`),11!==J&&O.main.add(y`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),O.uniforms.add(new b("intrinsicColor",e=>e.color)).main.add(y`vec4 color = intrinsicColor * vColor;
|
|
398
|
+
color.a = noPerspectiveRead(color.a);`),B&&O.uniforms.add(new b("innerColor",e=>e.innerColor??e.color),new w("innerWidth",(e,t)=>e.innerWidth*t.camera.pixelRatio)).main.add(y`float distToInner = abs(lineDistance) - innerWidth;
|
|
399
399
|
float innerAA = clamp(0.5 - distToInner, 0.0, 1.0);
|
|
400
400
|
float innerAlpha = innerColor.a + color.a * (1.0 - innerColor.a);
|
|
401
|
-
color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),
|
|
402
|
-
|
|
401
|
+
color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),O.main.add(y`vec4 finalColor = blendStipple(color, stippleAlpha);`),H&&(O.uniforms.add(new w("falloff",e=>e.falloff)),O.main.add(y`finalColor.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),U||O.main.add(y`finalColor.a *= lineFeatheringFactor(lineWidth, lineDistance);`),$&&(R.add("vnormal","vec3"),V.include(l,W),V.main.add(y`vnormal = getLocalUp(vpos, localOrigin);
|
|
402
|
+
forwardLinearDepthToReadShadow();`),T.include(p,W),D(O,W),O.include(n,W),O.include(i,W),O.uniforms.add(a,V.uniforms.get("localOrigin")).main.add(y`vec3 posWorld = vpos + localOrigin;
|
|
403
403
|
float additionalAmbientScale = additionalDirectedAmbientLight(posWorld);
|
|
404
|
+
float shadow = readFragmentShadow(additionalAmbientScale);
|
|
405
|
+
float ssao = evaluateAmbientOcclusionInverse();
|
|
404
406
|
vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
|
|
405
407
|
vec3 viewDirection = normalize(vpos - cameraPosition);
|
|
406
|
-
finalColor = vec4(evaluateSceneLighting(vnormal, finalColor.rgb,
|
|
408
|
+
finalColor = vec4(evaluateSceneLighting(vnormal, finalColor.rgb, shadow, 1.0 - ssao, additionalLight, viewDirection, vnormal), finalColor.a);`)),k&&(V.main.add(`vec4 animatedAlphaTimeStamps = ${ee.getTextureAttribute("timeStamps")};`),T.include(F,W),O.main.add("finalColor.a *= animatedAlpha();"))),O.main.add(y`outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`),T}const I=Object.freeze(Object.defineProperty({__proto__:null,build:T,numRoundJoinSubdivisions:W},Symbol.toStringTag,{value:"Module"}));export{I as R,T as b,W as n};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{
|
|
3
|
-
sampleCount = ${
|
|
2
|
+
import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{calculateUVZShadowFromDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js";import{readShadowMaps as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ShaderBuilder as t}from"../views/webgl/ShaderBuilder.js";const r=255,n=1/r;function l(r){const l=new t,{fragment:i}=l;l.include(e),l.include(a),i.include(o,!1),i.constants.add("sampleValue","float",n);const m=1===r.index?"vec2":"float";return l.outputs.add("sampleCount",m),i.uniforms.add(new d("depthMap",e=>e.depth?.attachment)).main.add(s`
|
|
3
|
+
sampleCount = ${m}(0.0);
|
|
4
4
|
|
|
5
5
|
vec3 uvzShadow = calculateUVZShadowFromDepth(uv, textureSize(shadowMap,0), depthMap);
|
|
6
6
|
// The shadow map sampler returns a value between 0 and 1, we take the midpoint as we count discrete samples
|
|
7
7
|
bool shadow = readShadowMaps(uvzShadow) > 0.5;
|
|
8
8
|
if (shadow) {
|
|
9
|
-
sampleCount = ${
|
|
9
|
+
sampleCount = ${m}(sampleValue); // Add 1 to the sample count
|
|
10
10
|
}
|
|
11
11
|
`),l}const i=Object.freeze(Object.defineProperty({__proto__:null,ShadowCastMaxSamples:r,build:l},Symbol.toStringTag,{value:"Module"}));export{r as S,i as a,l as b};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{normalize as e,transformMat4 as i}from"../core/libs/gl-matrix-2/math/vec3.js";import{create as
|
|
2
|
+
import{normalize as e,transformMat4 as i}from"../core/libs/gl-matrix-2/math/vec3.js";import{create as o}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{NormalFromDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/NormalFromDepth.glsl.js";import{ScreenSpacePass as t}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{calculateUVZShadowFromDepth as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js";import{blendEmission as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/blendEmission.glsl.js";import{Float3BindUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float4PassUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as d}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DShadowBindUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Texture2DShadowBindUniform.js";import{Texture2DUintPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";const w=.025;function p(o){const p=new m;p.include(l),p.include(t),p.include(r);const{fragment:v,outputs:x}=p;return x.add("fragColor","vec4",0),v.uniforms.add(new c("shadowMapExcludingHighlight",({shadowMap:e})=>e.getOutput(7)),new s("shadowHighlight",({shadowHighlight:e})=>e?.getTexture()),new s("depthMap",e=>e.mainDepth),new u("highlightTexture",e=>e.highlightTexture),new g("uColor",e=>e.shadowColor),new n("opacity",e=>e.shadowOpacity),new n("occludedOpacity",e=>e.occludedShadowOpacity),new n("terminationFactor",e=>e.opacityElevation*e.dayNightTerminator),new h("lightingMainDirectionView",({lighting:o,camera:r})=>e(f,i(f,o.mainLight.direction,r.viewInverseTransposeMatrix)))),v.main.add(d`
|
|
3
3
|
ivec2 highlightTextureSize = textureSize(highlightTexture, 0);
|
|
4
4
|
ivec2 highlightIUV = ivec2(uv * vec2(highlightTextureSize));
|
|
5
5
|
uvec2 highlightInfo = texelFetch(highlightTexture, highlightIUV, 0).rg;
|
|
@@ -32,12 +32,12 @@ import{normalize as e,transformMat4 as i}from"../core/libs/gl-matrix-2/math/vec3
|
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
float shadowExcludingHighlightFactor =
|
|
35
|
+
float shadowExcludingHighlightFactor = texture(shadowMapExcludingHighlight, uvzShadow);
|
|
36
36
|
|
|
37
37
|
vec3 normal = normalFromDepth(depthMap, currentPixelPos.xyz, gl_FragCoord.xy, uv);
|
|
38
|
-
bool shaded = dot(normal, lightingMainDirectionView) < ${
|
|
38
|
+
bool shaded = dot(normal, lightingMainDirectionView) < ${d.float(w)};
|
|
39
39
|
|
|
40
40
|
float occludedFactor = max(shadowExcludingHighlightFactor, shaded ? 1.0 : 0.0);
|
|
41
41
|
float fragOpacity = mix(opacity, occludedOpacity, occludedFactor);
|
|
42
42
|
fragColor = vec4(uColor.rgb, uColor.a * fragOpacity * terminationFactor);
|
|
43
|
-
`),
|
|
43
|
+
`),p.include(a,o),p}const f=o(),v=Object.freeze(Object.defineProperty({__proto__:null,build:p},Symbol.toStringTag,{value:"Module"}));export{v as S,p as b};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{
|
|
2
|
+
import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{calculateUVZShadowFromDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js";import{glsl as r}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DShadowBindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Texture2DShadowBindUniform.js";import{ShaderBuilder as t}from"../views/webgl/ShaderBuilder.js";function i(){const i=new t;return i.include(e),i.include(o),i.outputs.add("fragShadow","float"),i.fragment.uniforms.add(new d("shadowMapHighlight",({shadowMap:e})=>e.getOutput(6)),new a("depthMap",({depth:e})=>e?.attachment)).main.add(r`fragShadow = 0.0;
|
|
3
3
|
vec3 uvzShadow = calculateUVZShadowFromDepth(uv, textureSize(shadowMapHighlight, 0), depthMap);
|
|
4
4
|
if (uvzShadow.z >= 0.0) {
|
|
5
|
-
fragShadow =
|
|
6
|
-
}`),
|
|
5
|
+
fragShadow = texture(shadowMapHighlight, uvzShadow);
|
|
6
|
+
}`),i}const s=Object.freeze(Object.defineProperty({__proto__:null,build:i},Symbol.toStringTag,{value:"Module"}));export{s as S,i as b};
|