@arcgis/core 6.0.0-next.27 → 6.0.0-next.29
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/Map.d.ts +6 -0
- package/analysis/AreaMeasurementAnalysis.d.ts +4 -2
- package/analysis/DirectLineMeasurementAnalysis.d.ts +8 -4
- package/arcgisGlobal.d.ts +0 -2
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/131185d26343a997495e.js +1 -0
- package/assets/esri/core/workers/chunks/144bad0c2415c345736a.js +1 -0
- package/assets/esri/core/workers/chunks/176d0a06ebff5a29dedf.js +1 -0
- package/assets/esri/core/workers/chunks/{b0ca81a07cff25df19d2.js → 176d75e76318bfc25a53.js} +1 -1
- package/assets/esri/core/workers/chunks/18776a130d96879a68b1.js +1 -0
- package/assets/esri/core/workers/chunks/{e35641a3a4da8cfbcf54.js → 189321d88026bd7e6d3e.js} +1 -1
- package/assets/esri/core/workers/chunks/18e7fa4d3e0b1a084cc6.js +1 -0
- package/assets/esri/core/workers/chunks/{1168bc5c9f0a7e1f63a2.js → 1989410a618865f02dec.js} +1 -1
- package/assets/esri/core/workers/chunks/{2c0cb214fedb29487eef.js → 199a7f97916679e0257c.js} +1 -1
- package/assets/esri/core/workers/chunks/1c406ab2bf99ac563316.js +1 -0
- package/assets/esri/core/workers/chunks/1d96fbad881a7d14a950.js +1 -0
- package/assets/esri/core/workers/chunks/{42d44c7d532df5ee70e9.js → 1deca3de77b1a9a07da4.js} +1 -1
- package/assets/esri/core/workers/chunks/{45f826554499c38968c6.js → 1ee4df0fd61440cb5f02.js} +1 -1
- package/assets/esri/core/workers/chunks/22e73501e1435a896826.js +1 -0
- package/assets/esri/core/workers/chunks/25657f70c5f04a4ed978.js +1 -0
- package/assets/esri/core/workers/chunks/276a0b549acf048e8673.js +1 -0
- package/assets/esri/core/workers/chunks/{56e903ccef66cbe18f92.js → 2cd60fd062d954322c1f.js} +1 -1
- package/assets/esri/core/workers/chunks/{ad96132bc89671e595f3.js → 2d3e0e4442dbc6ec6def.js} +1 -1
- package/assets/esri/core/workers/chunks/2de4296590bf9f9e9add.js +1 -0
- package/assets/esri/core/workers/chunks/2f5d014d6a72108b0b3a.js +1 -0
- package/assets/esri/core/workers/chunks/{0363d29fc665d169ebc4.js → 3105336a05f38a95ebea.js} +1 -1
- package/assets/esri/core/workers/chunks/379ef56f6b32494832a6.js +1 -0
- package/assets/esri/core/workers/chunks/3aafdb905c697bc9b1ad.js +1 -0
- package/assets/esri/core/workers/chunks/40c2674dae73f0942751.js +1 -0
- package/assets/esri/core/workers/chunks/418addce122dbb8897b4.js +1 -0
- package/assets/esri/core/workers/chunks/4419732baf3459a80e6d.js +1 -0
- package/assets/esri/core/workers/chunks/4976f5567fc7f1b63d10.js +1 -0
- package/assets/esri/core/workers/chunks/4e17665dd9048c300d87.js +1 -0
- package/assets/esri/core/workers/chunks/5396b6e99a0546a25d19.js +1 -0
- package/assets/esri/core/workers/chunks/53c7510df09b71ab5646.js +1 -0
- package/assets/esri/core/workers/chunks/561c48cb4d49b150765b.js +1 -0
- package/assets/esri/core/workers/chunks/{d90a3bfd45b5ed4092e0.js → 590fe0f56bc4c33a50e7.js} +1 -1
- package/assets/esri/core/workers/chunks/5bb6c255bdc8aa9ba23e.js +1 -0
- package/assets/esri/core/workers/chunks/5f1cb79aec9c4a9b7ddc.js +29 -0
- package/assets/esri/core/workers/chunks/{23a4806b4cdf7cc32e4d.js → 5f787809b74eed7b9a91.js} +1 -1
- package/assets/esri/core/workers/chunks/636e9c4ac1f9ae98f9d1.js +1 -0
- package/assets/esri/core/workers/chunks/654f5441227579d2b6b4.js +1 -0
- package/assets/esri/core/workers/chunks/692f0093c444fcc752b5.js +1 -0
- package/assets/esri/core/workers/chunks/69627b2634da64dd885f.js +1 -0
- package/assets/esri/core/workers/chunks/6a7de221cea4426cb490.js +1 -0
- package/assets/esri/core/workers/chunks/7030a4d0714a35995a58.js +1 -0
- package/assets/esri/core/workers/chunks/72d20d3957d612f86431.js +1 -0
- package/assets/esri/core/workers/chunks/7862abd24fb5c3b12e6b.js +1 -0
- package/assets/esri/core/workers/chunks/7a0b4dc0cda190367a39.js +1 -0
- package/assets/esri/core/workers/chunks/{ab1660f5f8a5268c2fac.js → 84038dd85005fea413eb.js} +1 -1
- package/assets/esri/core/workers/chunks/849f446c718e892f39ce.js +1 -0
- package/assets/esri/core/workers/chunks/{8ac2098ecdc40ad41055.js → 8502274806ea52308822.js} +1 -1
- package/assets/esri/core/workers/chunks/865cebc5c982c040ab6f.js +1 -0
- package/assets/esri/core/workers/chunks/{76196c414e48834f7b92.js → 8f008eedb11685ee2048.js} +1 -1
- package/assets/esri/core/workers/chunks/90d797ab82d4a68ba32f.js +1 -0
- package/assets/esri/core/workers/chunks/9184c947cdefe06bf551.js +1 -0
- package/assets/esri/core/workers/chunks/9976eaa81085c0d17e14.js +1 -0
- package/assets/esri/core/workers/chunks/{177f353ce72133e2eeed.js → 9c2436464b7dfd666678.js} +1 -1
- package/assets/esri/core/workers/chunks/a125650edbed802e419a.js +1 -0
- package/assets/esri/core/workers/chunks/{23fd4de56de352f63e2d.js → a2196a49f89d57a0a1c7.js} +1 -1
- package/assets/esri/core/workers/chunks/ad21757d78e372fa2ed6.js +1 -0
- package/assets/esri/core/workers/chunks/b01688ccc29d33bfc82d.js +1 -0
- package/assets/esri/core/workers/chunks/b5eff28cf482d920b9ea.js +1 -0
- package/assets/esri/core/workers/chunks/{04ecf15524ff3838c01c.js → ba4520ddcb6a49988da6.js} +1 -1
- package/assets/esri/core/workers/chunks/be55771758e4bcef0976.js +1 -0
- package/assets/esri/core/workers/chunks/bead830a677690eeb6fb.js +1 -0
- package/assets/esri/core/workers/chunks/c131e0dd180a4c10e12e.js +1 -0
- package/assets/esri/core/workers/chunks/c1cf3edce15f09648eb4.js +1 -0
- package/assets/esri/core/workers/chunks/c4f78a481f43cfae7b63.js +1 -0
- package/assets/esri/core/workers/chunks/c570b90995c65bbb2e14.js +1 -0
- package/assets/esri/core/workers/chunks/c576bef77e34920af188.js +1 -0
- package/assets/esri/core/workers/chunks/c9feffb9884cfed52c4b.js +1 -0
- package/assets/esri/core/workers/chunks/cc97e4fd0dacad970a23.js +1 -0
- package/assets/esri/core/workers/chunks/ce324dde6d7daea33638.js +1 -0
- package/assets/esri/core/workers/chunks/d1d6154b4af1c9cc497b.js +1 -0
- package/assets/esri/core/workers/chunks/d3c3fb079ad97970f834.js +1 -0
- package/assets/esri/core/workers/chunks/daae21cf77864f3293ef.js +1 -0
- package/assets/esri/core/workers/chunks/dc2f93453dfa40f623ab.js +1 -0
- package/assets/esri/core/workers/chunks/dcf6024dc19428ff2b9d.js +1 -0
- package/assets/esri/core/workers/chunks/dd30b02c5978c1c5f511.js +1 -0
- package/assets/esri/core/workers/chunks/de3f140058aa0b907b65.js +1 -0
- package/assets/esri/core/workers/chunks/df375d1b0dab5ecbd1be.js +1 -0
- package/assets/esri/core/workers/chunks/{ef2c3febcceedc44b3ac.js → dfd4782b11d6fdca0492.js} +1 -1
- package/assets/esri/core/workers/chunks/{48cc58890fddbcf69cef.js → e121d15b883184ee83e7.js} +1 -1
- package/assets/esri/core/workers/chunks/{67e06d606c7fd2064adf.js → e2c6cd8dac01e129ccfe.js} +1 -1
- package/assets/esri/core/workers/chunks/e3b212f8af448ec29eef.js +1 -0
- package/assets/esri/core/workers/chunks/e4042e43f0081fe49f7b.js +1 -0
- package/assets/esri/core/workers/chunks/e480e7d5f40049a2053b.js +1 -0
- package/assets/esri/core/workers/chunks/eaab787a5f2445be5e5a.js +1 -0
- package/assets/esri/core/workers/chunks/edd36a1fc80b1d29907e.js +1 -0
- package/assets/esri/core/workers/chunks/ee0dc906cc7979080329.js +1 -0
- package/assets/esri/core/workers/chunks/f07fb9b3fa30d7ee1681.js +1 -0
- package/assets/esri/core/workers/chunks/f09bc86cd52224febfcb.js +1 -0
- package/assets/esri/core/workers/chunks/{037c67ef5c4398d5954d.js → f2dab9fcd90ce38ae3d1.js} +1 -1
- package/assets/esri/core/workers/chunks/f39c700f3db7db52b522.js +1 -0
- package/assets/esri/core/workers/chunks/f3b4159c0722df8ffe13.js +1 -0
- package/assets/esri/core/workers/chunks/f3dc0bc0e00635855a7a.js +1 -0
- package/assets/esri/core/workers/chunks/f45064066e1ab041a0b2.js +1 -0
- package/assets/esri/core/workers/chunks/f7398cfd8bbd041bd635.js +1 -0
- package/assets/esri/core/workers/chunks/f9dc38761b314d33890f.js +1 -0
- package/assets/esri/core/workers/chunks/fe6dcb21570395e46ce8.js +1 -0
- package/assets/esri/core/workers/chunks/{00580a68835aac653038.js → fefdd10bdd5a4c8d8ed0.js} +45 -48
- package/assets/esri/core/workers/chunks/ffe49d9e7df081bef4a5.js +1 -0
- package/assets/esri/themes/base/_core.scss +0 -2
- 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/BlendLayers.glsl.js +1 -1
- package/chunks/Component.glsl.js +51 -54
- package/chunks/EmissionComposite.glsl.js +1 -1
- package/chunks/Fog.glsl.js +1 -1
- package/chunks/GaussianSplat.glsl.js +65 -21
- package/chunks/GaussianSplatDepth.glsl.js +53 -4
- package/chunks/GaussianSplatShadow.glsl.js +83 -19
- package/chunks/GlobalIllumination.glsl.js +2 -17
- package/chunks/LineMarker.glsl.js +32 -31
- package/chunks/OITAddEmission.glsl.js +1 -1
- package/chunks/RasterColorizer.glsl.js +1 -1
- package/chunks/RibbonLine.glsl.js +34 -34
- package/chunks/Terrain.glsl.js +3 -4
- package/chunks/Water.glsl.js +22 -23
- package/config.d.ts +12 -9
- package/config.js +1 -1
- package/form/FormTemplate.d.ts +1 -1
- package/form/elements/AttachmentElement.d.ts +2 -0
- package/form/elements/FieldElement.d.ts +2 -2
- package/form/elements/FieldElement.js +1 -1
- package/form/elements/RelationshipElement.d.ts +1 -1
- package/form/elements/TextElement.d.ts +2 -2
- package/form/elements/UtilityNetworkAssociationsElement.d.ts +1 -1
- package/form/elements/inputs/DynamicChoiceInput.d.ts +2 -2
- package/form/elements/inputs/inputUtils.js +1 -1
- package/form/elements/inputs/types.d.ts +19 -0
- package/form/elements/inputs.d.ts +3 -2
- package/form/elements/inputs.js +1 -1
- package/geometry/operators/containsOperator.d.ts +1 -1
- package/geometry/operators/densifyOperator.d.ts +1 -1
- package/geometry/operators/differenceOperator.d.ts +6 -4
- package/geometry/operators/distanceOperator.d.ts +1 -1
- package/geometry/operators/geodesicProximityOperator.d.ts +8 -8
- package/geometry/operators/graphicBufferOperator.d.ts +6 -6
- package/geometry/operators/integrateOperator.d.ts +2 -2
- package/geometry/operators/intersectsOperator.d.ts +3 -3
- package/geometry/operators/linesToPolygonsOperator.d.ts +2 -2
- package/geometry/operators/locateBetweenOperator.d.ts +2 -2
- package/geometry/operators/minimumBoundingCircleOperator.d.ts +1 -1
- package/geometry/operators/multiPartToSinglePartOperator.d.ts +2 -2
- package/geometry/operators/polygonSlicerOperator.d.ts +2 -2
- package/geometry/operators/projectOperator.d.ts +2 -2
- package/geometry/operators/proximityOperator.d.ts +15 -15
- package/geometry/operators/shapePreservingProjectOperator.d.ts +2 -2
- package/geometry/operators/simplifyOperator.d.ts +2 -2
- package/geometry/operators/support/GeographicTransformationStep.d.ts +3 -3
- package/geometry/operators/support/Transformation.d.ts +8 -8
- package/geometry/operators/support/geographicTransformationUtils.d.ts +3 -3
- package/geometry/operators/symmetricDifferenceOperator.d.ts +2 -2
- package/geometry/operators/withinOperator.d.ts +3 -3
- package/interfaces.d.ts +0 -14
- package/kernel.js +1 -1
- package/layers/GeospatialPDFLayer.d.ts +2 -2
- package/layers/ParquetLayer.d.ts +1 -1
- package/layers/VideoLayer.d.ts +5 -5
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
- package/layers/orientedImagery/core/coverageUtils.js +1 -1
- package/layers/orientedImagery/transformations/rotationUtils.js +2 -0
- package/layers/orientedImagery/transformations/utils.js +1 -1
- package/layers/save/parquetLayerUtils.js +1 -1
- package/layers/support/vectorTileLayerLoader.js +1 -1
- package/package.json +2 -2
- package/popup/FeaturesModel.js +1 -1
- package/popup/support/featureUtils.js +1 -1
- package/rest/featureService/FeatureService.d.ts +0 -5
- package/rest/networks/support/TraceLocation.d.ts +2 -1
- package/rest/networks/support/TraceResult.d.ts +0 -4
- package/rest/support/OutDistance.d.ts +0 -1
- package/smartMapping/statistics/histogramForTimeSeries.js +1 -1
- package/smartMapping/statistics/summaryStatisticsForTimeSeries.js +1 -1
- package/smartMapping/support/adapters/support/histogramUtils.js +1 -1
- package/support/BasemapStyle.d.ts +2 -2
- package/symbols/cim/types.d.ts +7 -9
- package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
- package/views/2d/engine/vectorTiles/style/GeoJSONVectorTileSource.js +1 -1
- package/views/2d/engine/vectorTiles/style/GeoJSONVectorTileSourceWorker.js +1 -1
- package/views/2d/engine/vectorTiles/style/geoJSONVectorTileUtils.js +2 -0
- package/views/2d/engine/webgl/animations/instructions.js +1 -1
- package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
- package/views/2d/engine/webgl/collisions/LabelStore.js +1 -1
- package/views/2d/layers/VectorTileLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
- package/views/2d/layers/support/visualVariableSimpleUtils.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
- package/views/3d/analysis/support/projectionUtils.js +1 -1
- package/views/3d/environment/SunLighting.d.ts +15 -2
- package/views/3d/environment/VirtualLighting.d.ts +15 -2
- package/views/3d/input/SceneInputManager.js +1 -1
- package/views/3d/input/handlers/ground/GroundMouseWheelMove.js +2 -0
- package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
- package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
- package/views/3d/navigation/Navigation3D.js +1 -1
- package/views/3d/state/controllers/GroundMouseWheelController.js +2 -0
- package/views/3d/state/controllers/PointToPointAnimationController.js +1 -1
- package/views/3d/state/utils/OffsetCorrectionController.js +1 -1
- package/views/3d/state/utils/groundNavigationUtils.js +1 -1
- package/views/3d/support/ResourceController.js +1 -1
- package/views/3d/terrain/BlendLayers.glsl.js +1 -1
- package/views/3d/terrain/RasterColorizer.glsl.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/TileAgent.js +1 -1
- package/views/3d/terrain/TileCompositor.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/webgl-engine/Stage.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +23 -26
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +18 -21
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTangent.glsl.js +7 -8
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js +10 -12
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +22 -25
- package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +3 -5
- package/views/3d/webgl-engine/core/shaderLibrary/shading/forwardLocalUp.glsl.js +6 -0
- package/views/3d/webgl-engine/core/shaderLibrary/shading/getLocalUp.glsl.js +4 -0
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/{TileBackground.glsl.js → blendLayers.glsl.js} +10 -11
- package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js +8 -2
- package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPluginContext.js +2 -0
- package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
- package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +3 -3
- package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatDepthRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeUtil.glsl.js +30 -35
- package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/EmissiveTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +70 -108
- package/views/3d/webgl-engine/shaders/GaussianSplatShadow.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
- package/views/VideoView.d.ts +10 -0
- package/views/VideoView.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/draw/DrawScreenTool.js +1 -1
- package/views/input/types.d.ts +2 -4
- package/views/interactive/options/LabelOptions.d.ts +5 -5
- package/views/interactive/options/SnappingOptions.d.ts +2 -2
- package/views/layers/LayerView.d.ts +10 -2
- package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +2 -3
- package/widgets/Editor/EditorViewModel.d.ts +10 -12
- package/widgets/Editor/VisibleElements.d.ts +4 -0
- package/widgets/Editor.d.ts +2 -0
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/support/EditableColumnTemplateMixin.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/Features/FeaturesViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/ImageMeasurementWorker.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
- package/widgets/OrientedImageryViewer/imageMeasurementWorkerUtils.js +2 -0
- package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
- package/widgets/OrientedImageryViewer/support/NonPanoramicMedia.js +1 -1
- package/widgets/OrientedImageryViewer/support/dataCaptureUtils.js +1 -1
- package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
- package/widgets/PanoramicViewer/utils.js +1 -1
- package/widgets/Search/LayerSearchSource.d.ts +1 -1
- package/widgets/Sketch/VisibleElements.d.ts +4 -0
- package/widgets/Sketch.d.ts +2 -0
- package/widgets/support/iconUtils.js +1 -1
- package/assets/esri/core/workers/chunks/010f57ec7fdbedf78d02.js +0 -1
- package/assets/esri/core/workers/chunks/0487e1d7a7cecf7c1c25.js +0 -1
- package/assets/esri/core/workers/chunks/09300e74e5b014ce6269.js +0 -1
- package/assets/esri/core/workers/chunks/0bd04bcd4b2710838d48.js +0 -1
- package/assets/esri/core/workers/chunks/0d9c4c6c571ce26d356b.js +0 -1
- package/assets/esri/core/workers/chunks/112ed86f812e4400a7e0.js +0 -1
- package/assets/esri/core/workers/chunks/151e5799ede763a03ee2.js +0 -1
- package/assets/esri/core/workers/chunks/173f89c55a5c79ff065b.js +0 -1
- package/assets/esri/core/workers/chunks/2447d2e2a4a3ab8fcf94.js +0 -1
- package/assets/esri/core/workers/chunks/2a36fe3f3f257a779a1b.js +0 -1
- package/assets/esri/core/workers/chunks/2a97268000c6d03ef720.js +0 -1
- package/assets/esri/core/workers/chunks/2cf8172be83b10b11bdc.js +0 -1
- package/assets/esri/core/workers/chunks/2df37a9a95ceebb87a5f.js +0 -1
- package/assets/esri/core/workers/chunks/2e00c155e447e4930442.js +0 -1
- package/assets/esri/core/workers/chunks/2f91fd61019d2a37476d.js +0 -1
- package/assets/esri/core/workers/chunks/30af63b3b750142faadb.js +0 -1
- package/assets/esri/core/workers/chunks/3a47fc97c400fca2c736.js +0 -1
- package/assets/esri/core/workers/chunks/3cd04d23b73beaf79650.js +0 -1
- package/assets/esri/core/workers/chunks/426b4eb500fdfe9df325.js +0 -1
- package/assets/esri/core/workers/chunks/45367aa8e5c5d574de94.js +0 -1
- package/assets/esri/core/workers/chunks/47c97640ec525676918b.js +0 -1
- package/assets/esri/core/workers/chunks/47d074136a7f8e551a9a.js +0 -1
- package/assets/esri/core/workers/chunks/4a6b92ecbb1f1c55cc43.js +0 -1
- package/assets/esri/core/workers/chunks/4cb751dc8d00bdaeb04c.js +0 -1
- package/assets/esri/core/workers/chunks/518ab22f80c3300bcfff.js +0 -1
- package/assets/esri/core/workers/chunks/53ff68d4f9e365fc15cd.js +0 -1
- package/assets/esri/core/workers/chunks/58609bf94f72bc4f1952.js +0 -1
- package/assets/esri/core/workers/chunks/586a929bc037e23857af.js +0 -1
- package/assets/esri/core/workers/chunks/5c7780f804d789cb37f5.js +0 -1
- package/assets/esri/core/workers/chunks/5d76f4d97beee494bbbf.js +0 -1
- package/assets/esri/core/workers/chunks/603fdbbe9534c614928f.js +0 -1
- package/assets/esri/core/workers/chunks/611e3cdf67283c11576f.js +0 -1
- package/assets/esri/core/workers/chunks/6431480ba0fa8c8d487f.js +0 -1
- package/assets/esri/core/workers/chunks/652faf4359ac072c5dde.js +0 -1
- package/assets/esri/core/workers/chunks/65c98f3449044fa4fd79.js +0 -1
- package/assets/esri/core/workers/chunks/6b9961261241fdce0e94.js +0 -1
- package/assets/esri/core/workers/chunks/6dfe96b056bec30068df.js +0 -1
- package/assets/esri/core/workers/chunks/6f897b4e7ddd1dd1672b.js +0 -1
- package/assets/esri/core/workers/chunks/70cc2d79653d66e85b58.js +0 -1
- package/assets/esri/core/workers/chunks/7159d9c36869cd82599e.js +0 -29
- package/assets/esri/core/workers/chunks/7393f63043a1da3d05a6.js +0 -1
- package/assets/esri/core/workers/chunks/7449568eb2305bf2d650.js +0 -1
- package/assets/esri/core/workers/chunks/75d551a449bba61ce238.js +0 -1
- package/assets/esri/core/workers/chunks/7748c2886d0122b40eeb.js +0 -1
- package/assets/esri/core/workers/chunks/78643f116677950ea29a.js +0 -1
- package/assets/esri/core/workers/chunks/78fbe330f16bdbdb886e.js +0 -1
- package/assets/esri/core/workers/chunks/7e0f04a5038e2a4f6e4b.js +0 -1
- package/assets/esri/core/workers/chunks/7f16ae01ccd9b6114d1c.js +0 -1
- package/assets/esri/core/workers/chunks/90153b5230b3a4985c14.js +0 -1
- package/assets/esri/core/workers/chunks/9189dfe19a2a2ccd5173.js +0 -1
- package/assets/esri/core/workers/chunks/943a0f140813ee4ab04a.js +0 -1
- package/assets/esri/core/workers/chunks/98be2f621801e230aa01.js +0 -1
- package/assets/esri/core/workers/chunks/99f51d5d9da6e9bfc430.js +0 -1
- package/assets/esri/core/workers/chunks/9aebe876b1a2fb075f9c.js +0 -1
- package/assets/esri/core/workers/chunks/9b6929faf649e81265fb.js +0 -1
- package/assets/esri/core/workers/chunks/9dd1fc56eb1ea6eb705e.js +0 -1
- package/assets/esri/core/workers/chunks/9dd48e75b4e8d9811d81.js +0 -1
- package/assets/esri/core/workers/chunks/a163c6005aba3378edaa.js +0 -1
- package/assets/esri/core/workers/chunks/a8286febe371dc186aaa.js +0 -1
- package/assets/esri/core/workers/chunks/acb265a22be5e12f38e5.js +0 -1
- package/assets/esri/core/workers/chunks/b12acf1f694f82e00df9.js +0 -1
- package/assets/esri/core/workers/chunks/b83cef2d3f528726d492.js +0 -1
- package/assets/esri/core/workers/chunks/b9596d862da1ec342cd3.js +0 -1
- package/assets/esri/core/workers/chunks/bc1fcc9c897461e68e29.js +0 -1
- package/assets/esri/core/workers/chunks/bdc221d94300c225665a.js +0 -1
- package/assets/esri/core/workers/chunks/be97a629e2ae4d13ceb3.js +0 -1
- package/assets/esri/core/workers/chunks/bfb39590c548188f5052.js +0 -1
- package/assets/esri/core/workers/chunks/c2318c014e97ba519be8.js +0 -1
- package/assets/esri/core/workers/chunks/c29091fe157564cffcf7.js +0 -1
- package/assets/esri/core/workers/chunks/c62237c344e341619341.js +0 -1
- package/assets/esri/core/workers/chunks/c8eae00b0ec87d8b2ff3.js +0 -1
- package/assets/esri/core/workers/chunks/cdb5c26fed7d9a97db49.js +0 -1
- package/assets/esri/core/workers/chunks/cdf0c7706d3e1221f49b.js +0 -1
- package/assets/esri/core/workers/chunks/cea0db3ee326f60610eb.js +0 -1
- package/assets/esri/core/workers/chunks/d7f2f1708d2a2668676c.js +0 -1
- package/assets/esri/core/workers/chunks/daf9b691817e83a11f3c.js +0 -1
- package/assets/esri/core/workers/chunks/db41490bd39d863305bf.js +0 -1
- package/assets/esri/core/workers/chunks/ddc95cdac6c06fc4794c.js +0 -1
- package/assets/esri/core/workers/chunks/df26ec0b508cf4716e0a.js +0 -1
- package/assets/esri/core/workers/chunks/e11159e3dc3353b27c57.js +0 -1
- package/assets/esri/core/workers/chunks/e4a57a0a9629faafd6c6.js +0 -1
- package/assets/esri/core/workers/chunks/ebc1a2ef3aed8aa29424.js +0 -1
- package/assets/esri/core/workers/chunks/ec1c4d66142b6efb0e8b.js +0 -1
- package/assets/esri/core/workers/chunks/ef12fa3574d4cbf8b084.js +0 -1
- package/assets/esri/core/workers/chunks/f2d56f5c15d5977e1d19.js +0 -1
- package/assets/esri/core/workers/chunks/f7bfa3d33b05b250ce33.js +0 -1
- package/assets/esri/core/workers/chunks/f905f1a1aa4c123cbe83.js +0 -1
- package/assets/esri/core/workers/chunks/fc139f251dc0523074e7.js +0 -1
- package/assets/esri/themes/base/widgets/_VideoPlayer.scss +0 -129
- package/assets/esri/widgets/VideoPlayer/t9n/messages.ar.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.bg.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.bs.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.ca.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.cs.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.da.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.de.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.el.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.en.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.es.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.et.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.fi.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.fr.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.he.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.hr.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.hu.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.id.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.it.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.ja.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.ko.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.lt.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.lv.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.nl.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.no.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.pl.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.pt-BR.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.pt-PT.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.ro.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.ru.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.sk.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.sl.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.sr.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.sv.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.th.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.tr.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.uk.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.vi.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.zh-CN.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.zh-HK.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/messages.zh-TW.json +0 -1
- package/widgets/VideoPlayer/VideoPlayerViewModel.d.ts +0 -232
- package/widgets/VideoPlayer/VideoPlayerViewModel.js +0 -2
- package/widgets/VideoPlayer/components/MetadataSection.js +0 -2
- package/widgets/VideoPlayer/components/PlayerActionsGroup.js +0 -2
- package/widgets/VideoPlayer/components/PlayerControlsGroup.js +0 -2
- package/widgets/VideoPlayer/components/SettingsButton.js +0 -2
- package/widgets/VideoPlayer/css.js +0 -2
- package/widgets/VideoPlayer.d.ts +0 -119
- package/widgets/VideoPlayer.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{BackgroundGrid as e}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/BackgroundGrid.glsl.js";import{
|
|
2
|
+
import{BackgroundGrid as e}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/BackgroundGrid.glsl.js";import{blendLayers as t}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/blendLayers.glsl.js";import{TileComposite as n}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js";import{Float3PassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{Texture2DPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ShaderBuilder as o}from"../views/webgl/ShaderBuilder.js";function s(s){let c=new o,l=c.fragment;return c.include(n),s.background===1?(s.output===2?l.uniforms.add(new r(`backgroundColor`,e=>e.backgroundColor)).main.add(`fragColor = vec4(backgroundColor, 1.0);`):(l.include(e),l.main.add(`fragColor = vec4(gridColor(uv), 1.0);`)),c):(c.include(t,s),l.uniforms.add(new a(`tex`,e=>e.texture),new i(`opacity`,e=>e.opacity)).main.add(`fragColor = blendLayers(uv, texture(tex, uv), opacity);`),c)}const c=Object.freeze(Object.defineProperty({__proto__:null,build:s},Symbol.toStringTag,{value:`Module`}));export{c as B,s as b};
|
package/chunks/Component.glsl.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{waterNormals as t}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{forwardLinearDepthToWriteShadow as
|
|
2
|
+
import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{waterNormals as t}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{forwardLinearDepthToWriteShadow as n}from"../views/3d/webgl-engine/core/shaderLibrary/forwardLinearDepthToWriteShadow.glsl.js";import{isColor as r,isShadow as ee}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{slicePass as te}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as ne}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as re}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as ie}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{DepthConversion as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/DepthConversion.glsl.js";import{outputDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as s}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{computeFragmentNormals as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{getLocalUp as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/getLocalUp.glsl.js";import{lightingGlobalFactor as m,mainLightIntensity as h,mainLightDirection as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as ae}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{pbrGlobals as oe}from"../views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js";import{PhysicallyBasedRenderingParameters as se}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as ce}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{readShadowPass as le}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{OverlayIM as ue}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as de}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{BooleanDrawUniform as fe}from"../views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js";import{FloatDrawUniform as _}from"../views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js";import{If as v,glsl as y}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{applySnow as pe}from"../views/3d/webgl-engine/effects/snowcover/applySnow.glsl.js";import{alphaCutoff as b}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as me}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getPlanetRadius as x,sphereDepthInterpolate as S}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as C}from"../views/webgl/ShaderBuilder.js";function w(w){let T=new C,{vertex:E,fragment:D}=T;T.include(i,w),T.include(ie,w),T.include(re,w),T.include(ne,w),T.include(e,w),T.include(de,w),D.include(te,w),T.include(ce,w);let{output:O,pbrMode:k,hasNormalTexture:A,snowCover:j,receiveShadows:M,shadeNormals:N,spherical:P,sphericalSR:F,overlayEnabled:I,componentDataType:L,vertexDiscardMode:R,renderOccluded:z,isGroundSlice:B,groundTransparencyMode:he}=w,V=r(O),H=k===1||k===2,U=he===2,W=U&&(O===3||O===4);H&&(T.include(se,w),A&&T.include(d,w));let G=ee(O),K=O===11,ge=O===10,q=O===4,_e=G&&L===1,J=x(w),Y=(I||W)&&P,X=F===1;(V||q)&&(T.include(u,w),D.include(b)),(I||W)&&(D.include(f,w),T.include(ue,w),Y?(T.varyings.add(`vPositionForDraping`,`vec3`),D.uniforms.add(new fe(`useENUForGlobalOverlayUV`,e=>e.useENUForGlobalOverlayUV),new _(`overlayMapScaleU`,e=>e.toMapSpace[2]),new _(`overlayReferenceU`,e=>e.toMapSpace[0])),D.constants.add(`overlayWorldWidth`,`float`,X?2*Math.PI*J:360),X?(D.constants.add(`pRadius`,`float`,J),D.constants.add(`halfSemiMajorAxis`,`float`,.5*J)):D.constants.add(`rad2deg1`,`float`,180/Math.PI),D.constants.add(`invRadius`,`float`,1/J).code.add(y`
|
|
3
3
|
vec2 projectOverlay(vec3 pos) { return pos.xy / (1.0 + invRadius * pos.z); }
|
|
4
4
|
|
|
5
5
|
vec2 selectOverlayUVNorm(vec2 normUV, float offsetUNorm) {
|
|
@@ -31,12 +31,12 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
31
31
|
float sinLat = wPos.z / oRadius;
|
|
32
32
|
vec2 posMap;
|
|
33
33
|
|
|
34
|
-
${
|
|
34
|
+
${v(X,y`
|
|
35
35
|
posMap = vec2(
|
|
36
36
|
oLonRad * pRadius,
|
|
37
37
|
halfSemiMajorAxis * log((1.0 + sinLat) / (1.0 - sinLat))
|
|
38
38
|
);
|
|
39
|
-
`,
|
|
39
|
+
`,y`
|
|
40
40
|
float oLatRad = asin(clamp(sinLat,-1.0,1.0));
|
|
41
41
|
posMap = vec2(rad2deg1 * oLonRad, rad2deg1 * oLatRad);
|
|
42
42
|
`)}
|
|
@@ -49,14 +49,14 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
49
49
|
? selectLocalOverlayUVs(projectOverlay(vPositionForDraping))
|
|
50
50
|
: selectMapOverlayUVs(overlayMapUVFromWorldPosition());
|
|
51
51
|
}
|
|
52
|
-
`)):
|
|
52
|
+
`)):E.code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy; }`));let Z=I&&V&&k===4;Z&&P&&(E.include(p,w),T.varyings.add(`tbnTangent`,`vec3`),T.varyings.add(`tbnBiTangent`,`vec3`));let Q=R===0,ve=R===2;if(T.include(le,w),T.include(n,w),E.include(b),E.main.add(y`
|
|
53
53
|
bool castShadows;
|
|
54
54
|
vec4 externalColor = forwardExternalColor(castShadows);
|
|
55
|
-
${
|
|
56
|
-
${
|
|
55
|
+
${v(_e,`if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }`)}
|
|
56
|
+
${v(!Q,`if (externalColor.a ${ve?`>`:`<=`} opacityCutoff) {
|
|
57
57
|
gl_Position = vec4(vec3(1e38), 1.0); return;
|
|
58
58
|
}`)}
|
|
59
|
-
${
|
|
59
|
+
${v(K,`externalColor.a = 1.0;`)}
|
|
60
60
|
|
|
61
61
|
forwardPosition(readElevationOffset());
|
|
62
62
|
forwardNormal();
|
|
@@ -66,14 +66,11 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
66
66
|
forwardLinearDepthToWriteShadow();
|
|
67
67
|
forwardEmissiveStrength();
|
|
68
68
|
forwardObjectAndLayerIdColor();
|
|
69
|
-
${
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
tbnTangent = vec3(1.0, 0.0, 0.0);
|
|
75
|
-
tbnBiTangent = vec3(0.0, 1.0, 0.0);`)}
|
|
76
|
-
${x(R||G,x(I,`vPositionForDraping = positionForDraping();
|
|
69
|
+
${v(Z&&P,y`
|
|
70
|
+
vec3 upNormal = getLocalUp(positionWorld());
|
|
71
|
+
tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), upNormal));
|
|
72
|
+
tbnBiTangent = normalize(cross(upNormal, tbnTangent));`)}
|
|
73
|
+
${v(I||W,v(P,`vPositionForDraping = positionForDraping();
|
|
77
74
|
vtcOverlay = vec4(0.0);`,`setOverlayVTC(projectOverlay(positionForDraping()));`))}
|
|
78
75
|
|
|
79
76
|
if (externalColor.a < alphaCutoff) {
|
|
@@ -81,12 +78,12 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
81
78
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
82
79
|
return;
|
|
83
80
|
}
|
|
84
|
-
`),
|
|
81
|
+
`),V)return T.include(l,w),T.include(me,w),D.include(f,w),D.include(pe,w),D.include(ae,w),D.code.add(y`
|
|
85
82
|
float evaluateShadow() {
|
|
86
|
-
return ${
|
|
83
|
+
return ${M?`readShadowMap(vPositionWorldCameraRelative)`:`0.0`};
|
|
87
84
|
}
|
|
88
|
-
`).main.add(
|
|
89
|
-
${
|
|
85
|
+
`).main.add(y`
|
|
86
|
+
${v(!B,`discardBySlice(vPositionWorldCameraRelative);`)}
|
|
90
87
|
|
|
91
88
|
vec4 textureColor = readBaseColorTexture();
|
|
92
89
|
discardOrAdjustAlpha(textureColor);
|
|
@@ -94,15 +91,15 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
94
91
|
// When rendering the occluded overlay, we still need to read the base color texture because we need to use the
|
|
95
92
|
// same discard logic. However after that to render only the draped overlay, we simply set the base texture color
|
|
96
93
|
// to zero.
|
|
97
|
-
${
|
|
94
|
+
${v(z,y`textureColor = vec4(0);`)}
|
|
98
95
|
|
|
99
|
-
${
|
|
100
|
-
vec4 overlayUVs = ${
|
|
96
|
+
${v(I,y`
|
|
97
|
+
vec4 overlayUVs = ${Y?`componentOverlayUVs()`:`vtcOverlay`};
|
|
101
98
|
|
|
102
99
|
vec4 overlayColor = getCombinedOverlayColor(overlayUVs);
|
|
103
100
|
|
|
104
101
|
/* Early discard to only emit when we have overlay */
|
|
105
|
-
${
|
|
102
|
+
${v(z,y`if (overlayColor.a < alphaCutoff) { discard; }`)}
|
|
106
103
|
`)}
|
|
107
104
|
|
|
108
105
|
vec4 externalColor;
|
|
@@ -110,81 +107,81 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
110
107
|
readExternalColor(externalColor, externalColorMixMode);
|
|
111
108
|
|
|
112
109
|
vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
|
|
113
|
-
${
|
|
114
|
-
`),
|
|
110
|
+
${v(U,`materialColor = vec4(0.0);`)}
|
|
111
|
+
`),H?(P&&D.uniforms.add(m),D.include(oe),D.uniforms.add(h).main.add(y`
|
|
115
112
|
applyPBRFactors();
|
|
116
|
-
${
|
|
117
|
-
${
|
|
113
|
+
${v(k===1,`if (externalColorMixMode == 3) mrr = vec3(0.0, 0.6, 0.2);`)}
|
|
114
|
+
${v(A,`mat3 tangentSpace = computeTangentSpace(fragmentFaceNormal, vPositionWorldCameraRelative, vuv0);`)}
|
|
118
115
|
|
|
119
116
|
vec3 viewDirection = normalize(vPositionWorldCameraRelative);
|
|
120
117
|
vec3 upNormal = getLocalUp(positionWorld());
|
|
121
|
-
vec3 shadingNormal = ${
|
|
118
|
+
vec3 shadingNormal = ${A?`computeTextureNormal(tangentSpace, vuv0)`:`fragmentShadingNormal`};
|
|
122
119
|
|
|
123
120
|
float ssao = occlusion * evaluateAmbientOcclusionInverse();
|
|
124
|
-
${
|
|
121
|
+
${v(j,y`float snow = applySnow(fragmentFaceNormal, upNormal, materialColor.rgb, ssao);
|
|
125
122
|
shadingNormal = mix(shadingNormal, fragmentFaceNormal, snow);`)}
|
|
126
|
-
${
|
|
123
|
+
${v(I,`materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);`)}
|
|
127
124
|
|
|
128
125
|
vec3 additionalLight = evaluateAdditionalLighting(1.0 - ssao, positionWorld());
|
|
129
|
-
${
|
|
130
|
-
${
|
|
126
|
+
${v(P,`float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());`)}
|
|
127
|
+
${v(P,`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`,`float shadow = evaluateShadow();`)}
|
|
131
128
|
vec4 shadedColor = vec4(evaluateSceneLighting(shadingNormal, materialColor.rgb, shadow, 1.0 - ssao, additionalLight, viewDirection, upNormal), materialColor.a);
|
|
132
|
-
`)):(
|
|
133
|
-
${
|
|
134
|
-
float shadow = ${P
|
|
129
|
+
`)):(P&&D.uniforms.add(m),Z&&D.uniforms.add(t),D.uniforms.add(g).main.add(y`
|
|
130
|
+
${v(P,`float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());`)}
|
|
131
|
+
float shadow = ${M?P?`max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())`:`evaluateShadow()`:P?`lightingGlobalFactor * (1.0 - additionalAmbientScale)`:`0.0`};
|
|
135
132
|
float ssao = evaluateAmbientOcclusionInverse();
|
|
136
133
|
|
|
137
|
-
${
|
|
134
|
+
${v(M&&N!==1,y`
|
|
138
135
|
float dotFL = dot(fragmentFaceNormal, mainLightDirection);
|
|
139
136
|
if( dotFL <= 0.0) shadow = 1.0;
|
|
140
137
|
`)}
|
|
141
|
-
|
|
138
|
+
vec3 upNormal = getLocalUp(positionWorld());
|
|
139
|
+
${v(j,`float snow = applySnow(fragmentFaceNormal, upNormal, materialColor.rgb, ssao);`)}
|
|
142
140
|
|
|
143
141
|
vec3 viewDirection = normalize(vPositionWorldCameraRelative);
|
|
144
|
-
vec3 upNormal = getLocalUp(positionWorld());
|
|
145
142
|
|
|
146
143
|
// At global scale we create some additional ambient light based on the main light to simulate global illumination
|
|
147
144
|
vec3 additionalLight = evaluateAdditionalLighting(1.0 - ssao, positionWorld());
|
|
148
145
|
|
|
149
|
-
${
|
|
146
|
+
${v(I,`materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);`)}
|
|
150
147
|
|
|
151
148
|
vec4 shadedColor = vec4(evaluateSceneLighting(fragmentShadingNormal, materialColor.rgb, shadow, 1.0 - ssao, additionalLight, viewDirection, upNormal), materialColor.a);
|
|
152
|
-
${
|
|
149
|
+
${v(Z,y`vec4 overlayWaterMask = getOverlayColor(waterNormals, overlayUVs);
|
|
153
150
|
float waterNormalLength = length(overlayWaterMask);
|
|
154
151
|
if (waterNormalLength > 0.95) {
|
|
155
|
-
mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, upNormal);
|
|
152
|
+
mat3 tbnMatrix = ${P?`mat3(tbnTangent, tbnBiTangent, upNormal)`:`mat3(1.0)`};
|
|
156
153
|
vec4 waterColorLinear = getOverlayWaterColor(overlayWaterMask, overlayColor, -normalize(vPositionWorldCameraRelative), shadow, upNormal, tbnMatrix, vPosition_view, positionWorld());
|
|
157
154
|
vec4 waterColorNonLinear = delinearizeGamma(vec4(waterColorLinear.xyz, 1.0));
|
|
158
155
|
// un-gamma the ground color to mix in linear space
|
|
159
156
|
shadedColor = mix(shadedColor, waterColorNonLinear, waterColorLinear.w);
|
|
160
157
|
}`)}
|
|
161
|
-
`)),
|
|
162
|
-
${
|
|
158
|
+
`)),D.main.add(`
|
|
159
|
+
${v(B,`if(rejectBySlice(vPositionWorldCameraRelative)) shadedColor.a *= groundSliceOpacity;`)}
|
|
163
160
|
|
|
164
|
-
outputColorHighlightOLID(applySlice(shadedColor, vPositionWorldCameraRelative), materialColor.rgb ${
|
|
165
|
-
`),
|
|
161
|
+
outputColorHighlightOLID(applySlice(shadedColor, vPositionWorldCameraRelative), materialColor.rgb ${v(j,`, snow`)});
|
|
162
|
+
`),w.sphereDepthInterpolate&&(T.include(S,w),T.fragment.include(a),D.main.add(y`vec3 worldRay = normalize(vPositionWorldCameraRelative);
|
|
166
163
|
vec3 viewRay = normalize(vPosition_view);
|
|
167
|
-
gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));`)),
|
|
168
|
-
${
|
|
164
|
+
gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));`)),T;let $=G||O===8;return $&&T.include(o,w),q&&T.include(l,w),I&&T.include(c,w),T.include(s,w),D.main.add(y`
|
|
165
|
+
${v(!B,`discardBySlice(vPositionWorldCameraRelative);`)}
|
|
169
166
|
|
|
170
167
|
vec4 textureColor = readBaseColorTexture();
|
|
171
168
|
discardOrAdjustAlpha(textureColor);
|
|
172
169
|
|
|
173
|
-
${
|
|
174
|
-
vec4 overlayUVs = ${
|
|
170
|
+
${v(W,y`
|
|
171
|
+
vec4 overlayUVs = ${Y?`componentOverlayUVs()`:`vtcOverlay`};
|
|
175
172
|
if (getCombinedOverlayColor(overlayUVs).a < alphaCutoff) {
|
|
176
173
|
discard;
|
|
177
174
|
}
|
|
178
175
|
`)}
|
|
179
176
|
|
|
180
|
-
${
|
|
181
|
-
${
|
|
177
|
+
${v($,`outputDepth(linearDepth);`)}
|
|
178
|
+
${v(q,y`
|
|
182
179
|
vec4 externalColor;
|
|
183
180
|
int externalColorMixMode;
|
|
184
181
|
readExternalColor(externalColor, externalColorMixMode);
|
|
185
182
|
|
|
186
183
|
vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
|
|
187
|
-
${
|
|
184
|
+
${v(B,y`
|
|
188
185
|
if (rejectBySlice(vPositionWorldCameraRelative)) {
|
|
189
186
|
materialColor.a *= groundSliceOpacity;
|
|
190
187
|
}
|
|
@@ -192,5 +189,5 @@ gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linear
|
|
|
192
189
|
|
|
193
190
|
fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, materialColor.a);
|
|
194
191
|
`)}
|
|
195
|
-
${
|
|
196
|
-
${
|
|
192
|
+
${v(K,I?Y?`fragColor = getOverlayColorTexel(componentOverlayUVs());`:`fragColor = getOverlayColorTexel();`:`outputObjectAndLayerIdColor();`)}
|
|
193
|
+
${v(ge,v(I,Y?y`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded(componentOverlayUVs()));`:y`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,y`calculateOcclusionAndOutputHighlight();`))}`),T}const T=Object.freeze(Object.defineProperty({__proto__:null,build:w},Symbol.toStringTag,{value:`Module`}));export{T as C,w as b};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatBindUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as r}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{parameter as a}from"../views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js";import{
|
|
2
|
+
import{__decorate as e}from"tslib";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatBindUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as r}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{parameter as a}from"../views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js";import{EmissiveGlowConfiguration as o,EmissiveGlowPassParameters as s,applyEmissiveGlow as c}from"../views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js";import{floatBlendScale as l}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ScreenSpacePassAtmosphere as u}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as d}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";class p extends o{constructor(){super(...arguments),this.applyBlur=!0}}e([a()],p.prototype,`applyBlur`,void 0);class m extends s{}function h(e){let a=new f,o=a.fragment;return a.include(u,{needUVs:!0,needEyeDirection:!0}),a.outputs.add(`fragColor`,`vec4`,0),o.include(t),o.include(d),e.applyBlur?(o.include(c,e),o.code.add(`vec3 readEmission() { return applyEmissiveGlow(); }`)):(o.include(l,e),o.uniforms.add(new i(`emissionTexture`,({emission:e})=>e?.attachment)).code.add(`vec3 readEmission() { return texture(emissionTexture, uv).rgb * floatBlendInputScale; }`)),o.uniforms.add(new i(`colorTexture`,({color:e})=>e),new n(`inputScale`,({lighting:e})=>1.2-.5*e.noonFactor)).main.add(r`vec4 color = texture(colorTexture, uv);
|
|
3
3
|
color = vec4(linearizeGamma(color.rgb), color.a);
|
|
4
4
|
vec3 emission = readEmission() * inputScale;
|
|
5
5
|
vec3 toneMapped = tonemapKhronosNeutral(color.rgb + emission);
|
package/chunks/Fog.glsl.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{mainDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{ReadDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{ColorConversion as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{Float3PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{
|
|
2
|
+
import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{mainDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{ReadDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{ColorConversion as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{Float3PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{EmissiveGlowPassParameters as l,applyEmissiveGlow as u}from"../views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js";import{getDistanceFalloff as d}from"../views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js";import{ScreenSpacePassAtmosphere as f}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as p}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";class h extends l{constructor(){super(...arguments),this.fogColor=e(),this.strength=0,this.amount=0,this.fogColorDistanceWeight=.85,this.inputScale=1}}function g(e){let l=new m,{outputs:h,fragment:g}=l;h.add(`fragColor`,`vec4`,0),l.include(f,{needUVs:!0,needEyeDirection:!0}),g.uniforms.add(t,new o(`fogStrength`,e=>e.strength),new o(`fogAmount`,e=>e.amount),new a(`fogColor`,e=>e.fogColor),new o(`fogColorDistanceWeight`,e=>e.fogColorDistanceWeight)).constants.add(`f16Epsilon`,`float`,6103515625e-14),g.include(d),g.include(r),g.include(p),g.include(n),g.include(i),g.main.add(s`float depth = -1.0;
|
|
3
3
|
float depthSample = depthFromTexture(mainDepth, uv);
|
|
4
4
|
if(depthSample < 1.0 && depthSample > 0.0){
|
|
5
5
|
vec3 cameraSpaceRay = normalize(eyeDir);
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{calculateUVZShadowPass as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{lightingGlobalFactor as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{readShadowPass as
|
|
2
|
+
import{calculateUVZShadowPass as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{lightingGlobalFactor as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{positionOutsideClipSpace as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{readShadowPass as o,readShadowMaps as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{cameraPosition as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{RgbNormalizedDepthEncoding as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{glsl as u,If as d}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as f}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{gaussianSplatPerspective as p,gaussianSplatFading as m}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{getGaussianSplatAlphaCutoffValue as h}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";function _(_){let{receiveShadows:v,spherical:y}=_,b=v&&_.fragmentShading,x=b&&_.preciseDepth,S=new g,{varyings:C,vertex:w,fragment:T,outputs:E}=S;C.add(`vColor`,`vec4`),C.add(`gaussianCoordinates`,`vec2`),C.add(`gaussianLogFalloffCutoff`,`float`),C.add(`fragmentPositionCameraRelative`,`vec3`),_.preciseDepth&&C.add(`rayGaussianFactor`,`vec4`),x&&C.add(`shadowReceiverRay`,`vec3`),S.include(p,_),_.fadingEnabled&&w.include(m),w.uniforms.add(c);let D=b?T:w;D.uniforms.add(c),D.include(t,_),D.include(i,_),n(D),D.uniforms.add(r),b?S.include(o,_):v&&(w.include(e),_.hasShadowHighlights&&w.code.add(u`ivec2 getShadowHighlightCoordinates() {
|
|
3
3
|
vec2 screenUV = gl_Position.xy / gl_Position.w * 0.5 + 0.5;
|
|
4
4
|
ivec2 screenPixel = ivec2(screenUV / inverseScreenSize);
|
|
5
5
|
return clamp(screenPixel, ivec2(0), textureSize(shadowHighlight, 0) - 1);
|
|
6
|
-
}`),
|
|
6
|
+
}`),s(w,_.hasShadowHighlights,`getShadowHighlightCoordinates()`)),E.add(`fragColor`,`vec4`,0),E.add(`fragDepthColor`,`vec4`,1);let O=h(_.alphaCutoff),k=u`float groundLightAlignment = dot(upNormal, mainLightDirection);
|
|
7
7
|
float additionalAmbientScale = additionalDirectedAmbientLight(groundLightAlignment);
|
|
8
|
-
vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,A=
|
|
8
|
+
vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,A=u`
|
|
9
9
|
vec3 viewDirection = normalize(fragmentPositionCameraRelative - cameraPosition);
|
|
10
10
|
vec3 upNormal = getLocalUp(fragmentPositionCameraRelative, cameraPosition);
|
|
11
11
|
${k}
|
|
12
|
-
float shadow = ${y?
|
|
13
|
-
${
|
|
14
|
-
${_.preciseDepth?
|
|
15
|
-
float receiverDepth =
|
|
12
|
+
float shadow = ${y?u`lightingGlobalFactor * (1.0 - additionalAmbientScale)`:u`0.0`};
|
|
13
|
+
${d(v,u`
|
|
14
|
+
${_.preciseDepth?u`
|
|
15
|
+
float receiverDepth = computeGaussianRayDepth(rayGaussianFactor);
|
|
16
16
|
vec3 receiverPosition = transpose(mat3(view)) * rayView * receiverDepth;
|
|
17
|
-
`:
|
|
17
|
+
`:u`
|
|
18
18
|
float receiverDepth = -viewPos.z;
|
|
19
19
|
vec3 receiverPosition = fragmentPositionCameraRelative;
|
|
20
20
|
`}
|
|
@@ -22,18 +22,19 @@ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoos
|
|
|
22
22
|
shadow = max(shadow, readShadowMaps(uvzShadow));
|
|
23
23
|
`)}
|
|
24
24
|
vColor.rgb = evaluateSceneLighting(upNormal, vColor.rgb, shadow, 0.0, additionalLight, viewDirection, upNormal);
|
|
25
|
-
`,j=
|
|
25
|
+
`,j=u`
|
|
26
26
|
vec3 viewDirection = normalize(fragmentPositionCameraRelative - cameraPosition);
|
|
27
27
|
vec3 upNormal = getLocalUp(fragmentPositionCameraRelative, cameraPosition);
|
|
28
28
|
${k}
|
|
29
|
-
${x?
|
|
29
|
+
${x?u`
|
|
30
30
|
float shadow = max(
|
|
31
31
|
lightingGlobalFactor * (1.0 - additionalAmbientScale),
|
|
32
32
|
readShadowMap(shadowReceiverRay * receiverDepth, receiverDepth)
|
|
33
33
|
);
|
|
34
34
|
`:`float shadow = readShadow(additionalAmbientScale, fragmentPositionCameraRelative);`}
|
|
35
35
|
shadedColor = evaluateSceneLighting(upNormal, vColor.rgb, shadow, 0.0, additionalLight, viewDirection, upNormal);
|
|
36
|
-
`;return w.main.add(`
|
|
36
|
+
`;return w.main.add(u`
|
|
37
|
+
gl_Position = ${a};
|
|
37
38
|
uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));
|
|
38
39
|
uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);
|
|
39
40
|
|
|
@@ -42,34 +43,77 @@ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoos
|
|
|
42
43
|
float opacity = vColor.a;
|
|
43
44
|
|
|
44
45
|
// Apply per-page fading before the early alpha rejection.
|
|
45
|
-
${
|
|
46
|
-
|
|
46
|
+
${d(_.fadingEnabled,u`
|
|
47
|
+
opacity = applyGaussianSplatFading(opacity, gaussianIndex);
|
|
48
|
+
vColor.a = opacity;
|
|
49
|
+
`)}
|
|
50
|
+
|
|
51
|
+
if (opacity < ${u.float(O)}) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
vec3 cameraRelativePosition = fetchGaussianCameraRelativePosition(gaussianIndex, packedGaussian);
|
|
56
|
+
if (rejectGaussianPosition(cameraRelativePosition)) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1.0);
|
|
61
|
+
if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
47
64
|
|
|
48
|
-
|
|
65
|
+
vec3 gaussianScale = unpackScale(packedGaussian);
|
|
66
|
+
mat3 gaussianRotation = quaternionToRotationMatrix(unpackQuaternion(packedGaussian));
|
|
67
|
+
GaussianSplatProjection projection;
|
|
68
|
+
if (!projectGaussianSplat(
|
|
69
|
+
viewPos.xyz, gaussianScale, gaussianRotation,
|
|
70
|
+
${u.float(O)}, ${u.float(Math.log(O))}, opacity, projection
|
|
71
|
+
)) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
gaussianCoordinates = projection.coordinates;
|
|
76
|
+
gaussianLogFalloffCutoff = projection.logFalloffCutoff;
|
|
77
|
+
fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * projection.viewOffset;
|
|
78
|
+
|
|
79
|
+
${d(_.preciseDepth,u`
|
|
80
|
+
vec3 rayView = reconstructViewRay(projection.clipPosition.xy, inverseProjectionMatrix);
|
|
81
|
+
rayGaussianFactor = computeGaussianRayFactor(
|
|
82
|
+
rayView, cameraRelativePosition, gaussianScale, gaussianRotation, mat3(view)
|
|
83
|
+
);
|
|
84
|
+
`)}
|
|
85
|
+
gl_Position = projection.clipPosition;
|
|
49
86
|
vColor.a = opacity;
|
|
50
|
-
${
|
|
87
|
+
${d(x,`shadowReceiverRay = transpose(mat3(view)) * rayView;`)}
|
|
51
88
|
|
|
52
89
|
// Per-fragment lighting preserves crisp shadow borders; vertex lighting reduces overdraw cost.
|
|
53
|
-
${
|
|
54
|
-
`),T.include(
|
|
90
|
+
${d(b,`forwardLinearDepth(-viewPos.z);`,A)}
|
|
91
|
+
`),T.include(l),T.main.add(u`
|
|
92
|
+
if (rejectGaussianPosition(fragmentPositionCameraRelative)) {
|
|
93
|
+
discard;
|
|
94
|
+
}
|
|
95
|
+
float gaussianExponent = evaluateGaussianExponent(gaussianCoordinates);
|
|
96
|
+
if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogFalloffCutoff) {
|
|
97
|
+
discard;
|
|
98
|
+
}
|
|
55
99
|
float gaussianFalloff = exp(gaussianExponent);
|
|
56
100
|
|
|
57
101
|
// Cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians.
|
|
58
102
|
float alpha = min(.99f, vColor.a * gaussianFalloff);
|
|
59
103
|
|
|
60
|
-
${
|
|
104
|
+
${d(_.preciseDepth,u`float receiverDepth = computeGaussianRayDepth(rayGaussianFactor);`)}
|
|
61
105
|
vec3 shadedColor = vColor.rgb;
|
|
62
|
-
${
|
|
106
|
+
${d(b,j)}
|
|
63
107
|
fragColor = vec4(shadedColor * alpha, alpha);
|
|
64
108
|
|
|
65
109
|
// We simulate first hit based depth using the shared opacity threshold.
|
|
66
110
|
// This works because we render in front-to-back order,
|
|
67
111
|
// i.e. the first hit that counts completely saturates the alpha channel
|
|
68
112
|
// and further splats do not contribute.
|
|
69
|
-
float depthHit = step(${
|
|
113
|
+
float depthHit = step(${u.float(f)}, alpha);
|
|
70
114
|
vec3 encodedDepth = vec3(0.0);
|
|
71
115
|
if (depthHit > 0.0) {
|
|
72
|
-
encodedDepth = encodeNormalizedDepthToRGB(${
|
|
116
|
+
encodedDepth = encodeNormalizedDepthToRGB(${_.preciseDepth?`delinearizeDepth(-receiverDepth)`:`gl_FragCoord.z`});
|
|
73
117
|
}
|
|
74
118
|
fragDepthColor = vec4(encodedDepth, depthHit);
|
|
75
119
|
`),S}const v=Object.freeze(Object.defineProperty({__proto__:null,build:_},Symbol.toStringTag,{value:`Module`}));export{v as G,_ as b};
|
|
@@ -1,11 +1,60 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{If as
|
|
2
|
+
import{positionOutsideClipSpace as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{If as t,glsl as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as r}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{gaussianSplatPerspective as i,gaussianSplatFading as a}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{ShaderBuilder as o}from"../views/webgl/ShaderBuilder.js";function s(s){let{fadingEnabled:c}=s,l=new o,{fragment:u,vertex:d,varyings:f}=l;return l.include(i,s),f.add(`gaussianCoordinates`,`vec2`),f.add(`gaussianLogFalloffCutoff`,`float`),f.add(`fragmentPositionCameraRelative`,`vec3`),s.preciseDepth&&f.add(`rayGaussianFactor`,`vec4`),s.fadingEnabled&&l.vertex.include(a),s.writeNormals&&l.outputs.add(`fragNormal`,`vec4`,0),d.main.add(n`
|
|
3
|
+
gl_Position = ${e};
|
|
3
4
|
uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));
|
|
4
5
|
uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);
|
|
5
6
|
|
|
6
7
|
float opacity = unpackOpacity(packedGaussian);
|
|
7
8
|
|
|
8
|
-
${
|
|
9
|
+
${t(c,n`opacity = applyGaussianSplatFading(opacity, gaussianIndex);`)}
|
|
9
10
|
|
|
10
|
-
${
|
|
11
|
-
|
|
11
|
+
if (opacity < ${n.float(r)}) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
vec3 cameraRelativePosition = fetchGaussianCameraRelativePosition(gaussianIndex, packedGaussian);
|
|
16
|
+
if (rejectGaussianPosition(cameraRelativePosition)) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1.0);
|
|
21
|
+
if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
vec3 gaussianScale = unpackScale(packedGaussian);
|
|
26
|
+
mat3 gaussianRotation = quaternionToRotationMatrix(unpackQuaternion(packedGaussian));
|
|
27
|
+
GaussianSplatProjection projection;
|
|
28
|
+
if (!projectGaussianSplat(
|
|
29
|
+
viewPos.xyz, gaussianScale, gaussianRotation,
|
|
30
|
+
${n.float(r)}, ${n.float(Math.log(r))}, opacity, projection
|
|
31
|
+
)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
gaussianCoordinates = projection.coordinates;
|
|
36
|
+
gaussianLogFalloffCutoff = projection.logFalloffCutoff;
|
|
37
|
+
fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * projection.viewOffset;
|
|
38
|
+
|
|
39
|
+
${t(s.preciseDepth,n`
|
|
40
|
+
vec3 rayView = reconstructViewRay(projection.clipPosition.xy, inverseProjectionMatrix);
|
|
41
|
+
rayGaussianFactor = computeGaussianRayFactor(
|
|
42
|
+
rayView, cameraRelativePosition, gaussianScale, gaussianRotation, mat3(view)
|
|
43
|
+
);
|
|
44
|
+
`)}
|
|
45
|
+
gl_Position = projection.clipPosition;
|
|
46
|
+
`),u.main.add(n`
|
|
47
|
+
if (rejectGaussianPosition(fragmentPositionCameraRelative)) {
|
|
48
|
+
discard;
|
|
49
|
+
}
|
|
50
|
+
${s.normalizedCutoff?n`
|
|
51
|
+
if (dot(gaussianCoordinates, gaussianCoordinates) > 1.0) {
|
|
52
|
+
discard;
|
|
53
|
+
}
|
|
54
|
+
`:n`
|
|
55
|
+
float gaussianExponent = evaluateGaussianExponent(gaussianCoordinates);
|
|
56
|
+
if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogFalloffCutoff) {
|
|
57
|
+
discard;
|
|
58
|
+
}
|
|
59
|
+
`}
|
|
60
|
+
`),s.preciseDepth&&u.main.add(n`gl_FragDepth = delinearizeDepth(-computeGaussianRayDepth(rayGaussianFactor));`),s.writeNormals&&u.main.add(`fragNormal = vec4(0.0);`),l}const c=Object.freeze(Object.defineProperty({__proto__:null,build:s},Symbol.toStringTag,{value:`Module`}));export{c as G,s as b};
|