@arcgis/core 4.23.0-next.20220127 → 4.23.0-next.20220131
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/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0463ba46df855a92b9c0.js +1 -0
- package/assets/esri/core/workers/chunks/{8001b0e514bfffe9d7f8.js → 0c15d77d8e817cf45a9a.js} +1 -1
- package/assets/esri/core/workers/chunks/{e657ba0cab29f05d02da.js → 0cd0a6eef51fc5b9ea61.js} +1 -1
- package/assets/esri/core/workers/chunks/{e4896cf85fb2da8a9cc7.js → 17de7a324dfa7f57ad5d.js} +1 -1
- package/assets/esri/core/workers/chunks/{c36f84daa7736878418d.js → 197ec52641aed20029c6.js} +1 -1
- package/assets/esri/core/workers/chunks/{0317f37b6c8705b363fd.js → 1c733b7db092a2a88ef3.js} +1 -1
- package/assets/esri/core/workers/chunks/{9387db408f496e7dd003.js → 214910032945dd2d86b0.js} +1 -1
- package/assets/esri/core/workers/chunks/{d835b2a683fcd8aeeed8.js → 27474b007988855bea9d.js} +1 -1
- package/assets/esri/core/workers/chunks/{e93dfdede0532a89ffa5.js → 2b25fc7945a187c2bb9d.js} +1 -1
- package/assets/esri/core/workers/chunks/{5948923e07bd1662c24a.js → 37c03cfc19086ce631c6.js} +1 -1
- package/assets/esri/core/workers/chunks/44f0c3663b293afbd172.js +1 -0
- package/assets/esri/core/workers/chunks/483d5d8593d96d0f0b15.js +1 -0
- package/assets/esri/core/workers/chunks/49a1a633bb0d93764aae.js +1 -0
- package/assets/esri/core/workers/chunks/{5f1dcb6556820cd0aa31.js → 4be35af7d6babbfe9d84.js} +1 -1
- package/assets/esri/core/workers/chunks/{f9ff3eaf4eb324429fbd.js → 5457962a70bd3c557a75.js} +1 -1
- package/assets/esri/core/workers/chunks/56657f890e0f79f5d2ad.js +1 -0
- package/assets/esri/core/workers/chunks/57856b4a9b8784a69844.js +1 -0
- package/assets/esri/core/workers/chunks/{56274b37ff74ca0d68a6.js → 5d11b97b667921d67ae7.js} +1 -1
- package/assets/esri/core/workers/chunks/{ba5eb394f098968c22d2.js → 655b55ac0cd533d7e9d7.js} +1 -1
- package/assets/esri/core/workers/chunks/70d6bb3c7112cb702389.js +1 -0
- package/assets/esri/core/workers/chunks/810a763373d7f78ae398.js +1 -0
- package/assets/esri/core/workers/chunks/918bb7a7d901544a7367.js +1 -0
- package/assets/esri/core/workers/chunks/949b2269457302ffc64b.js +1 -0
- package/assets/esri/core/workers/chunks/{601e697dc7414bda128a.js → 952980635afc7ec81804.js} +1 -1
- package/assets/esri/core/workers/chunks/{e8741bf421f80213f1d3.js → 9876a1bae350795fab36.js} +1 -1
- package/assets/esri/core/workers/chunks/99619fcb772807c74f3b.js +1 -0
- package/assets/esri/core/workers/chunks/{3f343f792fd9f44d6f25.js → b3f5e91116112b0b612a.js} +1 -1
- package/assets/esri/core/workers/chunks/{9d77467aa71d345fc1b6.js → bcc01bbffaa3bb5f60a8.js} +1 -1
- package/assets/esri/core/workers/chunks/{4c76146014dc15143ba3.js → be588873c16770ceb9ef.js} +1 -1
- package/assets/esri/core/workers/chunks/d1fe53b597351dc58305.js +1 -0
- package/assets/esri/core/workers/chunks/d98dab12b71912fa397b.js +1 -0
- package/assets/esri/core/workers/chunks/{b62e3dccd9f662c0afeb.js → db3c729ce0c0b2690dc9.js} +1 -1
- package/assets/esri/core/workers/chunks/{199670a3a564ebe3bd79.js → e218bde41ffbcc5194f5.js} +1 -1
- package/assets/esri/core/workers/chunks/e21b211913aefde47e30.js +1 -0
- package/assets/esri/core/workers/chunks/{c9cbf8135e95f0f42cd9.js → e287f49184d076af17e2.js} +1 -1
- package/assets/esri/core/workers/chunks/{bde1d5b0a7717350986e.js → e4019b63a1fe74e2c842.js} +1 -1
- package/assets/esri/core/workers/chunks/{6e6a3c5866e8d8820457.js → eb82ff10cef2bde6e57f.js} +1 -1
- package/assets/esri/core/workers/chunks/ebc6f4764b82d4104c65.js +1 -0
- package/assets/esri/core/workers/chunks/{842db82733635dbf25cb.js → ee6e0db58dc64410e687.js} +1 -1
- package/assets/esri/core/workers/chunks/f0a9f161805fc7a30fc5.js +1 -0
- package/assets/esri/core/workers/chunks/f7150547d7e3259a0f29.js +981 -0
- package/assets/esri/core/workers/chunks/fc046a15466c25d081ff.js +1 -0
- package/assets/esri/images/portal/mediaservice16.png +0 -0
- package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
- package/assets/esri/widgets/Directions/t9n/Directions.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_ar.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_bg.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_bs.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_ca.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_cs.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_da.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_de.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_el.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_en.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_es.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_et.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_fi.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_fr.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_he.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_hr.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_hu.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_id.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_it.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_ja.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_ko.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_lt.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_lv.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_nb.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_nl.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_pl.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_pt-BR.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_pt-PT.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_ro.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_ru.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_sk.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_sl.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_sr.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_sv.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_th.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_tr.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_uk.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_vi.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_zh-CN.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_zh-HK.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_zh-TW.json +1 -1
- package/chunks/BlendLayers.glsl.js +2 -2
- package/chunks/ChapmanAtmosphere.glsl.js +17 -17
- package/chunks/CheckerBoard.glsl.js +3 -3
- package/chunks/Clouds.glsl.js +2 -2
- package/chunks/CloudsComposition.glsl.js +1 -1
- package/chunks/ColorMaterial.glsl.js +12 -12
- package/chunks/ComponentShader.glsl.js +3 -3
- package/chunks/Compositing.glsl.js +1 -1
- package/chunks/DefaultMaterial.glsl.js +33 -33
- package/chunks/EdgeShaderProgram.glsl.js +7 -7
- package/chunks/Fog.glsl.js +10 -12
- package/chunks/HUDMaterial.glsl.js +2 -2
- package/chunks/HighlightComposition.glsl.js +5 -5
- package/chunks/ImageMaterial.glsl.js +6 -6
- package/chunks/LaserlinePath.glsl.js +8 -8
- package/chunks/LineCallout.glsl.js +6 -6
- package/chunks/MeasurementArrow.glsl.js +1 -1
- package/chunks/NativeLine.glsl.js +1 -1
- package/chunks/Path.glsl.js +5 -5
- package/chunks/Pattern.glsl.js +9 -9
- package/chunks/PointRenderer.glsl.js +14 -14
- package/chunks/Precipitation.glsl.js +2 -2
- package/chunks/RealisticTree.glsl.js +21 -21
- package/chunks/RibbonLine.glsl.js +11 -11
- package/chunks/SMAA.glsl.js +40 -40
- package/chunks/ShadedColorMaterial.glsl.js +12 -12
- package/chunks/ShadowCast.glsl.js +6 -6
- package/chunks/ShadowHighlight.glsl.js +4 -4
- package/chunks/SimpleAtmosphere.glsl.js +3 -3
- package/chunks/SlicePlaneMaterial.glsl.js +3 -3
- package/chunks/Stars.glsl.js +3 -3
- package/chunks/Terrain.glsl.js +11 -11
- package/chunks/TextureOnly.glsl.js +2 -2
- package/chunks/WaterSurface.glsl.js +5 -5
- package/chunks/boundedPlane.js +1 -1
- package/core/accessorSupport/watch.js +1 -1
- package/core/loadAll.js +1 -1
- package/geometry/support/frustum.js +1 -1
- package/geometry/support/plane.js +1 -1
- package/interfaces.d.ts +653 -55
- package/layers/RouteLayer.d.ts +4 -0
- package/layers/RouteLayer.js +1 -1
- package/layers/VectorTileLayer.js +1 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/graphics/featureConversionUtils.js +1 -1
- package/layers/support/LayerContingentValuesCache.js +1 -1
- package/layers/support/TileInfo.js +1 -1
- package/package.json +1 -1
- package/portal/PortalItem.js +1 -1
- package/rest/support/DirectionLine.d.ts +4 -0
- package/rest/support/DirectionPoint.d.ts +4 -0
- package/rest/support/RouteInfo.d.ts +4 -0
- package/rest/support/RouteInfo.js +1 -1
- package/rest/support/RouteSolveResult.d.ts +4 -0
- package/smartMapping/statistics/support/predominanceUtils.d.ts +4 -0
- package/support/revision.js +1 -1
- package/symbols/FillSymbol3DLayer.js +1 -1
- package/symbols/IconSymbol3DLayer.js +1 -1
- package/symbols/ObjectSymbol3DLayer.js +1 -1
- package/symbols/Symbol3D.js +1 -1
- package/symbols/WebStyleSymbol.js +1 -1
- package/symbols/cim/CIMSymbolRasterizer.js +1 -1
- package/symbols/support/IconSymbol3DLayerResource.js +1 -1
- package/symbols/support/ObjectSymbol3DLayerResource.js +1 -1
- package/symbols/support/Symbol3DAnchorPosition2D.js +1 -1
- package/symbols/support/Symbol3DAnchorPosition3D.js +1 -1
- package/symbols/support/Symbol3DFillMaterial.js +1 -1
- package/symbols/support/Symbol3DIconOutline.js +1 -1
- package/symbols/support/Symbol3DOutline.js +1 -1
- package/symbols/support/Thumbnail.js +1 -1
- package/symbols/support/webStyleSymbolUtils.js +1 -1
- package/views/2d/engine/vectorTiles/SchemaHelper.js +1 -1
- package/views/2d/layers/RouteLayerView2D.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.glsl.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/CloudsComposition.glsl.js +1 -1
- package/views/3d/environment/CloudsComposition.js +1 -1
- package/views/3d/environment/CloudsGenerator.js +1 -1
- package/views/3d/environment/Fog.glsl.js +1 -1
- package/views/3d/environment/Fog.js +1 -1
- package/views/3d/environment/NoiseTextureAtlas.js +1 -1
- package/views/3d/environment/PanoramicAtmosphere.js +1 -1
- package/views/3d/environment/Precipitation.glsl.js +1 -1
- package/views/3d/environment/Precipitation.js +1 -1
- package/views/3d/environment/PrecipitationTechnique.js +1 -1
- package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
- package/views/3d/environment/SimpleAtmosphere.js +1 -1
- package/views/3d/environment/Stars.glsl.js +1 -1
- package/views/3d/environment/Stars.js +1 -1
- package/views/3d/interactive/analysisTools/slice/sliceToolUtils.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
- package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/ElevationAligners.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/graphicUtils.js +1 -1
- package/views/3d/layers/graphics/lineUtils.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/graphics/polygonUtils.js +1 -1
- package/views/3d/layers/graphics/symbolComplexity.js +1 -1
- package/views/3d/layers/i3s/I3SBinaryReader.js +1 -1
- package/views/3d/layers/i3s/I3SCrossfadeHelper.js +1 -1
- package/views/3d/layers/i3s/I3SIndex.js +1 -1
- package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/layers/i3s/PointRenderer.js +1 -1
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +5 -0
- package/views/3d/layers/support/overlayImageUtils.js +1 -1
- package/views/3d/layers/support/patternUtils.js +1 -1
- package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
- package/views/3d/support/FrustumExtentIntersection.js +1 -1
- package/views/3d/support/LaserLineRenderer.js +1 -1
- package/views/3d/support/LaserlinePathData.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/PatchGeometryFactory.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/TileRenderer.js +1 -1
- package/views/3d/terrain/terrainUtils.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/shader/ComponentData.glsl.js +10 -10
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
- package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.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/ScreenSizeScaling.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +12 -12
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +16 -16
- package/views/3d/webgl-engine/core/shaderLibrary/default/RealisticTree.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/raster/BasicGrid.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeShadingNormal.glsl.js +10 -11
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Reprojection.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +10 -10
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Terrain.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/Camera.js +1 -1
- package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
- package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +1 -1
- package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
- package/views/3d/webgl-engine/lib/Geometry.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
- package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
- package/views/3d/webgl-engine/lib/HighlightHelper.js +1 -1
- package/views/3d/webgl-engine/lib/MagnifierHelper.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
- package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowHighlightHelper.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/lib/SmaaRenderPass.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
- package/views/3d/webgl-engine/lib/Texture.js +1 -1
- package/views/3d/webgl-engine/lib/TextureUniformName.js +4 -0
- package/views/3d/webgl-engine/lib/UniformName.js +4 -0
- package/views/3d/webgl-engine/lib/VertexAttribute.js +5 -0
- package/views/3d/webgl-engine/lib/basicInterfaces.js +1 -1
- package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.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/HUDMaterial.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/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/VisualVariableMaterialParameters.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/internal/DefaultBufferWriter.js +1 -1
- package/views/3d/webgl-engine/materials/internal/MaterialUtil.js +1 -1
- package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
- package/views/3d/webgl-engine/materials/internal/waterMaterialUtils.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/ColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.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/HUDMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightTechnique.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/LaserlinePath.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LaserlinePathTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLine.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/RealisticTreeTechnique.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/SMAA.glsl.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/ShadowCastTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +10 -10
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardShortEdges.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShaderProgram.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +21 -21
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js +6 -6
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +13 -13
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js +6 -6
- package/views/SceneView.js +1 -1
- package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
- package/views/support/WatchUpdatingTracking.js +1 -1
- package/views/webgl/BufferObject.js +1 -1
- package/views/webgl/InstanceCounter.js +1 -1
- package/views/webgl/Program.js +1 -1
- package/webdoc/support/{Thumbnail.js → SlideThumbnail.js} +1 -1
- package/webmap/Bookmark.js +1 -1
- package/webmap/Version.js +1 -1
- package/webscene/Slide.js +1 -1
- package/webscene/Version.js +1 -1
- package/webscene/support/SlideVisibleLayer.js +1 -1
- package/widgets/BasemapGallery/support/basemapCompatibilityUtils.js +1 -1
- package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/Directions/DirectionsViewModel.js +1 -1
- package/widgets/Directions/support/directionsUtils.js +1 -1
- package/widgets/Directions/support/resources.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
- package/widgets/Search/support/locatorUtils.js +1 -1
- package/widgets/Search.js +1 -1
- package/widgets/TimeSlider.js +1 -1
- package/assets/esri/core/workers/chunks/12c0cabb6c59e65d8546.js +0 -1
- package/assets/esri/core/workers/chunks/322d917e8cb398816a93.js +0 -1
- package/assets/esri/core/workers/chunks/392b6382e06652dd4c80.js +0 -1
- package/assets/esri/core/workers/chunks/3aa73119b055e05bbbeb.js +0 -1
- package/assets/esri/core/workers/chunks/52ea678ba1da0e349919.js +0 -1
- package/assets/esri/core/workers/chunks/5ee497d5d7b0e580526a.js +0 -1
- package/assets/esri/core/workers/chunks/663ad15b86936eb06b69.js +0 -1
- package/assets/esri/core/workers/chunks/83b8fec1650e061aaa56.js +0 -1
- package/assets/esri/core/workers/chunks/9796d54ff12b6429164a.js +0 -1
- package/assets/esri/core/workers/chunks/c093dff4592832ac0973.js +0 -1
- package/assets/esri/core/workers/chunks/d07440469fe7d181c4fd.js +0 -1
- package/assets/esri/core/workers/chunks/dbf192b4ce7e608610f6.js +0 -1
- package/assets/esri/core/workers/chunks/de6cff7b6cbbf99b20d1.js +0 -981
- package/assets/esri/core/workers/chunks/dee9929d95e9fe26929c.js +0 -1
- package/assets/esri/core/workers/chunks/e12d91ef44d6f879a02a.js +0 -1
- package/assets/esri/core/workers/chunks/e59764ee8cf25d4f74e2.js +0 -1
- package/assets/esri/core/workers/chunks/fc7e31d87555beb63291.js +0 -1
- package/assets/esri/core/workers/chunks/fff6b0338f06dad0c45d.js +0 -1
- package/widgets/Directions/support/CostSummary.js +0 -5
- package/widgets/Directions/support/RouteSection.js +0 -5
- package/widgets/Directions/support/RouteSections.js +0 -5
- package/widgets/Directions/support/maneuverUtils.js +0 -5
package/chunks/Pattern.glsl.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as t}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as
|
|
6
|
-
const mat2 rotate45 = mat2(${s.float(
|
|
7
|
-
${s.float(
|
|
5
|
+
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as t}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 r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{OutputDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as i}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadLinearDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{symbolAlphaCutoff as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as p}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as v}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{Style as g}from"../views/3d/webgl-engine/materials/PatternStyle.js";const u=.70710678118,m=u,f=.08715574274;function h(h){const b=new p;h.draped||b.extensions.add("GL_OES_standard_derivatives");const y=h.output===e.Depth;b.include(o,{linearDepth:y}),b.include(r,h),b.vertex.uniforms.add("proj","mat4"),b.vertex.uniforms.add("view","mat4"),y&&(b.include(a,h),b.vertex.uniforms.add("nearFar","vec2"),b.varyings.add("linearDepth","float")),h.draped?b.vertex.uniforms.add("worldToScreenRatio","float"):(b.vertex.uniforms.add("worldToScreenPerDistanceRatio","float"),b.vertex.uniforms.add("cameraPosition","vec3"),b.attributes.add(v.BOUNDINGRECT,"mat3")),b.attributes.add(v.POSITION,"vec3"),b.attributes.add(v.UVMAPSPACE,"vec4"),b.varyings.add("vpos","vec3"),b.varyings.add("vuv","vec2"),h.multipassTerrainEnabled&&b.varyings.add("depth","float");const x=h.style===g.ForwardDiagonal||h.style===g.BackwardDiagonal||h.style===g.DiagonalCross;return x&&b.vertex.code.add(s`
|
|
6
|
+
const mat2 rotate45 = mat2(${s.float(u)}, ${s.float(-m)},
|
|
7
|
+
${s.float(m)}, ${s.float(u)});
|
|
8
8
|
`),h.draped||(b.vertex.code.add(s`vec3 projectPointToLineSegment(vec3 center, vec3 halfVector, vec3 point) {
|
|
9
9
|
float projectedLength = dot(halfVector, point - center) / dot(halfVector, halfVector);
|
|
10
10
|
return center + halfVector * clamp(projectedLength, -1.0, 1.0);
|
|
@@ -31,7 +31,7 @@ return rayOrigin + t * rayDir;
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
// intersect view direction with infinite plane that contains bounding rect
|
|
34
|
-
vec3 planeProjected = intersectRayPlane(viewDir,
|
|
34
|
+
vec3 planeProjected = intersectRayPlane(viewDir, cameraPosition, n, center);
|
|
35
35
|
|
|
36
36
|
// clip to bounds by projecting to u and v line segments individually
|
|
37
37
|
vec3 uProjected = projectPointToLineSegment(center, halfU, planeProjected);
|
|
@@ -40,7 +40,7 @@ return rayOrigin + t * rayDir;
|
|
|
40
40
|
// use to calculate the closest point to camera on bounding rect
|
|
41
41
|
vec3 closestPoint = uProjected + vProjected - center;
|
|
42
42
|
|
|
43
|
-
return length(closestPoint -
|
|
43
|
+
return length(closestPoint - cameraPosition);
|
|
44
44
|
}
|
|
45
45
|
`)),b.vertex.code.add(s`
|
|
46
46
|
vec2 scaledUV() {
|
|
@@ -67,9 +67,9 @@ return rayOrigin + t * rayDir;
|
|
|
67
67
|
vpos = position;
|
|
68
68
|
${h.multipassTerrainEnabled?"depth = (view * vec4(vpos, 1.0)).z;":""}
|
|
69
69
|
forwardNormalizedVertexColor();
|
|
70
|
-
gl_Position = ${y?s`transformPositionWithDepth(proj, view, vpos,
|
|
70
|
+
gl_Position = ${y?s`transformPositionWithDepth(proj, view, vpos, nearFar, linearDepth);`:s`transformPosition(proj, view, vpos);`}
|
|
71
71
|
}
|
|
72
|
-
`),b.include(t,h),b.fragment.include(c),b.fragment.uniforms.add("
|
|
72
|
+
`),b.include(t,h),b.fragment.include(c),b.fragment.uniforms.add("uColor","vec4"),h.draped&&b.fragment.uniforms.add("texelSize","float"),h.output===e.Highlight&&b.include(i),h.multipassTerrainEnabled&&(b.fragment.include(n),b.include(l,h)),h.output!==e.Highlight&&(b.fragment.code.add(s`
|
|
73
73
|
const float lineWidth = ${s.float(h.lineWidth)};
|
|
74
74
|
const float spacing = ${s.float(h.patternSpacing)};
|
|
75
75
|
const float spacingINV = ${s.float(1/h.patternSpacing)};
|
|
@@ -113,7 +113,7 @@ return accumulator;
|
|
|
113
113
|
void main() {
|
|
114
114
|
discardBySlice(vpos);
|
|
115
115
|
${h.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
116
|
-
vec4 color = ${h.attributeColor?"vColor *
|
|
116
|
+
vec4 color = ${h.attributeColor?"vColor * uColor;":"uColor;"}
|
|
117
117
|
color = highlightSlice(color, vpos);
|
|
118
118
|
|
|
119
119
|
${h.output!==e.Highlight?s`color.a *= ${w(h)};`:""}
|
|
@@ -124,7 +124,7 @@ return accumulator;
|
|
|
124
124
|
|
|
125
125
|
${h.output===e.Alpha?s`gl_FragColor = vec4(color.a);`:""}
|
|
126
126
|
|
|
127
|
-
${h.output===e.Color?s`gl_FragColor = color; ${h.
|
|
127
|
+
${h.output===e.Color?s`gl_FragColor = color; ${h.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}`:""}
|
|
128
128
|
${h.output===e.Highlight?s`outputHighlight();`:""}
|
|
129
129
|
${h.output===e.Depth?s`outputDepth(linearDepth);`:""};
|
|
130
130
|
}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{OutputHighlight as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{RgbaFloatEncoding as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{glsl as r}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as a}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as n}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{OutputHighlight as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{RgbaFloatEncoding as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{glsl as r}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as a}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as n}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function s(s){const c=new a,d=s.output===e.Color,l=s.output===e.Depth,p=s.output===e.Highlight;return c.extensions.add("GL_OES_standard_derivatives"),c.include(i,s),c.attributes.add(n.POSITION,"vec3"),c.attributes.add(n.COLOR,"vec3"),c.vertex.uniforms.add("modelView","mat4").add("proj","mat4").add("screenMinMaxSize","vec2").add("pointScale","vec2").add("clipMin","vec3").add("clipMax","vec3"),l?(c.vertex.uniforms.add("nearFar","vec2"),c.varyings.add("depth","float")):s.output!==e.Highlight&&c.varyings.add("vColor","vec3"),c.vertex.code.add(r`
|
|
6
6
|
void main(void) {
|
|
7
7
|
// Move clipped points outside of clipspace
|
|
8
|
-
if (position.x <
|
|
9
|
-
position.x >
|
|
8
|
+
if (position.x < clipMin.x || position.y < clipMin.y || position.z < clipMin.z ||
|
|
9
|
+
position.x > clipMax.x || position.y > clipMax.y || position.z > clipMax.z) {
|
|
10
10
|
gl_Position = vec4(0.0,0.0,0.0,2.0);
|
|
11
11
|
gl_PointSize = 0.0;
|
|
12
12
|
return;
|
|
@@ -19,33 +19,33 @@ import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/Shader
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
// Position in camera space
|
|
22
|
-
vec4 camera =
|
|
22
|
+
vec4 camera = modelView * vec4(position, 1.0);
|
|
23
23
|
|
|
24
|
-
float pointSize =
|
|
25
|
-
vec4 position =
|
|
24
|
+
float pointSize = pointScale.x;
|
|
25
|
+
vec4 position = proj * camera;
|
|
26
26
|
${s.drawScreenSize?r`
|
|
27
27
|
float clampedScreenSize = pointSize;`:r`
|
|
28
28
|
float pointRadius = 0.5 * pointSize;
|
|
29
29
|
vec4 cameraOffset = camera + vec4(0.0, pointRadius, 0.0, 0.0);
|
|
30
|
-
vec4 positionOffset =
|
|
30
|
+
vec4 positionOffset = proj * cameraOffset;
|
|
31
31
|
float radius = abs(positionOffset.y - position.y);
|
|
32
|
-
float viewHeight =
|
|
32
|
+
float viewHeight = pointScale.y;
|
|
33
33
|
// screen diameter = (2 * r / w) * (h / 2)
|
|
34
34
|
float screenPointSize = (radius / position.w) * viewHeight;
|
|
35
|
-
float clampedScreenSize = clamp(screenPointSize,
|
|
35
|
+
float clampedScreenSize = clamp(screenPointSize, screenMinMaxSize.x, screenMinMaxSize.y);
|
|
36
36
|
// Shift towards camera, to move rendered point out of terrain i.e. to
|
|
37
37
|
// the camera-facing end of the virtual point when considering it as a
|
|
38
38
|
// 3D sphere.
|
|
39
39
|
camera.xyz -= normalize(camera.xyz) * pointRadius * clampedScreenSize / screenPointSize;
|
|
40
|
-
position =
|
|
40
|
+
position = proj * camera;`}
|
|
41
41
|
|
|
42
42
|
gl_PointSize = clampedScreenSize;
|
|
43
43
|
gl_Position = position;
|
|
44
44
|
|
|
45
45
|
${l?r`depth = (-camera.z - nearFar[0]) / (nearFar[1] - nearFar[0]);`:""}
|
|
46
|
-
${
|
|
46
|
+
${d?r`vColor = color;`:""}
|
|
47
47
|
}
|
|
48
|
-
`),
|
|
48
|
+
`),c.fragment.include(t,s),p&&c.include(o),c.fragment.code.add(r`
|
|
49
49
|
void main(void) {
|
|
50
50
|
vec2 vOffset = gl_PointCoord - vec2(0.5, 0.5);
|
|
51
51
|
float r2 = dot(vOffset, vOffset);
|
|
@@ -55,6 +55,6 @@ import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/Shader
|
|
|
55
55
|
}
|
|
56
56
|
${l?r`gl_FragColor = float2rgba(depth);`:""}
|
|
57
57
|
${p?r`outputHighlight();`:""}
|
|
58
|
-
${
|
|
58
|
+
${d?r`gl_FragColor = vec4(vColor, 1.0);`:""}
|
|
59
59
|
}
|
|
60
|
-
`),
|
|
60
|
+
`),c}const c=Object.freeze({__proto__:null,build:s});export{c as P,s 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as e}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as o}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as e}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as o}from"../views/3d/webgl-engine/lib/VertexAttribute.js";var a;function i(i){const r=new e;return r.attributes.add(o.POSITION,"vec3"),r.attributes.add(o.INSTANCEFEATUREATTRIBUTE,"float"),r.vertex.uniforms.add("cameraPosition","vec3").add("offset","vec3").add("width","float").add("proj","mat4").add("view","mat4").add("time","float"),r.varyings.add("vUv","vec2"),r.vertex.code.add(t`
|
|
6
6
|
//https://www.shadertoy.com/view/4djSRW
|
|
7
7
|
vec3 hash31(float p){
|
|
8
8
|
vec3 p3 = fract(vec3(p) * vec3(0.1031, 0.1030, 0.0973));
|
|
@@ -40,7 +40,7 @@ import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js"
|
|
|
40
40
|
vec3 up = vec3(0, 0, 1);
|
|
41
41
|
|
|
42
42
|
// Gravity and wind direction
|
|
43
|
-
vec3 direction = normalize(
|
|
43
|
+
vec3 direction = normalize(cameraPosition);
|
|
44
44
|
|
|
45
45
|
vec3 tangent = normalize(cross(direction, up));
|
|
46
46
|
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ViewingMode as e}from"../views/ViewingMode.js";import{ForwardLinearDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as r}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{ShaderOutput as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}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 t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{PositionAttribute as
|
|
5
|
+
import{ViewingMode as e}from"../views/ViewingMode.js";import{ForwardLinearDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as r}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{ShaderOutput as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}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 t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{PositionAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js";import{SymbolColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as v}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ReadLinearDepth as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{EvaluateAmbientOcclusion as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{multipassTerrainTest as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{PhysicallyBasedRendering as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as w,PBRMode as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMap as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{VisualVariables as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{symbolAlphaCutoff as L,DiscardOrAdjustAlpha as M}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{MixExternalColor as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{glsl as O}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as E}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as A}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function _(_){const P=new E,S=P.vertex.code,F=P.fragment.code;return P.vertex.uniforms.add("proj","mat4").add("view","mat4").add("cameraPosition","vec3").add("localOrigin","vec3"),P.include(n),P.varyings.add("vpos","vec3"),P.include(C,_),P.include(t,_),P.include(m,_),_.output!==a.Color&&_.output!==a.Alpha||(P.include(d,_),P.include(l,{linearDepth:!1}),_.offsetBackfaces&&P.include(r),_.instancedColor&&P.attributes.add(A.INSTANCECOLOR,"vec4"),P.varyings.add("vNormalWorld","vec3"),P.varyings.add("localvpos","vec3"),_.multipassTerrainEnabled&&P.varyings.add("depth","float"),P.include(c,_),P.include(o,_),P.include(s,_),P.include(g,_),P.vertex.uniforms.add("externalColor","vec4"),P.varyings.add("vcolorExt","vec4"),S.add(O`
|
|
6
6
|
void main(void) {
|
|
7
7
|
forwardNormalizedVertexColor();
|
|
8
8
|
vcolorExt = externalColor;
|
|
9
|
-
${
|
|
9
|
+
${_.instancedColor?"vcolorExt *= instanceColor;":""}
|
|
10
10
|
vcolorExt *= vvColor();
|
|
11
11
|
vcolorExt *= getSymbolColor();
|
|
12
12
|
forwardColorMixMode();
|
|
@@ -21,45 +21,45 @@ import{ViewingMode as e}from"../views/ViewingMode.js";import{ForwardLinearDepth
|
|
|
21
21
|
vNormalWorld = dpNormal(vvLocalNormal(normalModel()));
|
|
22
22
|
vpos = addVerticalOffset(vpos, localOrigin);
|
|
23
23
|
gl_Position = transformPosition(proj, view, vpos);
|
|
24
|
-
${
|
|
24
|
+
${_.offsetBackfaces?"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);":""}
|
|
25
25
|
}
|
|
26
|
-
${
|
|
26
|
+
${_.multipassTerrainEnabled?O`depth = (view * vec4(vpos, 1.0)).z;`:""}
|
|
27
27
|
forwardLinearDepth();
|
|
28
28
|
forwardTextureCoordinates();
|
|
29
29
|
}
|
|
30
|
-
`)),
|
|
30
|
+
`)),_.output===a.Alpha&&(P.include(i,_),P.include(M,_),_.multipassTerrainEnabled&&(P.fragment.include(p),P.include(f,_)),P.fragment.uniforms.add("cameraPosition","vec3").add("localOrigin","vec3").add("opacity","float").add("layerOpacity","float"),P.fragment.uniforms.add("view","mat4"),_.hasColorTexture&&P.fragment.uniforms.add("tex","sampler2D"),P.fragment.include(j),F.add(O`
|
|
31
31
|
void main() {
|
|
32
32
|
discardBySlice(vpos);
|
|
33
|
-
${
|
|
34
|
-
${
|
|
33
|
+
${_.multipassTerrainEnabled?O`terrainDepthTest(gl_FragCoord, depth);`:""}
|
|
34
|
+
${_.hasColorTexture?O`
|
|
35
35
|
vec4 texColor = texture2D(tex, vuv0);
|
|
36
|
-
${
|
|
36
|
+
${_.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
37
37
|
discardOrAdjustAlpha(texColor);`:O`vec4 texColor = vec4(1.0);`}
|
|
38
|
-
${
|
|
38
|
+
${_.attributeColor?O`
|
|
39
39
|
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:O`
|
|
40
40
|
float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));
|
|
41
41
|
`}
|
|
42
42
|
|
|
43
43
|
gl_FragColor = vec4(opacity_);
|
|
44
44
|
}
|
|
45
|
-
`)),
|
|
45
|
+
`)),_.output===a.Color&&(P.include(i,_),P.include(u,_),P.include(b,_),P.include(M,_),_.receiveShadows&&P.include(y,_),_.multipassTerrainEnabled&&(P.fragment.include(p),P.include(f,_)),P.fragment.uniforms.add("cameraPosition","vec3").add("localOrigin","vec3").add("ambient","vec3").add("diffuse","vec3").add("opacity","float").add("layerOpacity","float"),P.fragment.uniforms.add("view","mat4"),_.hasColorTexture&&P.fragment.uniforms.add("tex","sampler2D"),P.include(w,_),P.include(h,_),P.fragment.include(j),F.add(O`
|
|
46
46
|
void main() {
|
|
47
47
|
discardBySlice(vpos);
|
|
48
|
-
${
|
|
49
|
-
${
|
|
48
|
+
${_.multipassTerrainEnabled?O`terrainDepthTest(gl_FragCoord, depth);`:""}
|
|
49
|
+
${_.hasColorTexture?O`
|
|
50
50
|
vec4 texColor = texture2D(tex, vuv0);
|
|
51
|
-
${
|
|
51
|
+
${_.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
52
52
|
discardOrAdjustAlpha(texColor);`:O`vec4 texColor = vec4(1.0);`}
|
|
53
|
-
vec3 viewDirection = normalize(vpos -
|
|
54
|
-
${
|
|
53
|
+
vec3 viewDirection = normalize(vpos - cameraPosition);
|
|
54
|
+
${_.pbrMode===x.Normal?"applyPBRFactors();":""}
|
|
55
55
|
float ssao = evaluateAmbientOcclusionInverse();
|
|
56
56
|
ssao *= getBakedOcclusion();
|
|
57
57
|
|
|
58
58
|
float additionalAmbientScale = additionalDirectedAmbientLight(vpos + localOrigin);
|
|
59
59
|
vec3 additionalLight = ssao * lightingMainIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
|
|
60
|
-
${
|
|
60
|
+
${_.receiveShadows?"float shadow = readShadowMap(vpos, linearDepth);":_.viewingMode===e.Global?"float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);":"float shadow = 0.0;"}
|
|
61
61
|
vec3 matColor = max(ambient, diffuse);
|
|
62
|
-
${
|
|
62
|
+
${_.attributeColor?O`
|
|
63
63
|
vec3 albedo_ = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
64
64
|
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:O`
|
|
65
65
|
vec3 albedo_ = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
@@ -74,11 +74,11 @@ import{ViewingMode as e}from"../views/ViewingMode.js";import{ForwardLinearDepth
|
|
|
74
74
|
float treeRadialFalloff = vColor.r;
|
|
75
75
|
float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);
|
|
76
76
|
additionalLight += backLightFactor * lightingMainIntensity;`}
|
|
77
|
-
${
|
|
78
|
-
${
|
|
77
|
+
${_.pbrMode===x.Normal||_.pbrMode===x.Schematic?_.viewingMode===e.Global?O`vec3 normalGround = normalize(vpos + localOrigin);`:O`vec3 normalGround = vec3(0.0, 0.0, 1.0);`:O``}
|
|
78
|
+
${_.pbrMode===x.Normal||_.pbrMode===x.Schematic?O`
|
|
79
79
|
float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * lightingMainIntensity[2];
|
|
80
80
|
vec3 shadedColor = evaluateSceneLightingPBR(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight, viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);`:"vec3 shadedColor = evaluateSceneLighting(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight);"}
|
|
81
81
|
gl_FragColor = highlightSlice(vec4(shadedColor, opacity_), vpos);
|
|
82
|
-
${
|
|
82
|
+
${_.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
83
83
|
}
|
|
84
|
-
`)),P.include(v,
|
|
84
|
+
`)),P.include(v,_),P}const P=Object.freeze({__proto__:null,build:_});export{P as R,_ 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as t}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{ReadLinearDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{LineStipple as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{multipassTerrainTest as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{PiUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{symbolAlphaCutoff as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as d}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as c}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as
|
|
5
|
+
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as t}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{ReadLinearDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{LineStipple as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{multipassTerrainTest as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{PiUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{symbolAlphaCutoff as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as d}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as c}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as g}from"../views/3d/webgl-engine/lib/VertexAttribute.js";const v=1;var m;function f(f){const h=new c,D=f.capType!==m.BUTT,u=f.capType===m.ROUND,x=f.stippleEnabled&&u,S=f.falloffEnabled||x,b=f.innerColorEnabled||u,L=f.stippleEnabled&&f.stippleScaleWithLineWidth||u,y=f.stippleEnabled&&f.stippleScaleWithLineWidth,C=f.stippleEnabled||u;return h.include(s),h.include(i,f),h.include(o,{...f,stippleRequiresStretchMeasure:!0}),f.output===e.Depth&&h.include(n,f),h.vertex.uniforms.add("proj","mat4").add("view","mat4").add("nearFar","vec2").add("pixelRatio","float").add("miterLimit","float").add("screenSize","vec2"),h.attributes.add(g.POSITION,"vec3"),h.attributes.add(g.SUBDIVISIONFACTOR,"float"),h.attributes.add(g.UV0,"vec2"),h.attributes.add(g.AUXPOS1,"vec3"),h.attributes.add(g.AUXPOS2,"vec3"),h.varyings.add("vColor","vec4"),h.varyings.add("vpos","vec3"),h.varyings.add("linearDepth","float"),f.multipassTerrainEnabled&&h.varyings.add("depth","float"),L&&h.varyings.add("vLineWidth","float"),y&&h.varyings.add("vLineSizeInv","float"),b&&h.varyings.add("vLineDistance","float"),S&&h.varyings.add("vLineDistanceNorm","float"),f.falloffEnabled&&h.fragment.uniforms.add("falloff","float"),f.innerColorEnabled&&(h.fragment.uniforms.add("innerColor","vec4"),h.fragment.uniforms.add("innerWidth","float")),u&&h.varyings.add("vSegmentSDF","float"),h.vertex.code.add(d`#define PERPENDICULAR(v) vec2(v.y, -v.x);
|
|
6
6
|
float interp(float ncp, vec4 a, vec4 b) {
|
|
7
7
|
return (-ncp - a.z) / (b.z - a.z);
|
|
8
8
|
}
|
|
@@ -17,13 +17,13 @@ posNdc.xy *= screenSize / posNdc.w;
|
|
|
17
17
|
return posNdc;
|
|
18
18
|
}`),h.vertex.code.add(d`
|
|
19
19
|
void clipAndTransform(inout vec4 pos, inout vec4 prev, inout vec4 next, in bool isStartVertex) {
|
|
20
|
-
float vnp =
|
|
20
|
+
float vnp = nearFar[0] * 0.99;
|
|
21
21
|
|
|
22
22
|
//current pos behind ncp --> we need to clip
|
|
23
|
-
if(pos.z > -
|
|
23
|
+
if(pos.z > -nearFar[0]) {
|
|
24
24
|
if (!isStartVertex) {
|
|
25
25
|
//previous in front of ncp
|
|
26
|
-
if(prev.z < -
|
|
26
|
+
if(prev.z < -nearFar[0]) {
|
|
27
27
|
pos = mix(prev, pos, interp(vnp, prev, pos));
|
|
28
28
|
next = pos;
|
|
29
29
|
} else {
|
|
@@ -32,7 +32,7 @@ return posNdc;
|
|
|
32
32
|
}
|
|
33
33
|
//next in front of ncp
|
|
34
34
|
if(isStartVertex) {
|
|
35
|
-
if(next.z < -
|
|
35
|
+
if(next.z < -nearFar[0]) {
|
|
36
36
|
pos = mix(pos, next, interp(vnp, pos, next));
|
|
37
37
|
prev = pos;
|
|
38
38
|
} else {
|
|
@@ -42,17 +42,17 @@ return posNdc;
|
|
|
42
42
|
} else {
|
|
43
43
|
//current position visible
|
|
44
44
|
//previous behind ncp
|
|
45
|
-
if (prev.z > -
|
|
45
|
+
if (prev.z > -nearFar[0]) {
|
|
46
46
|
prev = mix(pos, prev, interp(vnp, pos, prev));
|
|
47
47
|
}
|
|
48
48
|
//next behind ncp
|
|
49
|
-
if (next.z > -
|
|
49
|
+
if (next.z > -nearFar[0]) {
|
|
50
50
|
next = mix(next, pos, interp(vnp, next, pos));
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
${f.multipassTerrainEnabled?"depth = pos.z;":""}
|
|
55
|
-
linearDepth = (-pos.z -
|
|
55
|
+
linearDepth = (-pos.z - nearFar[0]) / (nearFar[1] - nearFar[0]);
|
|
56
56
|
|
|
57
57
|
pos = projectAndScale(pos);
|
|
58
58
|
next = projectAndScale(next);
|
|
@@ -147,7 +147,7 @@ if (isOutside && (displacementLen > miterLimit * lineWidth)) {`),f.roundJoins?h.
|
|
|
147
147
|
endDir = normalize(endDir);
|
|
148
148
|
endDir = PERPENDICULAR(endDir);
|
|
149
149
|
|
|
150
|
-
float factor = ${f.stippleEnabled?d`min(1.0, subdivisionFactor * ${d.float((
|
|
150
|
+
float factor = ${f.stippleEnabled?d`min(1.0, subdivisionFactor * ${d.float((v+2)/(v+1))})`:d`subdivisionFactor`};
|
|
151
151
|
|
|
152
152
|
float rotationAngle = acos(clamp(dot(startDir, endDir), -1.0, 1.0));
|
|
153
153
|
joinDisplacementDir = rotate(startDir, -sign(uv0.y) * factor * rotationAngle);
|
|
@@ -280,8 +280,8 @@ color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),h.fragment.code
|
|
|
280
280
|
|
|
281
281
|
${f.output===e.Alpha?d`gl_FragColor = vec4(finalColor.a);`:""}
|
|
282
282
|
${f.output===e.Color?d`gl_FragColor = highlightSlice(finalColor, vpos);`:""}
|
|
283
|
-
${f.output===e.Color&&f.
|
|
283
|
+
${f.output===e.Color&&f.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
284
284
|
${f.output===e.Highlight?d`gl_FragColor = vec4(1.0);`:""}
|
|
285
285
|
${f.output===e.Depth?d`outputDepth(linearDepth);`:""}
|
|
286
286
|
}
|
|
287
|
-
`),h}!function(e){e[e.BUTT=0]="BUTT",e[e.SQUARE=1]="SQUARE",e[e.ROUND=2]="ROUND",e[e.COUNT=3]="COUNT"}(
|
|
287
|
+
`),h}!function(e){e[e.BUTT=0]="BUTT",e[e.SQUARE=1]="SQUARE",e[e.ROUND=2]="ROUND",e[e.COUNT=3]="COUNT"}(m||(m={}));const h=Object.freeze({__proto__:null,NUM_ROUND_JOIN_SUBDIVISIONS:v,get CapType(){return m},build:f});export{m as C,v as N,h as R,f as b};
|
package/chunks/SMAA.glsl.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{glsl as e}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as o}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as t}from"../views/3d/webgl-engine/lib/
|
|
6
|
-
fOffset[0] = texcoord.xyxy +
|
|
7
|
-
fOffset[1] = texcoord.xyxy +
|
|
8
|
-
fOffset[2] = texcoord.xyxy +
|
|
5
|
+
import{glsl as e}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as o}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as t}from"../views/3d/webgl-engine/lib/VertexAttribute.js";var r;function d(d){const s=new o;return d.output===r.EdgeDetector&&(s.attributes.add(t.POSITION,"vec2"),s.vertex.uniforms.add("resolution","vec4"),s.varyings.add("fTexCoord","vec2"),s.varyings.add("fOffset[3]","vec4"),s.vertex.code.add(e`void SMAAEdgeDetectionVS( vec2 texcoord ) {
|
|
6
|
+
fOffset[0] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 );
|
|
7
|
+
fOffset[1] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 );
|
|
8
|
+
fOffset[2] = texcoord.xyxy + resolution.xyxy * vec4( -2.0, 0.0, 0.0, 2.0 );
|
|
9
9
|
}
|
|
10
10
|
void main() {
|
|
11
11
|
fTexCoord = (position + 1.0 ) * 0.5;
|
|
@@ -67,12 +67,12 @@ SMAAEdgeDetectionVS( fTexCoord );
|
|
|
67
67
|
void main() {
|
|
68
68
|
gl_FragColor = SMAAColorEdgeDetectionPS( fTexCoord, fOffset, tColor );
|
|
69
69
|
}
|
|
70
|
-
`)),d.output===r.BlendWeight&&(s.attributes.add(t.POSITION,"vec2"),s.vertex.uniforms.add("
|
|
70
|
+
`)),d.output===r.BlendWeight&&(s.attributes.add(t.POSITION,"vec2"),s.vertex.uniforms.add("resolution","vec4"),s.varyings.add("fTexCoord","vec2"),s.varyings.add("fOffset[3]","vec4"),s.varyings.add("fPixCoord","vec2"),s.vertex.code.add(e`
|
|
71
71
|
void SMAABlendingWeightCalculationVS( vec2 texcoord ) {
|
|
72
|
-
fPixCoord = texcoord *
|
|
73
|
-
fOffset[0] = texcoord.xyxy +
|
|
74
|
-
fOffset[1] = texcoord.xyxy +
|
|
75
|
-
fOffset[2] = vec4( fOffset[0].xz, fOffset[1].yw ) + vec4( -2.0, 2.0, -2.0, 2.0 ) *
|
|
72
|
+
fPixCoord = texcoord * resolution.zw;
|
|
73
|
+
fOffset[0] = texcoord.xyxy + resolution.xyxy * vec4( -0.25, 0.125, 1.25, 0.125 );
|
|
74
|
+
fOffset[1] = texcoord.xyxy + resolution.xyxy * vec4( -0.125, 0.25, -0.125, -1.25 );
|
|
75
|
+
fOffset[2] = vec4( fOffset[0].xz, fOffset[1].yw ) + vec4( -2.0, 2.0, -2.0, 2.0 ) * resolution.xxyy * float( ${e.int(d.maxSearchSteps)} );
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
void main() {
|
|
@@ -80,12 +80,12 @@ SMAAEdgeDetectionVS( fTexCoord );
|
|
|
80
80
|
gl_Position = vec4(position, 0, 1);
|
|
81
81
|
SMAABlendingWeightCalculationVS( fTexCoord );
|
|
82
82
|
}
|
|
83
|
-
`),s.fragment.uniforms.add("tEdges","sampler2D").add("tArea","sampler2D").add("tSearch","sampler2D").add("tColor","sampler2D").add("
|
|
83
|
+
`),s.fragment.uniforms.add("tEdges","sampler2D").add("tArea","sampler2D").add("tSearch","sampler2D").add("tColor","sampler2D").add("resolution","vec4"),s.fragment.code.add(e`
|
|
84
84
|
#define SMAA_AREATEX_PIXEL_SIZE ( 1.0 / vec2( 160.0, 560.0 ) )
|
|
85
85
|
#define SMAA_AREATEX_SUBTEX_SIZE ( 1.0 / 7.0 )
|
|
86
86
|
|
|
87
87
|
vec4 SMAASampleLevelZeroOffset(sampler2D tex, vec2 coord, vec2 offset) {
|
|
88
|
-
return texture2D( tex, coord + offset.x *
|
|
88
|
+
return texture2D( tex, coord + offset.x * resolution.xy, 0.0 );
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
vec2 round( vec2 x ) {
|
|
@@ -101,13 +101,13 @@ SMAAEdgeDetectionVS( fTexCoord );
|
|
|
101
101
|
vec2 e = vec2( 0.0, 1.0 );
|
|
102
102
|
for ( int i = 0; i < ${e.int(d.maxSearchSteps)}; i ++ ) {
|
|
103
103
|
e = texture2D( edgesTex, texcoord, 0.0 ).rg;
|
|
104
|
-
texcoord -= vec2( 2.0, 0.0 ) *
|
|
104
|
+
texcoord -= vec2( 2.0, 0.0 ) * resolution.xy;
|
|
105
105
|
if ( ! ( texcoord.x > end && e.g > 0.8281 && e.r == 0.0 ) ) break;
|
|
106
106
|
}
|
|
107
|
-
texcoord.x += 0.25 *
|
|
108
|
-
texcoord.x +=
|
|
109
|
-
texcoord.x += 2.0 *
|
|
110
|
-
texcoord.x -=
|
|
107
|
+
texcoord.x += 0.25 * resolution.x;
|
|
108
|
+
texcoord.x += resolution.x;
|
|
109
|
+
texcoord.x += 2.0 * resolution.x;
|
|
110
|
+
texcoord.x -= resolution.x * SMAASearchLength(searchTex, e, 0.0, 0.5);
|
|
111
111
|
return texcoord.x;
|
|
112
112
|
}
|
|
113
113
|
|
|
@@ -115,13 +115,13 @@ SMAAEdgeDetectionVS( fTexCoord );
|
|
|
115
115
|
vec2 e = vec2( 0.0, 1.0 );
|
|
116
116
|
for ( int i = 0; i < ${e.int(d.maxSearchSteps)}; i ++ ) {
|
|
117
117
|
e = texture2D( edgesTex, texcoord, 0.0 ).rg;
|
|
118
|
-
texcoord += vec2( 2.0, 0.0 ) *
|
|
118
|
+
texcoord += vec2( 2.0, 0.0 ) * resolution.xy;
|
|
119
119
|
if ( ! ( texcoord.x < end && e.g > 0.8281 && e.r == 0.0 ) ) break;
|
|
120
120
|
}
|
|
121
|
-
texcoord.x -= 0.25 *
|
|
122
|
-
texcoord.x -=
|
|
123
|
-
texcoord.x -= 2.0 *
|
|
124
|
-
texcoord.x +=
|
|
121
|
+
texcoord.x -= 0.25 * resolution.x;
|
|
122
|
+
texcoord.x -= resolution.x;
|
|
123
|
+
texcoord.x -= 2.0 * resolution.x;
|
|
124
|
+
texcoord.x += resolution.x * SMAASearchLength( searchTex, e, 0.5, 0.5 );
|
|
125
125
|
return texcoord.x;
|
|
126
126
|
}
|
|
127
127
|
|
|
@@ -129,13 +129,13 @@ SMAAEdgeDetectionVS( fTexCoord );
|
|
|
129
129
|
vec2 e = vec2( 1.0, 0.0 );
|
|
130
130
|
for ( int i = 0; i < ${e.int(d.maxSearchSteps)}; i ++ ) {
|
|
131
131
|
e = texture2D( edgesTex, texcoord, 0.0 ).rg;
|
|
132
|
-
texcoord += vec2( 0.0, 2.0 ) *
|
|
132
|
+
texcoord += vec2( 0.0, 2.0 ) * resolution.xy;
|
|
133
133
|
if ( ! ( texcoord.y > end && e.r > 0.8281 && e.g == 0.0 ) ) break;
|
|
134
134
|
}
|
|
135
|
-
texcoord.y -= 0.25 *
|
|
136
|
-
texcoord.y -=
|
|
137
|
-
texcoord.y -= 2.0 *
|
|
138
|
-
texcoord.y +=
|
|
135
|
+
texcoord.y -= 0.25 * resolution.y;
|
|
136
|
+
texcoord.y -= resolution.y;
|
|
137
|
+
texcoord.y -= 2.0 * resolution.y;
|
|
138
|
+
texcoord.y += resolution.y * SMAASearchLength( searchTex, e.gr, 0.0, 0.5 );
|
|
139
139
|
return texcoord.y;
|
|
140
140
|
}
|
|
141
141
|
|
|
@@ -143,13 +143,13 @@ SMAAEdgeDetectionVS( fTexCoord );
|
|
|
143
143
|
vec2 e = vec2( 1.0, 0.0 );
|
|
144
144
|
for ( int i = 0; i < ${e.int(d.maxSearchSteps)}; i ++ ) {
|
|
145
145
|
e = texture2D( edgesTex, texcoord, 0.0 ).rg;
|
|
146
|
-
texcoord -= vec2( 0.0, 2.0 ) *
|
|
146
|
+
texcoord -= vec2( 0.0, 2.0 ) * resolution.xy;
|
|
147
147
|
if ( ! ( texcoord.y < end && e.r > 0.8281 && e.g == 0.0 ) ) break;
|
|
148
148
|
}
|
|
149
|
-
texcoord.y += 0.25 *
|
|
150
|
-
texcoord.y +=
|
|
151
|
-
texcoord.y += 2.0 *
|
|
152
|
-
texcoord.y -=
|
|
149
|
+
texcoord.y += 0.25 * resolution.y;
|
|
150
|
+
texcoord.y += resolution.y;
|
|
151
|
+
texcoord.y += 2.0 * resolution.y;
|
|
152
|
+
texcoord.y -= resolution.y * SMAASearchLength( searchTex, e.gr, 0.5, 0.5 );
|
|
153
153
|
return texcoord.y;
|
|
154
154
|
}
|
|
155
155
|
|
|
@@ -172,9 +172,9 @@ SMAAEdgeDetectionVS( fTexCoord );
|
|
|
172
172
|
float e1 = texture2D( edgesTex, coords, 0.0 ).r;
|
|
173
173
|
coords.x = SMAASearchXRight( edgesTex, searchTex, offset[ 0 ].zw, offset[ 2 ].y );
|
|
174
174
|
d.y = coords.x;
|
|
175
|
-
d = d *
|
|
175
|
+
d = d * resolution.z - pixcoord.x;
|
|
176
176
|
vec2 sqrt_d = sqrt( abs( d ) );
|
|
177
|
-
coords.y -= 1.0 *
|
|
177
|
+
coords.y -= 1.0 * resolution.y;
|
|
178
178
|
float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, vec2( 1.0, 0.0 ) ).r;
|
|
179
179
|
weights.rg = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.y ) );
|
|
180
180
|
}
|
|
@@ -188,9 +188,9 @@ SMAAEdgeDetectionVS( fTexCoord );
|
|
|
188
188
|
float e1 = texture2D( edgesTex, coords, 0.0 ).g;
|
|
189
189
|
coords.y = SMAASearchYDown( edgesTex, searchTex, offset[ 1 ].zw, offset[ 2 ].w );
|
|
190
190
|
d.y = coords.y;
|
|
191
|
-
d = d *
|
|
191
|
+
d = d * resolution.w - pixcoord.y;
|
|
192
192
|
vec2 sqrt_d = sqrt( abs( d ) );
|
|
193
|
-
coords.y -= 1.0 *
|
|
193
|
+
coords.y -= 1.0 * resolution.y;
|
|
194
194
|
float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, vec2( 0.0, 1.0 ) ).g;
|
|
195
195
|
weights.ba = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.x ) );
|
|
196
196
|
|
|
@@ -205,15 +205,15 @@ SMAAEdgeDetectionVS( fTexCoord );
|
|
|
205
205
|
void main() {
|
|
206
206
|
gl_FragColor = SMAABlendingWeightCalculationPS( fTexCoord, fPixCoord, fOffset, tEdges, tArea, tSearch, ivec4( 0.0 ) );
|
|
207
207
|
}
|
|
208
|
-
`)),d.output===r.Blur&&(s.attributes.add(t.POSITION,"vec2"),s.vertex.uniforms.add("
|
|
209
|
-
fOffset[0] = texcoord.xyxy +
|
|
210
|
-
fOffset[1] = texcoord.xyxy +
|
|
208
|
+
`)),d.output===r.Blur&&(s.attributes.add(t.POSITION,"vec2"),s.vertex.uniforms.add("resolution","vec4"),s.varyings.add("fTexCoord","vec2"),s.varyings.add("fOffset[2]","vec4"),s.vertex.code.add(e`void SMAANeighborhoodBlendingVS( vec2 texcoord ) {
|
|
209
|
+
fOffset[0] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 );
|
|
210
|
+
fOffset[1] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 );
|
|
211
211
|
}
|
|
212
212
|
void main() {
|
|
213
213
|
fTexCoord = (position + 1.0 ) * 0.5;
|
|
214
214
|
gl_Position = vec4(position, 0, 1);
|
|
215
215
|
SMAANeighborhoodBlendingVS(fTexCoord);
|
|
216
|
-
}`),s.fragment.uniforms.add("tBlendWeights","sampler2D"),s.fragment.uniforms.add("tColor","sampler2D"),s.fragment.uniforms.add("
|
|
216
|
+
}`),s.fragment.uniforms.add("tBlendWeights","sampler2D"),s.fragment.uniforms.add("tColor","sampler2D"),s.fragment.uniforms.add("resolution","vec4"),s.fragment.code.add(e`vec4 SMAANeighborhoodBlendingPS( vec2 texcoord, vec4 offset[ 2 ], sampler2D colorTex, sampler2D blendTex ) {
|
|
217
217
|
vec4 a;
|
|
218
218
|
a.xz = texture2D( blendTex, texcoord ).xz;
|
|
219
219
|
a.y = texture2D( blendTex, offset[ 1 ].zw ).g;
|
|
@@ -230,7 +230,7 @@ offset.y = 0.0;
|
|
|
230
230
|
offset.x = 0.0;
|
|
231
231
|
}
|
|
232
232
|
vec4 C = texture2D( colorTex, texcoord, 0.0 );
|
|
233
|
-
texcoord += sign( offset ) *
|
|
233
|
+
texcoord += sign( offset ) * resolution.xy;
|
|
234
234
|
vec4 Cop = texture2D( colorTex, texcoord, 0.0 );
|
|
235
235
|
float s = abs( offset.x ) > abs( offset.y ) ? abs( offset.x ) : abs( offset.y );
|
|
236
236
|
vec4 mixed = mix(C, Cop, s);
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ScreenSizeScaling as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js";import{ShaderOutput as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}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{ReadLinearDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{symbolAlphaCutoff as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.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{VertexAttribute as
|
|
5
|
+
import{ScreenSizeScaling as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js";import{ShaderOutput as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}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{ReadLinearDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{symbolAlphaCutoff as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.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{VertexAttribute as g}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function m(m){const c=new t;return c.include(o,{linearDepth:!1}),c.include(e,{}),c.include(i,m),c.fragment.include(n),c.vertex.uniforms.add("proj","mat4").add("view","mat4"),c.fragment.uniforms.add("uColor","vec4"),c.attributes.add(g.POSITION,"vec3"),c.varyings.add("vWorldPosition","vec3"),m.multipassTerrainEnabled&&c.varyings.add("depth","float"),m.screenSizeEnabled&&c.attributes.add(g.OFFSET,"vec3"),m.shadingEnabled&&(c.vertex.uniforms.add("viewNormal","mat4"),c.fragment.uniforms.add("shadedColor","vec4").add("shadingDirection","vec3"),c.attributes.add(g.NORMAL,"vec3"),c.varyings.add("vViewNormal","vec3")),c.vertex.code.add(s`
|
|
6
6
|
void main(void) {
|
|
7
|
-
vWorldPosition = ${
|
|
8
|
-
`),
|
|
9
|
-
vViewNormal = (viewNormal * vec4(worldNormal, 1)).xyz;`),
|
|
10
|
-
${
|
|
7
|
+
vWorldPosition = ${m.screenSizeEnabled?"screenSizeScaling(offset, position)":"position"};
|
|
8
|
+
`),m.shadingEnabled&&c.vertex.code.add(s`vec3 worldNormal = normal;
|
|
9
|
+
vViewNormal = (viewNormal * vec4(worldNormal, 1)).xyz;`),c.vertex.code.add(s`
|
|
10
|
+
${m.multipassTerrainEnabled?"depth = (view * vec4(vWorldPosition, 1.0)).z;":""}
|
|
11
11
|
gl_Position = transformPosition(proj, view, vWorldPosition);
|
|
12
12
|
}
|
|
13
|
-
`),
|
|
13
|
+
`),m.multipassTerrainEnabled&&(c.fragment.include(a),c.include(d,m)),c.fragment.code.add(s`
|
|
14
14
|
void main() {
|
|
15
15
|
discardBySlice(vWorldPosition);
|
|
16
|
-
${
|
|
17
|
-
`),
|
|
16
|
+
${m.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
17
|
+
`),m.shadingEnabled?c.fragment.code.add(s`vec3 viewNormalNorm = normalize(vViewNormal);
|
|
18
18
|
float shadingFactor = 1.0 - clamp(-dot(viewNormalNorm, shadingDirection), 0.0, 1.0);
|
|
19
|
-
vec4 finalColor = mix(
|
|
19
|
+
vec4 finalColor = mix(uColor, shadedColor, shadingFactor);`):c.fragment.code.add(s`vec4 finalColor = uColor;`),c.fragment.code.add(s`
|
|
20
20
|
if (finalColor.a < ${s.float(l)}) {
|
|
21
21
|
discard;
|
|
22
22
|
}
|
|
23
|
-
${
|
|
23
|
+
${m.output===r.Alpha?s`gl_FragColor = vec4(finalColor.a);`:""}
|
|
24
24
|
|
|
25
|
-
${
|
|
25
|
+
${m.output===r.Color?s`gl_FragColor = highlightSlice(finalColor, vWorldPosition); ${m.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}`:""}
|
|
26
26
|
}
|
|
27
|
-
`),
|
|
27
|
+
`),c}const c=Object.freeze({__proto__:null,build:m});export{c as S,m as b};
|