@arcgis/core 4.25.0-next.20220705 → 4.25.0-next.20220708
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/TimeExtent.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0703495557b0df6878c5.js +1 -0
- package/assets/esri/core/workers/chunks/1570676351a313f1841b.js +1 -0
- package/assets/esri/core/workers/chunks/{695f90305478f5024fa7.js → 1ecbf642debc2207b762.js} +1 -1
- package/assets/esri/core/workers/chunks/{30dbdf2aa1bc8e61cad4.js → 268e7b46202fc1decf9f.js} +1 -1
- package/assets/esri/core/workers/chunks/{47d78b4f7117554acecf.js → 357a27203f5d8fa152de.js} +1 -1
- package/assets/esri/core/workers/chunks/35dfba25a9077ab5dbaf.js +982 -0
- package/assets/esri/core/workers/chunks/377354a81e402edf3077.js +1 -0
- package/assets/esri/core/workers/chunks/3a42d96ea3b59d33bfe8.js +1 -0
- package/assets/esri/core/workers/chunks/3a61e4ab83183f5526a7.js +1 -0
- package/assets/esri/core/workers/chunks/{3790f0362b6f27ee798b.js → 3ee5e8d00cd3bc47a9fa.js} +1 -1
- package/assets/esri/core/workers/chunks/425d1fabc713a598139c.js +1 -0
- package/assets/esri/core/workers/chunks/425e16862feccb467191.js +1 -0
- package/assets/esri/core/workers/chunks/{bbe51b49fe7093e47306.js → 48c8ac9a22190c2b890c.js} +1 -1
- package/assets/esri/core/workers/chunks/4a364bc073fdc7c1b563.js +1 -0
- package/assets/esri/core/workers/chunks/4ca6ada7a4ccde5b5a24.js +1 -0
- package/assets/esri/core/workers/chunks/{905130ff0118962c8140.js → 61b71b8e028eda10ccab.js} +1 -1
- package/assets/esri/core/workers/chunks/{b34cffd5c45d3a8134bc.js → 69f57ad2227e59b323e8.js} +1 -1
- package/assets/esri/core/workers/chunks/{290899b47a52f8b28a9c.js → 791220164501a791b2cd.js} +1 -1
- package/assets/esri/core/workers/chunks/792b4b0a43b4bbbc14ab.js +1 -0
- package/assets/esri/core/workers/chunks/7b32b8e8ebe48ae0dae2.js +1 -0
- package/assets/esri/core/workers/chunks/7f00125b02bb7211de43.js +1 -0
- package/assets/esri/core/workers/chunks/81074accfce5f109f909.js +1 -0
- package/assets/esri/core/workers/chunks/{594d7fdb80ad9cdedb85.js → 823e25dbc70e71257b6e.js} +1 -1
- package/assets/esri/core/workers/chunks/92e43e05265dfc8173a0.js +1 -0
- package/assets/esri/core/workers/chunks/{40fa9b28ca882a70813a.js → 92f7415c2e40e320addc.js} +1 -1
- package/assets/esri/core/workers/chunks/{9520b32d5d53ea9cd0d3.js → 9341e9e1fe0f6800aa44.js} +1 -1
- package/assets/esri/core/workers/chunks/95451d6405729a9f50c7.js +1 -0
- package/assets/esri/core/workers/chunks/{910a2ffb4328f8ee7a0d.js → 95cb9cd08941c28ebd85.js} +1 -1
- package/assets/esri/core/workers/chunks/{97f32af5893c86f6444c.js → 9b9a40b84640f00a1dcb.js} +1 -1
- package/assets/esri/core/workers/chunks/{77c6ba5ea85915d9078c.js → ac07c732aca6e67232f8.js} +1 -1
- package/assets/esri/core/workers/chunks/ae8e87da97411cff3783.js +1 -0
- package/assets/esri/core/workers/chunks/{65161a874595b0a34aa1.js → b312dd3027492007d75e.js} +1 -1
- package/assets/esri/core/workers/chunks/{83c9da68d6dbc77f60e5.js → beead2b06c994b4e61af.js} +1 -1
- package/assets/esri/core/workers/chunks/{5e20fd8b7c9497f2da1f.js → bfb08d3e2208c6178af9.js} +1 -1
- package/assets/esri/core/workers/chunks/{04e5486f0d8d4c6bd8a2.js → c3236a7058e64ea3b939.js} +1 -1
- package/assets/esri/core/workers/chunks/c4e9c71be6299c60c539.js +1 -0
- package/assets/esri/core/workers/chunks/c705f907ce60a646d9aa.js +1 -0
- package/assets/esri/core/workers/chunks/ce6abfafa0171b9c8d81.js +1 -0
- package/assets/esri/core/workers/chunks/{08a5c5a33a7c7c6852e5.js → d00b0f8236f1526099d4.js} +1 -1
- package/assets/esri/core/workers/chunks/d13951412a57e1af6208.js +1 -0
- package/assets/esri/core/workers/chunks/ecaf8f030026e41e1d1a.js +1 -0
- package/assets/esri/core/workers/chunks/f328a6cd4b7d8c653fc7.js +1 -0
- package/assets/esri/core/workers/chunks/f6a6178d4df029ff010d.js +1 -0
- package/assets/esri/core/workers/chunks/fde2301c6cd97a3cfb86.js +1 -0
- package/assets/esri/core/workers/chunks/fe84bcdfd9028b5e7ef6.js +1 -0
- package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +4 -0
- package/assets/esri/themes/base/widgets/_LayerList.scss +4 -0
- 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/CheckerBoard.glsl.js +2 -2
- package/chunks/ColorMaterial.glsl.js +9 -9
- package/chunks/ComponentShader.glsl.js +33 -33
- package/chunks/DefaultMaterial.glsl.js +35 -35
- package/chunks/HUDMaterial.glsl.js +11 -11
- package/chunks/ImageMaterial.glsl.js +5 -5
- package/chunks/LineMarker.glsl.js +17 -17
- package/chunks/NativeLine.glsl.js +3 -3
- package/chunks/Path.glsl.js +28 -28
- package/chunks/Pattern.glsl.js +9 -9
- package/chunks/PointRenderer.glsl.js +1 -1
- package/chunks/RealisticTree.glsl.js +4 -4
- package/chunks/RibbonLine.glsl.js +1 -1
- package/chunks/ShadedColorMaterial.glsl.js +1 -1
- package/chunks/SimpleAtmosphere.glsl.js +1 -1
- package/chunks/Terrain.glsl.js +92 -92
- package/chunks/WaterSurface.glsl.js +22 -22
- package/chunks/common.js +1 -1
- package/chunks/mat2.js +1 -1
- package/chunks/mat2d.js +1 -1
- package/chunks/mat3.js +1 -1
- package/chunks/mat4.js +1 -1
- package/chunks/quat.js +1 -1
- package/chunks/quat2.js +1 -1
- package/chunks/vec2.js +1 -1
- package/chunks/vec3.js +1 -1
- package/chunks/vec4.js +1 -1
- package/core/Message.js +1 -1
- package/core/accessorSupport/tracking.js +1 -1
- package/core/libs/gl-matrix-2/math/common.js +1 -1
- package/core/libs/gl-matrix-2/math/vec2.js +1 -1
- package/core/pbf.js +1 -1
- package/core/quantity.js +0 -1
- package/core/sql/WhereClause.js +1 -1
- package/core/urlUtils.js +1 -1
- package/geometry/support/scaleUtils.js +1 -1
- package/identity/IdentityForm.js +1 -1
- package/identity/IdentityModal.js +1 -1
- package/identity/OAuthCredential.js +1 -1
- package/interfaces.d.ts +3347 -190
- package/intl/date.js +1 -1
- package/intl/duration.js +1 -1
- package/intl/messages.js +1 -1
- package/intl/substitute.js +1 -1
- package/kernel.js +1 -1
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/VoxelWasmPerSceneView.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/ImageryTileMixin.js +1 -1
- package/layers/support/ControlPointsGeoreference.d.ts +4 -0
- package/layers/support/ControlPointsGeoreference.js +5 -0
- package/layers/support/CornersGeoreference.js +1 -1
- package/layers/support/ElevationSamplerData.js +5 -0
- package/layers/support/ElevationTile.js +1 -1
- package/layers/support/ExportImageServiceParameters.js +1 -1
- package/layers/support/MediaElementBase.js +1 -1
- package/layers/support/imageryRendererUtils.js +1 -1
- package/layers/support/rasterDatasets/TIFFRaster.js +1 -1
- package/package.json +1 -1
- package/renderers/support/RasterSymbolizer.js +1 -1
- package/request.js +1 -1
- package/rest/route/utils.js +1 -1
- package/rest/serviceArea.js +1 -1
- package/rest/support/ServiceAreaParameters.js +1 -1
- package/rest/support/ServiceAreaSolveResult.js +1 -1
- package/smartMapping/raster/renderers/classBreaks.js +1 -1
- package/smartMapping/raster/renderers/uniqueValue.js +1 -1
- package/support/apiKeyUtils.js +1 -1
- package/support/requestUtils.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/layers/MapNotesLayerView2D.js +1 -1
- package/views/2d/navigation/actions/Pinch.js +1 -1
- package/views/2d/tiling/TileCache.js +1 -1
- package/views/2d/viewpointUtils.js +1 -1
- package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
- package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
- package/views/3d/environment/CloudsTechnique.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/environment/FogTechnique.js +1 -1
- package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
- package/views/3d/environment/Precipitation.js +1 -1
- package/views/3d/environment/PrecipitationTechnique.js +1 -1
- package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
- package/views/3d/environment/SimpleAtmosphereTechniqueConfiguration.js +1 -1
- package/views/3d/environment/StarsTechnique.js +1 -1
- package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
- package/views/3d/interactive/Manipulator3D.js +1 -1
- package/views/3d/interactive/visualElements/LabelVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
- package/views/3d/layers/i3s/PointRenderer.js +1 -1
- package/views/3d/layers/support/FeatureVisibilityFilter.js +5 -0
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/support/LaserlinePathData.js +1 -1
- package/views/3d/support/ResourceController.js +1 -1
- package/views/3d/terrain/BlendLayersTechnique.js +1 -1
- package/views/3d/terrain/ElevationData.js +1 -1
- package/views/3d/terrain/GeometryState.js +1 -1
- package/views/3d/terrain/OverlayRenderTarget.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/PatchGeometryFactory.js +1 -1
- package/views/3d/terrain/PatchRenderData.js +1 -1
- package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
- package/views/3d/terrain/TerrainConst.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/terrain/tileUtils.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +5 -0
- package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputConfiguration.js +5 -0
- package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +11 -11
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +55 -55
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Terrain.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/BlendWeightsTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/BlurTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/Camera.js +1 -1
- package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/EdgeDetectTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/GLMaterialRepository.js +1 -1
- package/views/3d/webgl-engine/lib/GLMaterials.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
- package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
- package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
- package/views/3d/webgl-engine/lib/SSAOTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/TransparencyPassType.js +5 -0
- package/views/3d/webgl-engine/lib/basicInterfaces.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
- package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/CompositingTechnique.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/DefaultMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightApplyTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightBlurTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightDownsampleTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LaserlinePathTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LaserlineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/PointRendererTechniqueConfiguration.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/RibbonLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/interactive/GraphicManipulator.js +1 -1
- package/views/interactive/SegmentLabels.js +1 -1
- package/views/interactive/coordinateHelper.js +1 -1
- package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
- package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
- package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
- package/views/interactive/snapping/SnappingConstraint.js +1 -1
- package/views/interactive/snapping/SnappingManager.js +1 -1
- package/views/interactive/snapping/candidates/ParallelLineSnappingCandidate.js +1 -1
- package/views/interactive/snapping/candidates/RightAngleTriangleSnappingCandidate.js +1 -1
- package/views/interactive/snapping/snappingUtils.js +1 -1
- package/views/interactive/support/viewUtils.js +1 -1
- package/views/layers/ImageryTileLayerView.js +1 -1
- package/views/support/geometry2dUtils.js +1 -1
- package/webscene/Slide.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
- package/widgets/ElevationProfile.js +1 -1
- package/widgets/LayerList/ListItemPanel.js +1 -1
- package/widgets/LayerList.js +1 -1
- package/widgets/Widget.js +1 -1
- package/widgets/Zoom/ZoomConditions3D.js +1 -1
- package/widgets/Zoom/ZoomViewModel.js +1 -1
- package/widgets/Zoom.js +1 -1
- package/widgets/support/widgetUtils.js +1 -1
- package/assets/esri/core/workers/chunks/06a7f58260225f52f8e6.js +0 -1
- package/assets/esri/core/workers/chunks/0e00741d35cdbf48e72d.js +0 -1
- package/assets/esri/core/workers/chunks/1ebb29ceabc81509646c.js +0 -1
- package/assets/esri/core/workers/chunks/24f7a3df08c3a2d3795c.js +0 -1
- package/assets/esri/core/workers/chunks/39a754713a48d46618bd.js +0 -1
- package/assets/esri/core/workers/chunks/462163f31fa134b7b216.js +0 -1
- package/assets/esri/core/workers/chunks/4bfcb7350ca492767a45.js +0 -1
- package/assets/esri/core/workers/chunks/5470cb0c3f670957c22c.js +0 -1
- package/assets/esri/core/workers/chunks/6889d698a2c796ed1ce6.js +0 -1
- package/assets/esri/core/workers/chunks/869310ef4c98542bf9df.js +0 -1
- package/assets/esri/core/workers/chunks/8ebaad46e2fe8925e3b0.js +0 -1
- package/assets/esri/core/workers/chunks/98c519ac806cc55bc19b.js +0 -1
- package/assets/esri/core/workers/chunks/9d07969fbea13aa5b03c.js +0 -1
- package/assets/esri/core/workers/chunks/9e6ce879ec0da884b9b8.js +0 -1
- package/assets/esri/core/workers/chunks/abd1bd74ba571e39ab5a.js +0 -1
- package/assets/esri/core/workers/chunks/b26ea76e3f41b45756e0.js +0 -1
- package/assets/esri/core/workers/chunks/c2286d97539066c8549a.js +0 -1
- package/assets/esri/core/workers/chunks/c495a66978d67c7e17f3.js +0 -1
- package/assets/esri/core/workers/chunks/c7fa92daca3f6e91734e.js +0 -987
- package/assets/esri/core/workers/chunks/c9e890b4be9d01c13efe.js +0 -1
- package/assets/esri/core/workers/chunks/dda5ea7f8d35e257815c.js +0 -1
- package/assets/esri/core/workers/chunks/e153e89c8a15c2f036ef.js +0 -1
- package/assets/esri/core/workers/chunks/e201ffcca7321771ee20.js +0 -1
- package/assets/esri/core/workers/chunks/e5b5b93e707173a4c883.js +0 -1
- package/assets/esri/core/workers/chunks/f7d1f75b6aa3ef566d74.js +0 -1
- package/assets/esri/core/workers/chunks/fde9e9683335fa6c8236.js +0 -1
- package/core/queryUtils.js +0 -5
- package/views/3d/layers/graphics/Graphics3DFilterVisibility.js +0 -5
- package/views/3d/layers/support/HeatmapFilterVisibility.js +0 -5
- package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js +0 -5
- package/views/3d/webgl-engine/core/shaderLibrary/util/HeaderComment.glsl.js +0 -10
- package/views/3d/webgl-engine/lib/RenderPass.js +0 -5
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{multipassTerrainTest as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{ColorConversion as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as
|
|
5
|
+
import{multipassTerrainTest as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{ColorConversion as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2PassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as t}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{TransparencyPassType as d}from"../views/3d/webgl-engine/lib/TransparencyPassType.js";import{VertexAttribute as l}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function n(n){const c=new t;return c.extensions.add("GL_OES_standard_derivatives"),o(c,n),c.attributes.add(l.POSITION,"vec3"),c.attributes.add(l.UV0,"vec2"),c.varyings.add("vUV","vec2"),n.hasMultipassTerrain&&c.varyings.add("depth","float"),c.vertex.code.add(s`
|
|
6
6
|
void main(void) {
|
|
7
7
|
vUV = uv0;
|
|
8
8
|
${n.hasMultipassTerrain?"depth = (view * vec4(position, 1.0)).z;":""}
|
|
9
9
|
gl_Position = proj * view * vec4(position, 1.0);
|
|
10
10
|
}
|
|
11
|
-
`),c.include(e,n),c.fragment.uniforms.add(new
|
|
11
|
+
`),c.include(e,n),c.fragment.uniforms.add(new i("size",(e=>e.size))),c.fragment.uniforms.add(new a("color1",(e=>e.color1))),c.fragment.uniforms.add(new a("color2",(e=>e.color2))),c.fragment.include(r),c.fragment.code.add(s`
|
|
12
12
|
void main() {
|
|
13
13
|
${n.hasMultipassTerrain?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
14
14
|
vec2 uvScaled = vUV / (2.0 * size);
|
|
@@ -2,27 +2,27 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/
|
|
5
|
+
import{ShaderOutput as e}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{VertexColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{OutputDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as s}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{multipassTerrainTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{symbolAlphaCutoff as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaCutoff.js";import{ColorConversion as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2PassUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4PassUniform as p}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as u}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as h}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{TransparencyPassType as m}from"../views/3d/webgl-engine/lib/TransparencyPassType.js";import{VertexAttribute as c}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function v(v){const w=new h,f=v.output===e.Depth,b=v.hasMultipassTerrain&&(v.output===e.Color||v.output===e.Alpha);d(w,v),w.include(o,v),w.include(i,v),w.attributes.add(c.POSITION,"vec3"),w.varyings.add("vpos","vec3"),b&&w.varyings.add("depth","float");const{vertex:C,fragment:y}=w;return f&&(w.include(t,v),C.uniforms.add(new g("nearFar",((e,r)=>r.camera.nearFar))),w.varyings.add("linearDepth","float")),C.code.add(u`
|
|
6
6
|
void main(void) {
|
|
7
7
|
vpos = position;
|
|
8
8
|
forwardNormalizedVertexColor();
|
|
9
9
|
${b?"depth = (view * vec4(vpos, 1.0)).z;":""}
|
|
10
|
-
gl_Position = ${
|
|
10
|
+
gl_Position = ${f?u`transformPositionWithDepth(proj, view, vpos, nearFar, linearDepth);`:u`transformPosition(proj, view, vpos);`}
|
|
11
11
|
}
|
|
12
|
-
`),
|
|
12
|
+
`),w.include(r,v),b&&w.include(l,v),y.include(n),y.uniforms.add(new p("eColor",(e=>e.color))),v.output===e.Highlight&&w.include(s),y.code.add(u`
|
|
13
13
|
void main() {
|
|
14
14
|
discardBySlice(vpos);
|
|
15
15
|
${b?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
16
|
-
vec4 fColor = ${
|
|
16
|
+
vec4 fColor = ${v.hasVertexColors?"vColor * eColor;":"eColor;"}
|
|
17
17
|
|
|
18
18
|
if (fColor.a < ${u.float(a)}) {
|
|
19
19
|
discard;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
${
|
|
22
|
+
${v.output===e.Alpha?u`gl_FragColor = vec4(fColor.a);`:""}
|
|
23
23
|
|
|
24
|
-
${
|
|
25
|
-
${
|
|
26
|
-
${
|
|
24
|
+
${v.output===e.Color?u`gl_FragColor = highlightSlice(fColor, vpos); ${v.transparencyPassType===m.Color?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}`:""}
|
|
25
|
+
${v.output===e.Highlight?u`outputHighlight();`:""};
|
|
26
|
+
${v.output===e.Depth?u`outputDepth(linearDepth);`:""};
|
|
27
27
|
}
|
|
28
|
-
`),
|
|
28
|
+
`),w}const w=Object.freeze(Object.defineProperty({__proto__:null,build:v},Symbol.toStringTag,{value:"Module"}));export{w as C,v as b};
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";import{OverlayIndex as a,RenderTargetType as i}from"../views/3d/terrain/interfaces.js";import{IntegratedMeshMode as l}from"../views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js";import{ComponentData as t,ComponentDataType as d}from"../views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js";import{VertexDiscardByOpacity as n}from"../views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardByOpacity.glsl.js";import{ForwardLinearDepth as s}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as c}from"../views/3d/webgl-engine/core/shaderLibrary/
|
|
6
|
-
const float invEllipsoidRadius = ${
|
|
5
|
+
import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";import{OverlayIndex as a,RenderTargetType as i}from"../views/3d/terrain/interfaces.js";import{IntegratedMeshMode as l}from"../views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js";import{ComponentData as t,ComponentDataType as d}from"../views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js";import{VertexDiscardByOpacity as n}from"../views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardByOpacity.glsl.js";import{ForwardLinearDepth as s}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as c}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as m}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{NormalAttributeType as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{TextureCoordinateAttribute as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as h}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as p}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as C}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as w}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadLinearDepth as b}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{ComputeMaterialColor as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTexture as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{ComputeShadingNormal as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeShadingNormal.glsl.js";import{EvaluateSceneLighting as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{multipassTerrainTest as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{PBRMode as j,PhysicallyBasedRenderingParameters as T}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPass as N}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{OverlayIM as O,getColorTexture as W}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{symbolAlphaCutoff as P}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaCutoff.js";import{DiscardOrAdjustAlphaDraw as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{EllipsoidMode as B}from"../views/3d/webgl-engine/core/shaderLibrary/util/EllipsoidMode.js";import{Float3PassUniform as R}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as _}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as D}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as F}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DPassUniform as $}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{TransparencyPassType as z}from"../views/3d/webgl-engine/lib/TransparencyPassType.js";function E(a){const i=new F;i.include(p,a),i.include(h,a),i.include(u,a),i.include(v,a),i.include(s,a),i.include(t,a),i.include(A,a),i.include(m,a),i.include(S,a),i.include(n,a);const{vertex:E,fragment:G}=i;a.pbrMode!==j.Normal&&a.pbrMode!==j.Schematic||(i.include(T,a),a.hasNormalTexture&&i.include(x,a));const I=a.output===c.Shadow||a.output===c.ShadowHighlight||a.output===c.ShadowExludeHighlight;I&&a.componentData===d.Varying?E.code.add(D`#define discardShadows(castShadows) { if(!castShadows) { gl_Position = vec4(1e38, 1e38, 1e38, 1.0); return; } }`):E.code.add(D`#define discardShadows(castShadows) {}`);const H=a.integratedMeshMode===l.ColorOverlay||a.integratedMeshMode===l.ColorOverlayWithWater,k=H&&a.output===c.Color&&a.pbrMode===j.WaterOnIntegratedMesh;return H&&(i.include(M,a),i.include(O,a),a.spherical?E.code.add(D`
|
|
6
|
+
const float invEllipsoidRadius = ${D.float(1/(a.ellipsoidMode===B.Earth?e.radius:a.ellipsoidMode===B.Mars?o.radius:r.radius))};
|
|
7
7
|
vec2 projectOverlay(vec3 pos) {
|
|
8
8
|
return pos.xy / (1.0 + invEllipsoidRadius * pos.z);
|
|
9
9
|
}
|
|
10
|
-
`):
|
|
10
|
+
`):E.code.add(D`vec2 projectOverlay(vec3 pos) { return pos.xy; }`)),k&&(i.varyings.add("tbnTangent","vec3"),i.varyings.add("tbnBiTangent","vec3"),i.varyings.add("groundNormal","vec3")),E.code.add(D`
|
|
11
11
|
void main() {
|
|
12
12
|
bool castShadows;
|
|
13
13
|
vec4 externalColor = forwardExternalColor(castShadows);
|
|
@@ -15,7 +15,7 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
|
|
|
15
15
|
|
|
16
16
|
vertexDiscardByOpacity(externalColor.a);
|
|
17
17
|
|
|
18
|
-
if (externalColor.a < ${
|
|
18
|
+
if (externalColor.a < ${D.float(P)}) {
|
|
19
19
|
// Discard this vertex
|
|
20
20
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
21
21
|
return;
|
|
@@ -26,19 +26,19 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
|
|
|
26
26
|
forwardTextureCoordinates();
|
|
27
27
|
forwardVertexColor();
|
|
28
28
|
forwardLinearDepth();
|
|
29
|
-
${
|
|
29
|
+
${k?a.spherical?D`
|
|
30
30
|
groundNormal = normalize(positionWorld());
|
|
31
31
|
tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), groundNormal));
|
|
32
|
-
tbnBiTangent = normalize(cross(groundNormal, tbnTangent));`:
|
|
32
|
+
tbnBiTangent = normalize(cross(groundNormal, tbnTangent));`:D`
|
|
33
33
|
groundNormal = vec3(0.0, 0.0, 1.0);
|
|
34
34
|
tbnTangent = vec3(1.0, 0.0, 0.0);
|
|
35
35
|
tbnBiTangent = vec3(0.0, 1.0, 0.0);`:""}
|
|
36
|
-
${
|
|
36
|
+
${H?D`setOverlayVTC(projectOverlay(position));`:""}
|
|
37
37
|
}
|
|
38
|
-
`),a.output===c.Alpha&&(
|
|
38
|
+
`),a.output===c.Alpha&&(G.include(b),i.include(L,a),i.include(f,a),H&&G.uniforms.add(new $("ovColorTex",((e,o)=>W(e,o)))),G.code.add(D`
|
|
39
39
|
void main() {
|
|
40
40
|
discardBySlice(vPositionWorldCameraRelative);
|
|
41
|
-
${a.hasMultipassTerrain?
|
|
41
|
+
${a.hasMultipassTerrain?D`terrainDepthTest(gl_FragCoord, vPosition_view.z);`:""}
|
|
42
42
|
|
|
43
43
|
vec4 textureColor = readBaseColorTexture();
|
|
44
44
|
discardOrAdjustAlpha(textureColor);
|
|
@@ -52,18 +52,18 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
|
|
|
52
52
|
externalColor,
|
|
53
53
|
externalColorMixMode
|
|
54
54
|
);
|
|
55
|
-
${
|
|
55
|
+
${H?D`
|
|
56
56
|
vec4 overlayColor = getOverlayColor(ovColorTex, vtcOverlay);
|
|
57
57
|
materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;`:""}
|
|
58
58
|
|
|
59
59
|
gl_FragColor = vec4(materialColor.a);
|
|
60
60
|
}
|
|
61
|
-
`)),a.output===c.Color&&(
|
|
61
|
+
`)),a.output===c.Color&&(G.include(b),i.include(L,a),i.include(f,a),i.include(y,a),i.include(M,a),a.receiveShadows?(i.include(N,a),G.code.add(D`float evaluateShadow() {
|
|
62
62
|
return readShadowMap(vPositionWorldCameraRelative, linearDepth);
|
|
63
|
-
}`)):
|
|
63
|
+
}`)):G.code.add(D`float evaluateShadow() { return 0.0; }`),H&&G.uniforms.add(new $("ovColorTex",((e,o)=>W(e,o)))),G.code.add(D`
|
|
64
64
|
void main() {
|
|
65
65
|
discardBySlice(vPositionWorldCameraRelative);
|
|
66
|
-
${a.hasMultipassTerrain?
|
|
66
|
+
${a.hasMultipassTerrain?D`terrainDepthTest(gl_FragCoord, vPosition_view.z);`:""}
|
|
67
67
|
|
|
68
68
|
vec4 textureColor = readBaseColorTexture();
|
|
69
69
|
discardOrAdjustAlpha(textureColor);
|
|
@@ -77,22 +77,22 @@ return readShadowMap(vPositionWorldCameraRelative, linearDepth);
|
|
|
77
77
|
externalColor,
|
|
78
78
|
externalColorMixMode
|
|
79
79
|
);
|
|
80
|
-
${
|
|
81
|
-
`),a.pbrMode===
|
|
82
|
-
${a.pbrMode===
|
|
80
|
+
${H?D`vec4 overlayColor = getOverlayColor(ovColorTex, vtcOverlay);`:""}
|
|
81
|
+
`),a.pbrMode===j.Normal||a.pbrMode===j.Schematic?(G.uniforms.add(new R("lightingMainIntensity",((e,o)=>o.lighting.mainLight.intensity))),G.code.add(D`
|
|
82
|
+
${a.pbrMode===j.Normal?D`
|
|
83
83
|
applyPBRFactors();
|
|
84
84
|
if (int(externalColorMixMode) == 3) {
|
|
85
85
|
mrr = vec3(0.0, 0.6, 0.2);
|
|
86
86
|
}`:""}
|
|
87
87
|
vec3 normalVertex = shadingNormalWorld();
|
|
88
88
|
float additionalIrradiance = 0.02 * lightingMainIntensity[2];
|
|
89
|
-
`),a.hasNormalTexture?
|
|
90
|
-
vec3 shadingNormal = computeTextureNormal(tangentSpace, vuv0);`):
|
|
91
|
-
`),
|
|
89
|
+
`),a.hasNormalTexture?G.code.add(D`mat3 tangentSpace = computeTangentSpace(normalVertex, vPositionWorldCameraRelative, vuv0);
|
|
90
|
+
vec3 shadingNormal = computeTextureNormal(tangentSpace, vuv0);`):G.code.add(D`vec3 shadingNormal = normalVertex;`),G.code.add(D`${a.spherical?D`vec3 normalGround = normalize(positionWorld());`:D`vec3 normalGround = vec3(0.0, 0.0, 1.0);`}
|
|
91
|
+
`),G.code.add(D`
|
|
92
92
|
vec3 viewDir = normalize(vPositionWorldCameraRelative);
|
|
93
93
|
float ssao = 1.0 - occlusion * (1.0 - evaluateAmbientOcclusion());
|
|
94
94
|
|
|
95
|
-
${a.snowCover?
|
|
95
|
+
${a.snowCover?D`
|
|
96
96
|
vec3 surfaceNormal = normalize(shadingNormalWorld());
|
|
97
97
|
float snow = smoothstep(0.5, 0.55, dot(surfaceNormal, normalize(positionWorld())));
|
|
98
98
|
materialColor.rgb = mix(materialColor.rgb, vec3(1), snow);
|
|
@@ -102,21 +102,21 @@ vec3 shadingNormal = computeTextureNormal(tangentSpace, vuv0);`):V.code.add(_`ve
|
|
|
102
102
|
mrr = mix(mrr, vec3(0.0, 1.0, 0.04), snow);
|
|
103
103
|
emission = mix(emission, vec3(0.0), snow);`:""}
|
|
104
104
|
|
|
105
|
-
${
|
|
105
|
+
${H?D` materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;`:""}
|
|
106
106
|
|
|
107
107
|
vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
|
|
108
108
|
vec4 shadedColor = vec4(evaluateSceneLightingPBR(shadingNormal, materialColor.rgb, evaluateShadow(), ssao, additionalLight, viewDir, normalGround, mrr, emission, additionalIrradiance), materialColor.a);
|
|
109
|
-
`)):(a.receiveShadows?
|
|
110
|
-
float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);`)):
|
|
109
|
+
`)):(a.receiveShadows?G.code.add(D`float shadow = evaluateShadow();`):a.spherical?(G.uniforms.add(new _("lightingGlobalFactor",((e,o)=>o.lighting.globalFactor))),G.code.add(D`float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());
|
|
110
|
+
float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);`)):G.code.add(D`float shadow = 0.0;`),k&&G.uniforms.add(new $("ovNormalTex",((e,o)=>V(o)))),a.snowCover&&(i.extensions.add("GL_OES_standard_derivatives"),G.code.add(D`vec3 surfaceNormal = normalize(cross(dFdx(vPositionWorldCameraRelative), dFdy(vPositionWorldCameraRelative)));
|
|
111
111
|
float snow = smoothstep(0.5, 0.55, dot(surfaceNormal, normalize(positionWorld())));
|
|
112
|
-
materialColor.rgb = mix(materialColor.rgb, vec3(1), snow);`)),
|
|
112
|
+
materialColor.rgb = mix(materialColor.rgb, vec3(1), snow);`)),G.code.add(D`
|
|
113
113
|
float ambientOcclusion = evaluateAmbientOcclusion();
|
|
114
114
|
vec3 additionalLight = evaluateAdditionalLighting(ambientOcclusion, positionWorld());
|
|
115
115
|
|
|
116
|
-
${
|
|
116
|
+
${H?D` materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;`:""}
|
|
117
117
|
|
|
118
118
|
vec4 shadedColor = vec4(evaluateSceneLighting(shadingNormalWorld(), materialColor.rgb, shadow, ambientOcclusion, additionalLight), materialColor.a);
|
|
119
|
-
${
|
|
119
|
+
${k?D`
|
|
120
120
|
vec4 overlayWaterMask = getOverlayColor(ovNormalTex, vtcOverlay);
|
|
121
121
|
float waterNormalLength = length(overlayWaterMask);
|
|
122
122
|
if (waterNormalLength > 0.95) {
|
|
@@ -126,16 +126,16 @@ materialColor.rgb = mix(materialColor.rgb, vec3(1), snow);`)),V.code.add(_`
|
|
|
126
126
|
// un-gamma the ground color to mix in linear space
|
|
127
127
|
shadedColor = mix(shadedColor, waterColorNonLinear, waterColorLinear.w);
|
|
128
128
|
}`:""}
|
|
129
|
-
`)),
|
|
129
|
+
`)),G.code.add(D`
|
|
130
130
|
gl_FragColor = highlightSlice(shadedColor, vPositionWorldCameraRelative);
|
|
131
|
-
${a.transparencyPassType
|
|
131
|
+
${a.transparencyPassType===z.Color?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
132
132
|
}
|
|
133
|
-
`)),a.output
|
|
133
|
+
`)),(a.output===c.Depth||I)&&(i.include(C,a),G.code.add(D`void main() {
|
|
134
134
|
discardBySlice(vPositionWorldCameraRelative);
|
|
135
135
|
vec4 textureColor = readBaseColorTexture();
|
|
136
136
|
discardOrAdjustAlpha(textureColor);
|
|
137
137
|
outputDepth(linearDepth);
|
|
138
|
-
}`)),a.output===c.Normal&&(i.include(y,a),
|
|
138
|
+
}`)),a.output===c.Normal&&(i.include(y,a),G.code.add(D`
|
|
139
139
|
void main() {
|
|
140
140
|
discardBySlice(vPositionWorldCameraRelative);
|
|
141
141
|
|
|
@@ -147,14 +147,14 @@ outputDepth(linearDepth);
|
|
|
147
147
|
float alpha = ${a.normalType===g.Ground?"0.0":"1.0"};
|
|
148
148
|
gl_FragColor = vec4(vec3(.5) + .5 * shadingNormal_view(), alpha);
|
|
149
149
|
}
|
|
150
|
-
`)),a.output===c.Highlight&&(i.include(w),
|
|
150
|
+
`)),a.output===c.Highlight&&(i.include(w),G.code.add(D`
|
|
151
151
|
void main() {
|
|
152
152
|
discardBySlice(vPositionWorldCameraRelative);
|
|
153
153
|
|
|
154
154
|
vec4 textureColor = readBaseColorTexture();
|
|
155
155
|
discardOrAdjustAlpha(textureColor);
|
|
156
156
|
|
|
157
|
-
${
|
|
157
|
+
${H?D`
|
|
158
158
|
vec4 overlayColor = getCombinedOverlayColor();
|
|
159
159
|
if (overlayColor.a == 0.0) {
|
|
160
160
|
gl_FragColor = vec4(0.0);
|
|
@@ -163,4 +163,4 @@ outputDepth(linearDepth);
|
|
|
163
163
|
|
|
164
164
|
outputHighlight();
|
|
165
165
|
}
|
|
166
|
-
`)),i}function
|
|
166
|
+
`)),i}function V(e){return 0===e.overlays.length?null:e.overlays[a.INNER].getValidTexture(i.Water)}const G=Object.freeze(Object.defineProperty({__proto__:null,build:E,getOverlayNormalTexture:V},Symbol.toStringTag,{value:"Module"}));export{G as C,E as b,V as g};
|
|
@@ -2,74 +2,74 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{isSome as e}from"../core/maybe.js";import{I as r}from"./mat4f64.js";import{ForwardLinearDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as a}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{ShaderOutput as i}from"../views/3d/webgl-engine/core/shaderLibrary/
|
|
5
|
+
import{isSome as e}from"../core/maybe.js";import{I as r}from"./mat4f64.js";import{ForwardLinearDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as a}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{ShaderOutput as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as t}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as l}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as n,NormalAttributeType as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{PositionAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js";import{SymbolColor as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as p}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as b}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ComputeNormalTexture as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{multipassTerrainTest as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{Normals as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{PhysicallyBasedRendering as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as j,PBRMode as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as L,ReadShadowMapDraw as T}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{VisualVariables as P}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{symbolAlphaCutoff as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaCutoff.js";import{DiscardOrAdjustAlphaPass as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{MixExternalColor as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as $,addCameraPosition as N}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as _}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as F}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{Matrix4PassUniform as V}from"../views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js";import{ShaderBuilder as B}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DPassUniform as I}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{TransparencyPassType as z}from"../views/3d/webgl-engine/lib/TransparencyPassType.js";import{VertexAttribute as G}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{ambientBoost as R}from"../views/3d/webgl-engine/lighting/SceneLighting.js";function U(U){const k=new B,W=k.vertex.code,q=k.fragment.code;return $(k,U),k.include(c),k.varyings.add("vpos","vec3"),k.include(P,U),k.include(s,U),k.include(u,U),U.output!==i.Color&&U.output!==i.Alpha||(N(k.vertex,U),k.include(n,U),k.include(l,U),U.normalType===d.Attribute&&U.offsetBackfaces&&k.include(a),k.include(h,U),k.include(v,U),U.instancedColor&&k.attributes.add(G.INSTANCECOLOR,"vec4"),k.varyings.add("localvpos","vec3"),k.include(m,U),k.include(o,U),k.include(g,U),k.include(p,U),k.vertex.uniforms.add(new _("externalColor",(e=>e.externalColor))),k.varyings.add("vcolorExt","vec4"),U.hasMultipassTerrain&&k.varyings.add("depth","float"),U.hasModelTransformation&&k.vertex.uniforms.add(new V("model",(o=>e(o.modelTransformation)?o.modelTransformation:r))),W.add(F`
|
|
6
6
|
void main(void) {
|
|
7
7
|
forwardNormalizedVertexColor();
|
|
8
8
|
vcolorExt = externalColor;
|
|
9
|
-
${
|
|
9
|
+
${U.instancedColor?"vcolorExt *= instanceColor;":""}
|
|
10
10
|
vcolorExt *= vvColor();
|
|
11
11
|
vcolorExt *= getSymbolColor();
|
|
12
12
|
forwardColorMixMode();
|
|
13
13
|
|
|
14
|
-
if (vcolorExt.a < ${
|
|
14
|
+
if (vcolorExt.a < ${F.float(O)}) {
|
|
15
15
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
16
16
|
} else {
|
|
17
17
|
vpos = calculateVPos();
|
|
18
18
|
localvpos = vpos - view[3].xyz;
|
|
19
19
|
vpos = subtractOrigin(vpos);
|
|
20
|
-
${
|
|
20
|
+
${U.normalType===d.Attribute?F`vNormalWorld = dpNormal(vvLocalNormal(normalModel()));`:""}
|
|
21
21
|
vpos = addVerticalOffset(vpos, localOrigin);
|
|
22
|
-
${
|
|
23
|
-
gl_Position = transformPosition(proj, view, ${
|
|
24
|
-
${
|
|
22
|
+
${U.hasVertexTangents?"vTangent = dpTransformVertexTangent(tangent);":""}
|
|
23
|
+
gl_Position = transformPosition(proj, view, ${U.hasModelTransformation?"model,":""} vpos);
|
|
24
|
+
${U.normalType===d.Attribute&&U.offsetBackfaces?"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);":""}
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
${
|
|
27
|
+
${U.hasMultipassTerrain?"depth = (view * vec4(vpos, 1.0)).z;":""}
|
|
28
28
|
forwardLinearDepth();
|
|
29
29
|
forwardTextureCoordinates();
|
|
30
30
|
}
|
|
31
|
-
`)),
|
|
31
|
+
`)),U.output===i.Alpha&&(k.include(t,U),k.include(A,U),k.include(x,U),k.fragment.uniforms.add([new D("opacity",(e=>e.opacity)),new D("layerOpacity",(e=>e.layerOpacity))]),U.hasColorTexture&&k.fragment.uniforms.add(new I("tex",(e=>e.texture))),k.fragment.include(S),q.add(F`
|
|
32
32
|
void main() {
|
|
33
33
|
discardBySlice(vpos);
|
|
34
|
-
${
|
|
35
|
-
${
|
|
34
|
+
${U.hasMultipassTerrain?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
35
|
+
${U.hasColorTexture?F`
|
|
36
36
|
vec4 texColor = texture2D(tex, vuv0);
|
|
37
|
-
${
|
|
38
|
-
discardOrAdjustAlpha(texColor);`:
|
|
39
|
-
${
|
|
37
|
+
${U.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
38
|
+
discardOrAdjustAlpha(texColor);`:F`vec4 texColor = vec4(1.0);`}
|
|
39
|
+
${U.hasVertexColors?F`float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:F`float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));`}
|
|
40
40
|
gl_FragColor = vec4(opacity_);
|
|
41
41
|
}
|
|
42
|
-
`)),
|
|
42
|
+
`)),U.output===i.Color&&(k.include(t,U),k.include(w,U),k.include(f,U),k.include(A,U),k.include(U.instancedDoublePrecision?L:T,U),k.include(x,U),N(k.fragment,U),k.fragment.uniforms.add([k.vertex.uniforms.get("localOrigin"),new E("ambient",(e=>e.ambient)),new E("diffuse",(e=>e.diffuse)),new D("opacity",(e=>e.opacity)),new D("layerOpacity",(e=>e.layerOpacity)),new D("lightingGlobalFactor",((e,r)=>r.lighting.globalFactor)),new E("lightingMainIntensity",((e,r)=>r.lighting.mainLight.intensity))]),k.fragment.constants.add("ambientBoostFactor","float",R),U.hasColorTexture&&k.fragment.uniforms.add(new I("tex",(e=>e.texture))),k.include(j,U),k.include(C,U),k.fragment.include(S),k.include(y,U),q.add(F`
|
|
43
43
|
void main() {
|
|
44
44
|
discardBySlice(vpos);
|
|
45
|
-
${
|
|
46
|
-
${
|
|
45
|
+
${U.hasMultipassTerrain?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
46
|
+
${U.hasColorTexture?F`
|
|
47
47
|
vec4 texColor = texture2D(tex, vuv0);
|
|
48
|
-
${
|
|
49
|
-
discardOrAdjustAlpha(texColor);`:
|
|
48
|
+
${U.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
49
|
+
discardOrAdjustAlpha(texColor);`:F`vec4 texColor = vec4(1.0);`}
|
|
50
50
|
shadingParams.viewDirection = normalize(vpos - cameraPosition);
|
|
51
|
-
${
|
|
52
|
-
vec3 normal = screenDerivativeNormal(localvpos);`:
|
|
51
|
+
${U.normalType===d.ScreenDerivative?F`
|
|
52
|
+
vec3 normal = screenDerivativeNormal(localvpos);`:F`
|
|
53
53
|
shadingParams.normalView = vNormalWorld;
|
|
54
54
|
vec3 normal = shadingNormal(shadingParams);`}
|
|
55
|
-
${
|
|
55
|
+
${U.pbrMode===M.Normal?"applyPBRFactors();":""}
|
|
56
56
|
float ssao = evaluateAmbientOcclusionInverse();
|
|
57
57
|
ssao *= getBakedOcclusion();
|
|
58
58
|
|
|
59
59
|
float additionalAmbientScale = additionalDirectedAmbientLight(vpos + localOrigin);
|
|
60
|
-
${
|
|
60
|
+
${U.receiveShadows?"float shadow = readShadowMap(vpos, linearDepth);":U.spherical?"float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);":"float shadow = 0.0;"}
|
|
61
61
|
vec3 matColor = max(ambient, diffuse);
|
|
62
|
-
${
|
|
62
|
+
${U.hasVertexColors?F`
|
|
63
63
|
vec3 albedo = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
64
|
-
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:
|
|
64
|
+
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:F`
|
|
65
65
|
vec3 albedo = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
66
66
|
float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));`}
|
|
67
|
-
${
|
|
68
|
-
mat3 tangentSpace = ${
|
|
69
|
-
vec3 shadingNormal = computeTextureNormal(tangentSpace, vuv0);`:
|
|
70
|
-
vec3 normalGround = ${
|
|
67
|
+
${U.hasNormalTexture?F`
|
|
68
|
+
mat3 tangentSpace = ${U.hasVertexTangents?"computeTangentSpace(normal);":"computeTangentSpace(normal, vpos, vuv0);"}
|
|
69
|
+
vec3 shadingNormal = computeTextureNormal(tangentSpace, vuv0);`:F`vec3 shadingNormal = normal;`}
|
|
70
|
+
vec3 normalGround = ${U.spherical?F`normalize(vpos + localOrigin);`:F`vec3(0.0, 0.0, 1.0);`}
|
|
71
71
|
|
|
72
|
-
${
|
|
72
|
+
${U.snowCover?F`
|
|
73
73
|
float snow = smoothstep(0.5, 0.55, dot(normal, normalGround));
|
|
74
74
|
albedo = mix(albedo, vec3(1), snow);
|
|
75
75
|
shadingNormal = mix(shadingNormal, normal, snow);
|
|
@@ -77,14 +77,14 @@ import{isSome as e}from"../core/maybe.js";import{I as r}from"./mat4f64.js";impor
|
|
|
77
77
|
|
|
78
78
|
vec3 additionalLight = ssao * lightingMainIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
|
|
79
79
|
|
|
80
|
-
${
|
|
80
|
+
${U.pbrMode===M.Normal||U.pbrMode===M.Schematic?F`
|
|
81
81
|
float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * lightingMainIntensity[2];
|
|
82
|
-
${
|
|
82
|
+
${U.snowCover?F`
|
|
83
83
|
mrr = mix(mrr, vec3(0.0, 1.0, 0.04), snow);
|
|
84
84
|
emission = mix(emission, vec3(0.0), snow);`:""}
|
|
85
85
|
|
|
86
|
-
vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);`:
|
|
86
|
+
vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);`:F`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
|
|
87
87
|
gl_FragColor = highlightSlice(vec4(shadedColor, opacity_), vpos);
|
|
88
|
-
${
|
|
88
|
+
${U.transparencyPassType===z.Color?F`gl_FragColor = premultiplyAlpha(gl_FragColor);`:""}
|
|
89
89
|
}
|
|
90
|
-
`)),
|
|
90
|
+
`)),k.include(b,U),k}const k=Object.freeze(Object.defineProperty({__proto__:null,build:U},Symbol.toStringTag,{value:"Module"}));export{k as D,U as b};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{isSome as e}from"../core/maybe.js";import{s as o,c as i}from"./vec2.js";import{O as r,a as l}from"./vec2f64.js";import{Z as
|
|
5
|
+
import{isSome as e}from"../core/maybe.js";import{s as o,c as i}from"./vec2.js";import{O as r,a as l}from"./vec2f64.js";import{Z as a}from"./vec4f64.js";import{DEFAULT_TEX_SIZE as t}from"../views/3d/layers/graphics/sdfPrimitives.js";import{ShaderOutput as s}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as n}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{AlignPixel as c}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as d}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{HUDOcclusionPass as u}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js";import{OutputHighlight as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{VisualVariables as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{symbolAlphaCutoff as g,defaultMaskAlphaCutoff as f}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaCutoff.js";import{ColorConversion as m}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as b}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{ScreenSizePerspective as h,addScreenSizePerspective as w,addScreenSizePerspectiveAlignment as x}from"../views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import{Float2PassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4PassUniform as P}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{Float4sPassUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Float4sPassUniform.js";import{FloatPassUniform as j}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as z}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{glsl as y}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as F}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DPassUniform as O}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{TransparencyPassType as A}from"../views/3d/webgl-engine/lib/TransparencyPassType.js";import{VertexAttribute as $}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{vvColorNumber as D}from"../views/3d/webgl-engine/materials/VisualVariablePassParameters.js";function B(i){const l=new F,B=i.signedDistanceFieldEnabled;if(l.include(c),l.include(d,i),l.include(n,i),i.occlusionPass)return l.include(u,i),l;const{vertex:H,fragment:U}=l;l.include(h),U.include(b),U.include(m),l.include(v,i),l.varyings.add("vcolor","vec4"),l.varyings.add("vtc","vec2"),l.varyings.add("vsize","vec2"),i.binaryHighlightOcclusionEnabled&&l.varyings.add("voccluded","float"),H.uniforms.add([new P("viewport",((e,o)=>o.camera.fullViewport)),new C("screenOffset",((e,i)=>o(T,2*e.screenOffset[0]*i.camera.pixelRatio,2*e.screenOffset[1]*i.camera.pixelRatio))),new C("anchorPosition",(e=>L(e))),new P("materialColor",(e=>e.color)),new j("pixelRatio",((e,o)=>o.camera.pixelRatio))]),B&&(H.uniforms.add(new P("outlineColor",(e=>e.outlineColor))),U.uniforms.add([new P("outlineColor",(e=>_(e)?e.outlineColor:a)),new j("outlineSize",(e=>_(e)?e.outlineSize:0))])),i.hasScreenSizePerspective&&(w(H),x(H)),(i.debugDrawLabelBorder||i.binaryHighlightOcclusionEnabled)&&l.varyings.add("debugBorderCoords","vec4"),l.attributes.add($.UV0,"vec2"),l.attributes.add($.COLOR,"vec4"),l.attributes.add($.SIZE,"vec2"),l.attributes.add($.AUXPOS2,"vec4"),H.code.add(y`
|
|
6
6
|
void main(void) {
|
|
7
7
|
ProjectHUDAux projectAux;
|
|
8
8
|
vec4 posProj = projectPositionHUD(projectAux);
|
|
@@ -28,14 +28,14 @@ import{isSome as e}from"../core/maybe.js";import{s as o,c as i}from"./vec2.js";i
|
|
|
28
28
|
${i.occlusionTestEnabled||i.binaryHighlightOcclusionEnabled?"bool visible = testVisibilityHUD(posProj);":""}
|
|
29
29
|
|
|
30
30
|
${i.binaryHighlightOcclusionEnabled?"voccluded = visible ? 0.0 : 1.0;":""}
|
|
31
|
-
`);const
|
|
31
|
+
`);const V=y`vec2 uv01 = floor(uv0);
|
|
32
32
|
vec2 uv = uv0 - uv01;
|
|
33
|
-
quadOffset.xy = ((uv01 - anchorPosition) * 2.0 * combinedSize + screenOffsetScaled) / viewport.zw * posProj.w;`,
|
|
33
|
+
quadOffset.xy = ((uv01 - anchorPosition) * 2.0 * combinedSize + screenOffsetScaled) / viewport.zw * posProj.w;`,E=i.pixelSnappingEnabled?B?y`posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;`:y`posProj += quadOffset;
|
|
34
34
|
if (inputSize.x == size.x) {
|
|
35
35
|
posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
36
36
|
}`:y`posProj += quadOffset;`;i.vvColor&&H.uniforms.add([new S("vvColorColors",(e=>e.vvColorColors),D),new z("vvColorValues",(e=>e.vvColorValues),D)]),H.uniforms.add(new C("textureCoordinateScaleFactor",(o=>e(o.texture)&&e(o.texture.descriptor.textureCoordinateScaleFactor)?o.texture.descriptor.textureCoordinateScaleFactor:r))),H.code.add(y`
|
|
37
37
|
${i.occlusionTestEnabled?"if (visible) {":""}
|
|
38
|
-
${
|
|
38
|
+
${V}
|
|
39
39
|
${i.vvColor?"vcolor = vvGetColor(auxpos2, vvColorValues, vvColorColors) * materialColor;":"vcolor = color / 255.0 * materialColor;"}
|
|
40
40
|
|
|
41
41
|
bool alphaDiscard = vcolor.a < ${y.float(g)};
|
|
@@ -45,7 +45,7 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
|
45
45
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
46
46
|
return;
|
|
47
47
|
} else {
|
|
48
|
-
${
|
|
48
|
+
${E}
|
|
49
49
|
gl_Position = posProj;
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -56,7 +56,7 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
|
56
56
|
${i.occlusionTestEnabled?y`} else { vtc = vec2(0.0);
|
|
57
57
|
${i.debugDrawLabelBorder?"debugBorderCoords = vec4(0.5, 0.5, 1.5 / combinedSize);}":"}"}`:""}
|
|
58
58
|
}
|
|
59
|
-
`),
|
|
59
|
+
`),U.uniforms.add(new O("tex",(e=>e.texture)));const M=i.debugDrawLabelBorder?y`(isBorder > 0.0 ? 0.0 : ${y.float(f)})`:y.float(f),R=y`
|
|
60
60
|
${i.debugDrawLabelBorder?y`
|
|
61
61
|
float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));`:""}
|
|
62
62
|
|
|
@@ -66,7 +66,7 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
|
66
66
|
// Attempt to sample texel centers to avoid that thin cross outlines
|
|
67
67
|
// disappear with large symbol sizes.
|
|
68
68
|
// see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/7058#issuecomment-603041
|
|
69
|
-
const float txSize = ${y.float(
|
|
69
|
+
const float txSize = ${y.float(t)};
|
|
70
70
|
const float texelSize = 1.0 / txSize;
|
|
71
71
|
// Calculate how much we have to add/subtract to/from each texel to reach the size of an onscreen pixel
|
|
72
72
|
vec2 scaleFactor = (vsize - txSize) * texelSize;
|
|
@@ -123,17 +123,17 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
|
123
123
|
|
|
124
124
|
// Draw debug border with transparency, so that original texels along border are still partially visible
|
|
125
125
|
${i.debugDrawLabelBorder?y`gl_FragColor = mix(gl_FragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder * 0.5);`:""}
|
|
126
|
-
`;return i.output===s.Alpha&&
|
|
126
|
+
`;return i.output===s.Alpha&&U.code.add(y`
|
|
127
127
|
void main() {
|
|
128
128
|
${R}
|
|
129
129
|
gl_FragColor = vec4(gl_FragColor.a);
|
|
130
130
|
}
|
|
131
|
-
`),i.output===s.Color&&
|
|
131
|
+
`),i.output===s.Color&&U.code.add(y`
|
|
132
132
|
void main() {
|
|
133
133
|
${R}
|
|
134
134
|
${i.transparencyPassType===A.FrontFace?"gl_FragColor.rgb /= gl_FragColor.a;":""}
|
|
135
135
|
}
|
|
136
|
-
`),i.output===s.Highlight&&(l.include(p),
|
|
136
|
+
`),i.output===s.Highlight&&(l.include(p),U.code.add(y`
|
|
137
137
|
void main() {
|
|
138
138
|
${R}
|
|
139
139
|
${i.binaryHighlightOcclusionEnabled?y`
|
|
@@ -143,4 +143,4 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
|
143
143
|
gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0);
|
|
144
144
|
}`:"outputHighlight();"}
|
|
145
145
|
}
|
|
146
|
-
`)),l}function _(e){return e.outlineColor[3]>0&&e.outlineSize>0}function L(e,o=
|
|
146
|
+
`)),l}function _(e){return e.outlineColor[3]>0&&e.outlineSize>0}function L(e,o=T){return e.textureIsSignedDistanceField?H(e.anchorPosition,e.distanceFieldBoundingBox,o):i(o,e.anchorPosition),o}function H(i,r,l){e(r)?o(l,i[0]*(r[2]-r[0])+r[0],i[1]*(r[3]-r[1])+r[1]):o(l,0,0)}const T=l(),U=Object.freeze(Object.defineProperty({__proto__:null,build:B,calculateAnchorPosForRendering:L},Symbol.toStringTag,{value:"Module"}));export{U as H,B as b,L as c};
|
|
@@ -2,32 +2,32 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{isSome as e}from"../core/maybe.js";import{O as r}from"./vec2f64.js";import{ShaderOutput as o}from"../views/3d/webgl-engine/core/shaderLibrary/
|
|
5
|
+
import{isSome as e}from"../core/maybe.js";import{O as r}from"./vec2f64.js";import{ShaderOutput as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{multipassTerrainTest as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{defaultMaskAlphaCutoff as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaCutoff.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2PassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{FloatPassUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as p}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as c}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{TransparencyPassType as m}from"../views/3d/webgl-engine/lib/TransparencyPassType.js";import{VertexAttribute as v}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function f(f){const w=new c;l(w,f),w.include(a,f),w.attributes.add(v.POSITION,"vec3"),w.attributes.add(v.UV0,"vec2"),w.varyings.add("vpos","vec3"),f.hasMultipassTerrain&&w.varyings.add("depth","float");const{vertex:h,fragment:b}=w;return h.uniforms.add(new n("textureCoordinateScaleFactor",(o=>e(o.texture)&&e(o.texture.descriptor.textureCoordinateScaleFactor)?o.texture.descriptor.textureCoordinateScaleFactor:r))),h.code.add(p`
|
|
6
6
|
void main(void) {
|
|
7
7
|
vpos = position;
|
|
8
8
|
${f.hasMultipassTerrain?"depth = (view * vec4(vpos, 1.0)).z;":""}
|
|
9
9
|
vTexCoord = uv0 * textureCoordinateScaleFactor;
|
|
10
10
|
gl_Position = transformPosition(proj, view, vpos);
|
|
11
11
|
}
|
|
12
|
-
`),w.include(i,f),w.include(t,f),b.uniforms.add([new u("tex",(e=>e.texture)),new g("opacity",(e=>e.opacity))]),w.varyings.add("vTexCoord","vec2"),f.output===o.Alpha?b.code.add(
|
|
12
|
+
`),w.include(i,f),w.include(t,f),b.uniforms.add([new u("tex",(e=>e.texture)),new g("opacity",(e=>e.opacity))]),w.varyings.add("vTexCoord","vec2"),f.output===o.Alpha?b.code.add(p`
|
|
13
13
|
void main() {
|
|
14
14
|
discardBySlice(vpos);
|
|
15
15
|
${f.hasMultipassTerrain?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
16
16
|
|
|
17
17
|
float alpha = texture2D(tex, vTexCoord).a * opacity;
|
|
18
|
-
if (alpha < ${
|
|
18
|
+
if (alpha < ${p.float(s)}) {
|
|
19
19
|
discard;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
gl_FragColor = vec4(alpha);
|
|
23
23
|
}
|
|
24
|
-
`):(b.include(d),b.code.add(
|
|
24
|
+
`):(b.include(d),b.code.add(p`
|
|
25
25
|
void main() {
|
|
26
26
|
discardBySlice(vpos);
|
|
27
27
|
${f.hasMultipassTerrain?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
28
28
|
gl_FragColor = texture2D(tex, vTexCoord) * opacity;
|
|
29
29
|
|
|
30
|
-
if (gl_FragColor.a < ${
|
|
30
|
+
if (gl_FragColor.a < ${p.float(s)}) {
|
|
31
31
|
discard;
|
|
32
32
|
}
|
|
33
33
|
|