@arcgis/core 4.23.0-next.20220126 → 4.23.0-next.20220130
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/02fbc76dfdc20e628c61.js +1 -0
- package/assets/esri/core/workers/chunks/0453fad5cb819797b4f6.js +1 -0
- package/assets/esri/core/workers/chunks/0463ba46df855a92b9c0.js +1 -0
- package/assets/esri/core/workers/chunks/0cd0a6eef51fc5b9ea61.js +1 -0
- package/assets/esri/core/workers/chunks/{97ec9eef0048760fa260.js → 0d02c6ad1f4688bfa374.js} +1 -1
- package/assets/esri/core/workers/chunks/0d684f16f37d5dc385dd.js +1 -0
- package/assets/esri/core/workers/chunks/0e17691520d890d34efb.js +1 -0
- package/assets/esri/core/workers/chunks/16b6d0f8378582c051c3.js +1 -0
- package/assets/esri/core/workers/chunks/{0ce1dc14280d6f188468.js → 17de7a324dfa7f57ad5d.js} +1 -1
- package/assets/esri/core/workers/chunks/{b313ab14a643273e7d09.js → 1877ab1b6a115dbba1c5.js} +1 -1
- package/assets/esri/core/workers/chunks/{c36f84daa7736878418d.js → 197ec52641aed20029c6.js} +1 -1
- package/assets/esri/core/workers/chunks/1b2a961f776a0b57e57a.js +1 -0
- package/assets/esri/core/workers/chunks/1b3fd66577b19aa5f2b6.js +1 -0
- package/assets/esri/core/workers/chunks/1c733b7db092a2a88ef3.js +1 -0
- package/assets/esri/core/workers/chunks/1f8c6a179e39fd4c5e6f.js +1 -0
- package/assets/esri/core/workers/chunks/2076fcbae63f1bfb7143.js +1 -0
- package/assets/esri/core/workers/chunks/{9387db408f496e7dd003.js → 214910032945dd2d86b0.js} +1 -1
- package/assets/esri/core/workers/chunks/27474b007988855bea9d.js +1 -0
- package/assets/esri/core/workers/chunks/281b89dbf5574fc642ae.js +1 -0
- package/assets/esri/core/workers/chunks/2c8fe9bc988c3c5760a5.js +1 -0
- package/assets/esri/core/workers/chunks/34b59d7099904dcb28b5.js +1 -0
- package/assets/esri/core/workers/chunks/357033117dfe61eb81ea.js +1 -0
- package/assets/esri/core/workers/chunks/{b2ebe4f6d100e15b512d.js → 37c03cfc19086ce631c6.js} +1 -1
- package/assets/esri/core/workers/chunks/386f86f961146f530aa7.js +1 -0
- package/assets/esri/core/workers/chunks/{e6165e17fbb07bfc40a1.js → 391e96192d1ec4e55ce2.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/{c959e0d1cf7dce0421b9.js → 48fa8aed6c24877b44c4.js} +1 -1
- package/assets/esri/core/workers/chunks/{438f0b5ae5c53ae4f06a.js → 4954fd86b48cc68b737c.js} +1 -1
- package/assets/esri/core/workers/chunks/49a1a633bb0d93764aae.js +1 -0
- package/assets/esri/core/workers/chunks/4ba6de8aa7e2960bad49.js +1 -0
- package/assets/esri/core/workers/chunks/4be35af7d6babbfe9d84.js +1 -0
- package/assets/esri/core/workers/chunks/5457962a70bd3c557a75.js +1 -0
- package/assets/esri/core/workers/chunks/57856b4a9b8784a69844.js +1 -0
- package/assets/esri/core/workers/chunks/{b9c177524b3e7de1ffd1.js → 5790d171072b3c7d108f.js} +1 -1
- package/assets/esri/core/workers/chunks/{5dfe1f8d520025e2118b.js → 57b349d1dbc0bed75b79.js} +1 -1
- package/assets/esri/core/workers/chunks/{97a28641b3b2fd31bea2.js → 5bcb3240b3c005e5fe72.js} +1 -1
- package/assets/esri/core/workers/chunks/5d11b97b667921d67ae7.js +1 -0
- package/assets/esri/core/workers/chunks/5dbe555a5a662ff3d9ce.js +1 -0
- package/assets/esri/core/workers/chunks/5ec98f4ddac707d0fbd1.js +1 -0
- package/assets/esri/core/workers/chunks/64b7e8d812ea8fcf269e.js +1 -0
- package/assets/esri/core/workers/chunks/{ba5eb394f098968c22d2.js → 655b55ac0cd533d7e9d7.js} +1 -1
- package/assets/esri/core/workers/chunks/{b0b036ad3ad3cd956747.js → 69fd99b7c76e9992ccf3.js} +1 -1
- package/assets/esri/core/workers/chunks/75d812955a473d0e8960.js +1 -0
- package/assets/esri/core/workers/chunks/7903a3e2e0faff0f86c0.js +1 -0
- package/assets/esri/core/workers/chunks/{cc146c57bbdac8029fd8.js → 7a5f5acfbd4ca1a5c1f3.js} +1 -1
- package/assets/esri/core/workers/chunks/83d00afae4406ec78bc9.js +1 -0
- package/assets/esri/core/workers/chunks/{434b16731c6a81f868ef.js → 85b1f36790df95b17659.js} +1 -1
- package/assets/esri/core/workers/chunks/89820b200ee44e678af5.js +1 -0
- package/assets/esri/core/workers/chunks/918bb7a7d901544a7367.js +1 -0
- package/assets/esri/core/workers/chunks/{94b8dbf859df71858d1c.js → 929c9b7cdab7c4ca3d87.js} +1 -1
- 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/9876a1bae350795fab36.js +1 -0
- package/assets/esri/core/workers/chunks/99619fcb772807c74f3b.js +1 -0
- package/assets/esri/core/workers/chunks/{010a71c2aa1b7681e191.js → 9d11f84e6c893b9d0019.js} +1 -1
- package/assets/esri/core/workers/chunks/a1930e4f035bc9aa1ae5.js +1 -0
- package/assets/esri/core/workers/chunks/a8692bffb76444c34760.js +1 -0
- package/assets/esri/core/workers/chunks/{f760a3e030b0f358a92a.js → aeaa1667c2d9f1b3366b.js} +1 -1
- package/assets/esri/core/workers/chunks/{3f343f792fd9f44d6f25.js → b3f5e91116112b0b612a.js} +1 -1
- package/assets/esri/core/workers/chunks/b97953694f42bfec1b3c.js +1 -0
- package/assets/esri/core/workers/chunks/b9e9cb354822c6d995a4.js +1 -0
- package/assets/esri/core/workers/chunks/ba762bcfd74af0bb8218.js +1 -0
- package/assets/esri/core/workers/chunks/{e4b84ca8ddfd48dd79b1.js → bac9fc90e6756e211160.js} +1 -1
- package/assets/esri/core/workers/chunks/{4c76146014dc15143ba3.js → be588873c16770ceb9ef.js} +1 -1
- package/assets/esri/core/workers/chunks/bf97a933ea3b220115e1.js +1 -0
- package/assets/esri/core/workers/chunks/bfedd6ebff817c9b31c0.js +1 -0
- package/assets/esri/core/workers/chunks/c093dff4592832ac0973.js +1 -0
- package/assets/esri/core/workers/chunks/c1135cb02ec46c491459.js +1 -0
- package/assets/esri/core/workers/chunks/{e4e2036373166c1d5cf5.js → c2253a9f29c1aabb2b75.js} +1 -1
- package/assets/esri/core/workers/chunks/d04fca5d46cca02500b7.js +1 -0
- package/assets/esri/core/workers/chunks/d08efbc349dd9f999497.js +1 -0
- package/assets/esri/core/workers/chunks/d1fe53b597351dc58305.js +1 -0
- package/assets/esri/core/workers/chunks/{a8b13fb804bb775e4967.js → db3c729ce0c0b2690dc9.js} +1 -1
- package/assets/esri/core/workers/chunks/dd13772a5e2eccc6a2bc.js +1 -0
- package/assets/esri/core/workers/chunks/dedc333a61081772ca7b.js +1 -0
- package/assets/esri/core/workers/chunks/{6f50a9647f026a8d4729.js → e0c8d61c7a85ce15499a.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/e287f49184d076af17e2.js +1 -0
- package/assets/esri/core/workers/chunks/{bde1d5b0a7717350986e.js → e4019b63a1fe74e2c842.js} +1 -1
- package/assets/esri/core/workers/chunks/e8e775758b79c5a084c8.js +1 -0
- package/assets/esri/core/workers/chunks/e93dfdede0532a89ffa5.js +1 -0
- package/assets/esri/core/workers/chunks/ea595b0df5050eda2a13.js +1 -0
- package/assets/esri/core/workers/chunks/eb82ff10cef2bde6e57f.js +1 -0
- package/assets/esri/core/workers/chunks/ebc6f4764b82d4104c65.js +1 -0
- package/assets/esri/core/workers/chunks/{1305ef8717da6e902a55.js → ec10151a2a95e95a0bb5.js} +1 -1
- package/assets/esri/core/workers/chunks/eccba071ced2d922bb85.js +1 -0
- package/assets/esri/core/workers/chunks/ee6e0db58dc64410e687.js +1 -0
- package/assets/esri/core/workers/chunks/f0a9f161805fc7a30fc5.js +1 -0
- package/assets/esri/core/workers/chunks/f2124f4d0f2b8a91f0ea.js +1 -0
- package/assets/esri/core/workers/chunks/ff6abdc72076f3994659.js +981 -0
- package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
- package/assets/esri/themes/base/widgets/_Weather.scss +1 -1
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/dark-blue/main.css +1 -1
- package/assets/esri/themes/dark-green/main.css +1 -1
- package/assets/esri/themes/dark-purple/main.css +1 -1
- package/assets/esri/themes/dark-red/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/themes/light-blue/main.css +1 -1
- package/assets/esri/themes/light-green/main.css +1 -1
- package/assets/esri/themes/light-purple/main.css +1 -1
- package/assets/esri/themes/light-red/main.css +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ar.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_bg.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_bs.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ca.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_cs.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_da.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_de.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_el.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_en.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_es.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_et.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_fi.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_fr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_he.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_hr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_hu.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_id.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_it.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ja.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ko.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_lt.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_lv.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_nb.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_nl.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_pl.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_pt-BR.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_pt-PT.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ro.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ru.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sk.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sl.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sv.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_th.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_tr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_uk.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_vi.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_zh-CN.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_zh-HK.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_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 +91 -0
- 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/chunks/vxlLayer.js +1 -1
- package/core/accessorSupport/watch.js +1 -1
- package/core/clock.js +1 -1
- package/core/jsonMap.js +1 -1
- package/core/loadAll.js +1 -1
- package/core/promiseUtils.js +1 -1
- package/core/reactiveUtils.js +1 -1
- package/form/ExpressionInfo.js +1 -1
- package/geometry/support/frustum.js +1 -1
- package/geometry/support/plane.js +1 -1
- package/interfaces.d.ts +232 -38
- 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/rest/print.js +1 -1
- package/smartMapping/statistics/support/predominanceUtils.d.ts +4 -0
- package/support/arcadeOnDemand.js +1 -1
- package/support/featureFlags.js +1 -1
- 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/MapViewConstraints.js +1 -1
- package/views/2d/engine/vectorTiles/SchemaHelper.js +1 -1
- package/views/2d/viewpointUtils.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/CloudsGenerator.js +1 -1
- package/views/3d/environment/CloudsPresets.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/environment/Fog.glsl.js +1 -1
- package/views/3d/environment/Fog.js +1 -1
- package/views/3d/environment/PanoramicAtmosphere.js +1 -1
- package/views/3d/environment/Precipitation.glsl.js +5 -0
- package/views/3d/environment/Precipitation.js +5 -0
- package/views/3d/environment/PrecipitationTechnique.js +5 -0
- package/views/3d/environment/RainyWeather.js +1 -1
- package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
- package/views/3d/environment/SimpleAtmosphere.js +1 -1
- package/views/3d/environment/SnowyWeather.js +5 -0
- package/views/3d/environment/Stars.glsl.js +1 -1
- package/views/3d/environment/Stars.js +1 -1
- package/views/3d/environment/weather.js +1 -1
- package/views/3d/interactive/analysisTools/slice/SliceTool.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/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsView3D.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/GraphicsProcessor.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/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/support/sunUtils.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/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/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/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/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/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.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/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/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/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/MapView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/View.js +1 -1
- package/views/input/recognizers/DoubleTapDrag.js +1 -1
- package/views/input/recognizers/ImmediateDoubleClick.js +1 -1
- package/views/input/recognizers/PointerClickHoldAndDrag.js +1 -1
- package/views/input/recognizers/SingleAndDoubleClick.js +1 -1
- package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
- package/views/support/DefaultsFromMap.js +1 -1
- package/views/support/WatchUpdatingTracking.js +1 -1
- package/views/support/projectionUtils.js +5 -0
- 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/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
- package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
- package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
- package/widgets/BasemapGallery/support/basemapCompatibilityUtils.js +1 -1
- package/widgets/BasemapGallery.js +1 -1
- package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
- package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
- package/widgets/Search/support/locatorUtils.js +1 -1
- package/widgets/Search.js +1 -1
- package/widgets/Slice/SliceViewModel.js +1 -1
- package/widgets/TimeSlider.js +1 -1
- package/widgets/Weather/WeatherViewModel.js +1 -1
- package/widgets/Weather/css.js +1 -1
- package/widgets/Weather/enums.js +5 -0
- package/widgets/Weather.js +1 -1
- package/widgets/support/InteractiveToolViewModel.js +1 -1
- package/assets/esri/core/workers/chunks/00c5bb5eecb0e89266df.js +0 -1
- package/assets/esri/core/workers/chunks/021a37e2b191298e80b7.js +0 -1
- package/assets/esri/core/workers/chunks/1370c92c40fd6271553c.js +0 -1
- package/assets/esri/core/workers/chunks/14bef72154b3a19561a7.js +0 -1
- package/assets/esri/core/workers/chunks/18668dc45eb9e35530df.js +0 -1
- package/assets/esri/core/workers/chunks/1e4d37c2b9dc83d20a11.js +0 -1
- package/assets/esri/core/workers/chunks/1fbcc8424452d0256bd6.js +0 -1
- package/assets/esri/core/workers/chunks/208a7e24e19fc5633dd7.js +0 -1
- package/assets/esri/core/workers/chunks/22b09e276c9b9f22f0f8.js +0 -1
- package/assets/esri/core/workers/chunks/23b15e7c2f96d260e16c.js +0 -1
- package/assets/esri/core/workers/chunks/25a3e9bc0b4c7e0d3165.js +0 -1
- package/assets/esri/core/workers/chunks/2792ca40f1e92849247c.js +0 -1
- package/assets/esri/core/workers/chunks/2a96f1bba9ce6883e5e0.js +0 -1
- package/assets/esri/core/workers/chunks/3231ee3e090bb4cac3fc.js +0 -1
- package/assets/esri/core/workers/chunks/36a3f6fb4d1d18fcb642.js +0 -1
- package/assets/esri/core/workers/chunks/36e250278b5622ccf068.js +0 -1
- package/assets/esri/core/workers/chunks/395ba088d4864588ff66.js +0 -1
- package/assets/esri/core/workers/chunks/3aa4194dc5497c57647f.js +0 -1
- package/assets/esri/core/workers/chunks/3cc77692b2eee27b9c9e.js +0 -1
- package/assets/esri/core/workers/chunks/40a1e713f63ec77110c0.js +0 -1
- package/assets/esri/core/workers/chunks/4385a268c2a64281d1c1.js +0 -1
- package/assets/esri/core/workers/chunks/46b4bb66a54bbd8e2e57.js +0 -1
- package/assets/esri/core/workers/chunks/4bfbf5a34c9207fdcf44.js +0 -1
- package/assets/esri/core/workers/chunks/5a4a5585ec8027079f32.js +0 -1
- package/assets/esri/core/workers/chunks/5d4863a92b03bebc1b54.js +0 -1
- package/assets/esri/core/workers/chunks/5d991b74d958005c26c4.js +0 -1
- package/assets/esri/core/workers/chunks/634b5ccd7a3ac67f855d.js +0 -1
- package/assets/esri/core/workers/chunks/662d13f68cf3ec92439b.js +0 -1
- package/assets/esri/core/workers/chunks/663ad15b86936eb06b69.js +0 -1
- package/assets/esri/core/workers/chunks/7bc5cc5dbf1b7b70ddac.js +0 -1
- package/assets/esri/core/workers/chunks/7d661129a0d8c466eeec.js +0 -1
- package/assets/esri/core/workers/chunks/8070972c0efb78523b68.js +0 -1
- package/assets/esri/core/workers/chunks/85e27fd949475f9a6bbc.js +0 -1
- package/assets/esri/core/workers/chunks/8b6ab6202a40fe622833.js +0 -1
- package/assets/esri/core/workers/chunks/96ab518eb6ba11333dee.js +0 -1
- package/assets/esri/core/workers/chunks/9796d54ff12b6429164a.js +0 -1
- package/assets/esri/core/workers/chunks/98986e6601b0366376b4.js +0 -1
- package/assets/esri/core/workers/chunks/9cdcf9309d6feda70185.js +0 -1
- package/assets/esri/core/workers/chunks/aa861b8eae6c85f3dad4.js +0 -1
- package/assets/esri/core/workers/chunks/aace7e1fef256bb961c9.js +0 -1
- package/assets/esri/core/workers/chunks/ad081d8e49e7f90c3c26.js +0 -1
- package/assets/esri/core/workers/chunks/af5694b4d278cf1db2d9.js +0 -1
- package/assets/esri/core/workers/chunks/afbb4f802ca5774f0326.js +0 -1
- package/assets/esri/core/workers/chunks/b2c5f92e3d7606297ca9.js +0 -1
- package/assets/esri/core/workers/chunks/b8316c6469a543029bc6.js +0 -1
- package/assets/esri/core/workers/chunks/ba615f118a3a8970ef25.js +0 -1
- package/assets/esri/core/workers/chunks/ba6654a885be4b7a43f0.js +0 -1
- package/assets/esri/core/workers/chunks/bf0a65b4be31959f921d.js +0 -1
- package/assets/esri/core/workers/chunks/c11474b702dfb94e8e87.js +0 -1
- package/assets/esri/core/workers/chunks/c890c7fca27170e3341f.js +0 -1
- package/assets/esri/core/workers/chunks/c976785f2391c77d8a30.js +0 -1
- package/assets/esri/core/workers/chunks/ca2f5faa01d99c21ec14.js +0 -1
- package/assets/esri/core/workers/chunks/cef4af64860ebbfc1c47.js +0 -1
- package/assets/esri/core/workers/chunks/cfbffa429d88e7709c3f.js +0 -1
- package/assets/esri/core/workers/chunks/d24c4fbc567486b1188f.js +0 -1
- package/assets/esri/core/workers/chunks/de6cff7b6cbbf99b20d1.js +0 -981
- package/assets/esri/core/workers/chunks/e4f93c55eaefab4192b5.js +0 -1
- package/assets/esri/core/workers/chunks/e59764ee8cf25d4f74e2.js +0 -1
- package/assets/esri/core/workers/chunks/ec89466f76d0ba22525e.js +0 -1
- package/assets/esri/core/workers/chunks/ee45618c45806ab654cb.js +0 -1
- package/assets/esri/core/workers/chunks/f467c8f1fce22f6f599c.js +0 -1
- package/assets/esri/core/workers/chunks/f4baa5ea2e42b1317941.js +0 -1
- package/assets/esri/core/workers/chunks/face43cf5abcd2f5bd9d.js +0 -1
- package/assets/esri/core/workers/chunks/ffaf091c6023225cf5aa.js +0 -1
|
@@ -2,27 +2,27 @@
|
|
|
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 r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{VertexColor as o}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
|
|
5
|
+
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{VertexColor as o}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 l}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadLinearDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{symbolAlphaCutoff as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as p}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as g}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as u}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function m(m){const h=new g,v=m.output===e.Depth;return h.include(i,{linearDepth:v}),h.include(o,m),h.vertex.uniforms.add("proj","mat4").add("view","mat4"),h.attributes.add(u.POSITION,"vec3"),h.varyings.add("vpos","vec3"),m.multipassTerrainEnabled&&h.varyings.add("depth","float"),v&&(h.include(t,m),h.vertex.uniforms.add("nearFar","vec2"),h.varyings.add("linearDepth","float")),h.vertex.code.add(p`
|
|
6
6
|
void main(void) {
|
|
7
7
|
vpos = position;
|
|
8
8
|
forwardNormalizedVertexColor();
|
|
9
|
-
${
|
|
10
|
-
gl_Position = ${
|
|
9
|
+
${m.multipassTerrainEnabled?"depth = (view * vec4(vpos, 1.0)).z;":""}
|
|
10
|
+
gl_Position = ${v?p`transformPositionWithDepth(proj, view, vpos, nearFar, linearDepth);`:p`transformPosition(proj, view, vpos);`}
|
|
11
11
|
}
|
|
12
|
-
`),
|
|
12
|
+
`),h.include(r,m),h.fragment.include(d),m.multipassTerrainEnabled&&(h.fragment.include(a),h.include(s,m)),h.fragment.uniforms.add("eColor","vec4"),m.output===e.Highlight&&h.include(l),h.fragment.code.add(p`
|
|
13
13
|
void main() {
|
|
14
14
|
discardBySlice(vpos);
|
|
15
|
-
${
|
|
16
|
-
vec4
|
|
15
|
+
${m.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
16
|
+
vec4 fColor = ${m.attributeColor?"vColor * eColor;":"eColor;"}
|
|
17
17
|
|
|
18
|
-
if (
|
|
18
|
+
if (fColor.a < ${p.float(n)}) {
|
|
19
19
|
discard;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
${
|
|
22
|
+
${m.output===e.Alpha?p`gl_FragColor = vec4(fColor.a);`:""}
|
|
23
23
|
|
|
24
|
-
${
|
|
25
|
-
${
|
|
26
|
-
${
|
|
24
|
+
${m.output===e.Color?p`gl_FragColor = highlightSlice(fColor, vpos); ${m.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}`:""}
|
|
25
|
+
${m.output===e.Highlight?p`outputHighlight();`:""};
|
|
26
|
+
${m.output===e.Depth?p`outputDepth(linearDepth);`:""};
|
|
27
27
|
}
|
|
28
|
-
`),
|
|
28
|
+
`),h}const h=Object.freeze({__proto__:null,build:m});export{h as C,m 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{earth as e,mars as r,moon as o}from"../geometry/support/Ellipsoid.js";import{ViewingMode as a}from"../views/ViewingMode.js";import{ComponentData as
|
|
5
|
+
import{earth as e,mars as r,moon as o}from"../geometry/support/Ellipsoid.js";import{ViewingMode as a}from"../views/ViewingMode.js";import{ComponentData as i,ComponentDataType as l}from"../views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js";import{VertexDiscardByOpacity as t}from"../views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardByOpacity.glsl.js";import{ForwardLinearDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as n}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as s}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{NormalAttributeType as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{TextureCoordinateAttribute as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as m}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{VertexPosition as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as h}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadLinearDepth as C}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{ComputeMaterialColor as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTexture as b}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 f}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{PBRMode as M,PhysicallyBasedRenderingParameters as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMap as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{Overlay as N}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlpha as T,symbolAlphaCutoff as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{EllipsoidMode as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/EllipsoidMode.js";import{glsl as E}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 R}from"../views/3d/webgl-engine/lib/VertexAttribute.js";const W=new Map([[R.POSITION,0],[R.NORMAL,1],[R.NORMALCOMPRESSED,1],[R.COLOR,2],[R.UV0,3],[R.UVREGION,4],[R.COMPONENTINDEX,5]]);function D(R){const W=new P;W.include(u,R),W.include(v,R),W.include(m,R),W.include(g,R),W.include(d,R),W.include(i,R),W.include(T,R),W.include(s,R),W.include(L,R),W.include(t,R),W.fragment.uniforms.add("view","mat4"),R.pbrMode!==M.Normal&&R.pbrMode!==M.Schematic||(W.include(O,R),R.hasNormalTexture&&W.include(b,R)),R.output===n.Shadow&&R.componentData===l.Varying?W.vertex.code.add(E`#define discardShadows(castShadows) { if(!castShadows) { gl_Position = vec4(1e38, 1e38, 1e38, 1.0); return; } }`):W.vertex.code.add(E`#define discardShadows(castShadows) {}`);const D=R.overlayEnabled&&R.output===n.Color&&R.pbrMode===M.WaterOnIntegratedMesh;return R.overlayEnabled&&(W.include(f,R),W.include(N,R),R.viewingMode===a.Global?W.vertex.code.add(E`
|
|
6
6
|
const float invEllipsoidRadius = ${E.float(1/(R.ellipsoidMode===A.Earth?e.radius:R.ellipsoidMode===A.Mars?r.radius:o.radius))};
|
|
7
7
|
vec2 projectOverlay(vec3 pos) {
|
|
8
8
|
return pos.xy / (1.0 + invEllipsoidRadius * pos.z);
|
|
@@ -117,7 +117,7 @@ float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);`):W.fragme
|
|
|
117
117
|
}`:""}
|
|
118
118
|
`)),W.fragment.code.add(E`
|
|
119
119
|
gl_FragColor = highlightSlice(shadedColor, vPositionWorldCameraRelative);
|
|
120
|
-
${R.
|
|
120
|
+
${R.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
121
121
|
}
|
|
122
122
|
`)),R.output!==n.Depth&&R.output!==n.Shadow||(W.include(p,R),W.fragment.code.add(E`void main() {
|
|
123
123
|
discardBySlice(vPositionWorldCameraRelative);
|
|
@@ -133,7 +133,7 @@ outputDepth(linearDepth);
|
|
|
133
133
|
|
|
134
134
|
// note: the alpha component needs to be 1.0 in order for this material
|
|
135
135
|
// to influence ambient occlusion, see the ssao fragment shader
|
|
136
|
-
float alpha = ${R.normalType===c.
|
|
136
|
+
float alpha = ${R.normalType===c.Ground?"0.0":"1.0"};
|
|
137
137
|
gl_FragColor = vec4(vec3(.5) + .5 * shadingNormal_view(), alpha);
|
|
138
138
|
}
|
|
139
139
|
`)),R.output===n.Highlight&&(W.include(h),W.fragment.code.add(E`
|
|
@@ -8,7 +8,7 @@ gl_FragColor = texture2D(tex, uv) * opacity;
|
|
|
8
8
|
gl_FragColor = texture2D(tex, uv);
|
|
9
9
|
}`)),o.function===t.OverlayWithTransparency&&(n.fragment.uniforms.add("overlayIdx","int"),o.hasOpacityFactor&&n.fragment.uniforms.add("opacity","float"),n.fragment.code.add(e`
|
|
10
10
|
void main() {
|
|
11
|
-
vec2 overlayUV = overlayIdx == 0 ? vec2(uv.x * 0.5, uv.y) : vec2(uv.x * 0.5+ 0.5, uv.y);
|
|
11
|
+
vec2 overlayUV = overlayIdx == 0 ? vec2(uv.x * 0.5, uv.y) : vec2(uv.x * 0.5 + 0.5, uv.y);
|
|
12
12
|
gl_FragColor = texture2D(tex, overlayUV) ${o.hasOpacityFactor?"* opacity":""};
|
|
13
13
|
}`)),o.function===t.TransparentToHUDVisibility&&n.fragment.code.add(e`void main() {
|
|
14
14
|
gl_FragColor = vec4(1.0 - texture2D(tex, uv).a);
|
|
@@ -2,83 +2,83 @@
|
|
|
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 r}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as o}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 n}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 r}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as o}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 n,NormalAttributeType as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{PositionAttribute as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js";import{SymbolColor as c}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 g}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 p}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as u}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ReadLinearDepth as b}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.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 L,PBRMode as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMap as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{VisualVariables as T}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{symbolAlphaCutoff as O,DiscardOrAdjustAlpha as E}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{HeaderComment as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/HeaderComment.glsl.js";import{MixExternalColor as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{glsl as P}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as _}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as N}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function $($){const D=new _,B=D.vertex.code,F=D.fragment.code;D.include(A,{name:"Default Material Shader",output:$.output}),D.vertex.uniforms.add("proj","mat4").add("view","mat4").add("cameraPosition","vec3").add("localOrigin","vec3");const V=$.hasModelTransformation;return V&&D.vertex.uniforms.add("model","mat4"),D.include(d),D.varyings.add("vpos","vec3"),D.include(T,$),D.include(t,$),D.include(p,$),$.output!==a.Color&&$.output!==a.Alpha||(D.include(n,$),D.include(l,{linearDepth:!1,hasModelTransformation:V}),$.normalType===s.Attribute&&$.offsetBackfaces&&D.include(o),D.include(h,$),D.include(v,$),$.instancedColor&&D.attributes.add(N.INSTANCECOLOR,"vec4"),D.varyings.add("localvpos","vec3"),D.include(m,$),D.include(r,$),D.include(c,$),D.include(g,$),D.vertex.uniforms.add("externalColor","vec4"),D.varyings.add("vcolorExt","vec4"),$.multipassTerrainEnabled&&D.varyings.add("depth","float"),B.add(P`
|
|
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();
|
|
13
13
|
|
|
14
|
-
if (vcolorExt.a < ${
|
|
14
|
+
if (vcolorExt.a < ${P.float(O)}) {
|
|
15
15
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
16
16
|
}
|
|
17
17
|
else {
|
|
18
18
|
vpos = calculateVPos();
|
|
19
19
|
localvpos = vpos - view[3].xyz;
|
|
20
20
|
vpos = subtractOrigin(vpos);
|
|
21
|
-
${
|
|
21
|
+
${$.normalType===s.Attribute?P`
|
|
22
22
|
vNormalWorld = dpNormal(vvLocalNormal(normalModel()));`:""}
|
|
23
23
|
vpos = addVerticalOffset(vpos, localOrigin);
|
|
24
|
-
${
|
|
25
|
-
gl_Position = transformPosition(proj, view, ${
|
|
26
|
-
${
|
|
24
|
+
${$.vertexTangents?"vTangent = dpTransformVertexTangent(tangent);":""}
|
|
25
|
+
gl_Position = transformPosition(proj, view, ${V?"model,":""} vpos);
|
|
26
|
+
${$.normalType===s.Attribute&&$.offsetBackfaces?"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);":""}
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
${
|
|
29
|
+
${$.multipassTerrainEnabled?"depth = (view * vec4(vpos, 1.0)).z;":""}
|
|
30
30
|
forwardLinearDepth();
|
|
31
31
|
forwardTextureCoordinates();
|
|
32
32
|
}
|
|
33
|
-
`))
|
|
33
|
+
`)),$.output===a.Alpha&&(D.include(i,$),D.include(E,$),$.multipassTerrainEnabled&&(D.fragment.include(b),D.include(x,$)),D.fragment.uniforms.add("cameraPosition","vec3").add("localOrigin","vec3").add("opacity","float").add("layerOpacity","float"),$.hasColorTexture&&D.fragment.uniforms.add("tex","sampler2D"),D.fragment.include(S),F.add(P`
|
|
34
34
|
void main() {
|
|
35
35
|
discardBySlice(vpos);
|
|
36
|
-
${
|
|
37
|
-
${
|
|
36
|
+
${$.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
37
|
+
${$.hasColorTexture?P`
|
|
38
38
|
vec4 texColor = texture2D(tex, vuv0);
|
|
39
|
-
${
|
|
40
|
-
discardOrAdjustAlpha(texColor);`:
|
|
41
|
-
${
|
|
42
|
-
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:
|
|
39
|
+
${$.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
40
|
+
discardOrAdjustAlpha(texColor);`:P`vec4 texColor = vec4(1.0);`}
|
|
41
|
+
${$.attributeColor?P`
|
|
42
|
+
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:P`
|
|
43
43
|
float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));
|
|
44
44
|
`}
|
|
45
45
|
gl_FragColor = vec4(opacity_);
|
|
46
46
|
}
|
|
47
|
-
`))
|
|
47
|
+
`)),$.output===a.Color&&(D.include(i,$),D.include(w,$),D.include(f,$),D.include(E,$),$.receiveShadows&&D.include(M,$),$.multipassTerrainEnabled&&(D.fragment.include(b),D.include(x,$)),D.fragment.uniforms.add("cameraPosition","vec3").add("localOrigin","vec3").add("ambient","vec3").add("diffuse","vec3").add("opacity","float").add("layerOpacity","float"),$.hasColorTexture&&D.fragment.uniforms.add("tex","sampler2D"),D.include(L,$),D.include(C,$),D.fragment.include(S),D.include(y,$),F.add(P`
|
|
48
48
|
void main() {
|
|
49
49
|
discardBySlice(vpos);
|
|
50
|
-
${
|
|
51
|
-
${
|
|
50
|
+
${$.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
51
|
+
${$.hasColorTexture?P`
|
|
52
52
|
vec4 texColor = texture2D(tex, vuv0);
|
|
53
|
-
${
|
|
54
|
-
discardOrAdjustAlpha(texColor);`:
|
|
55
|
-
shadingParams.viewDirection = normalize(vpos -
|
|
56
|
-
${
|
|
57
|
-
vec3 normal = screenDerivativeNormal(localvpos);`:
|
|
53
|
+
${$.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
54
|
+
discardOrAdjustAlpha(texColor);`:P`vec4 texColor = vec4(1.0);`}
|
|
55
|
+
shadingParams.viewDirection = normalize(vpos - cameraPosition);
|
|
56
|
+
${$.normalType===s.ScreenDerivative?P`
|
|
57
|
+
vec3 normal = screenDerivativeNormal(localvpos);`:P`
|
|
58
58
|
shadingParams.normalView = vNormalWorld;
|
|
59
59
|
vec3 normal = shadingNormal(shadingParams);`}
|
|
60
|
-
${
|
|
60
|
+
${$.pbrMode===j.Normal?"applyPBRFactors();":""}
|
|
61
61
|
float ssao = evaluateAmbientOcclusionInverse();
|
|
62
62
|
ssao *= getBakedOcclusion();
|
|
63
63
|
|
|
64
64
|
float additionalAmbientScale = additionalDirectedAmbientLight(vpos + localOrigin);
|
|
65
65
|
vec3 additionalLight = ssao * lightingMainIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
|
|
66
|
-
${
|
|
66
|
+
${$.receiveShadows?"float shadow = readShadowMap(vpos, linearDepth);":$.viewingMode===e.Global?"float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);":"float shadow = 0.0;"}
|
|
67
67
|
vec3 matColor = max(ambient, diffuse);
|
|
68
|
-
${
|
|
68
|
+
${$.attributeColor?P`
|
|
69
69
|
vec3 albedo_ = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
70
|
-
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:
|
|
70
|
+
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:P`
|
|
71
71
|
vec3 albedo_ = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
72
72
|
float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));
|
|
73
73
|
`}
|
|
74
|
-
${
|
|
75
|
-
mat3 tangentSpace = ${
|
|
74
|
+
${$.hasNormalTexture?P`
|
|
75
|
+
mat3 tangentSpace = ${$.vertexTangents?"computeTangentSpace(normal);":"computeTangentSpace(normal, vpos, vuv0);"}
|
|
76
76
|
vec3 shadedNormal = computeTextureNormal(tangentSpace, vuv0);`:"vec3 shadedNormal = normal;"}
|
|
77
|
-
${
|
|
78
|
-
${
|
|
77
|
+
${$.pbrMode===j.Normal||$.pbrMode===j.Schematic?$.viewingMode===e.Global?P`vec3 normalGround = normalize(vpos + localOrigin);`:P`vec3 normalGround = vec3(0.0, 0.0, 1.0);`:P``}
|
|
78
|
+
${$.pbrMode===j.Normal||$.pbrMode===j.Schematic?P`
|
|
79
79
|
float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * lightingMainIntensity[2];
|
|
80
80
|
vec3 shadedColor = evaluateSceneLightingPBR(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight, shadingParams.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
|
-
`))
|
|
84
|
+
`)),D.include(u,$),D}const D=Object.freeze({__proto__:null,build:$});export{D,$ 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{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ReadLinearDepth as i}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as n}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as d}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ReadLinearDepth as i}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as n}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as d}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{AdjustProjectedPosition as t}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js";import{DiscardByCoverage as a}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardByCoverage.glsl.js";import{DiscardNonSilhouetteEdges as l}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardNonSilhouetteEdges.glsl.js";import{DiscardShortEdges as r}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardShortEdges.glsl.js";import{EdgeUtil as c}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js";import{LineAmplitude as p}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js";import{LineOffset as P}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js";import{UnpackAttributes as u}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js";function g(g){const v=new n,f=v.vertex,x=v.fragment;return g.legacy&&f.uniforms.add("model","mat4"),g.antialiasing&&(f.code.add(s`#define ANTIALIASING 1`),x.code.add(s`#define ANTIALIASING 1`)),v.include(t,g),v.include(p,g),v.include(c,g),v.include(u,g),v.include(P,g),v.include(e,g),v.include(l,g),v.include(a,g),v.include(r,g),v.varyings.add("vColor","vec4"),v.varyings.add("vRadius","float"),v.varyings.add("vPosition","vec3"),v.varyings.add("vWorldPosition","vec3"),v.varyings.add("vViewPos","vec3"),v.varyings.add("vLineLengthPixels","float"),v.varyings.add("vSizeFalloffFactor","float"),f.uniforms.add("pixelToNDC","vec2"),f.uniforms.add("ndcToPixel","vec2"),f.uniforms.add("pixelRatio","float"),v.attributes.add(d.POSITION0,"vec3"),v.attributes.add(d.POSITION1,"vec3"),v.attributes.add(d.VARIANTOFFSET,"float"),v.attributes.add(d.VARIANTSTROKE,"float"),v.attributes.add(d.VARIANTEXTENSION,"float"),f.code.add(s`const float opaqueCutoff = 1.0 / 255.0;
|
|
6
6
|
void calculateGeometricOutputs(vec3 viewPosV0, vec3 viewPosV1, vec3 worldPosV0, vec3 worldPosV1, vec3 worldNormal, UnpackedAttributes unpackedAttributes) {
|
|
7
7
|
vec2 sideness = unpackedAttributes.sideness;
|
|
8
8
|
vec2 sidenessNorm = unpackedAttributes.sidenessNorm;
|
|
@@ -13,15 +13,15 @@ vec4 projPosV0 = projFromViewPosition(viewPosV0);
|
|
|
13
13
|
vec4 projPosV1 = projFromViewPosition(viewPosV1);
|
|
14
14
|
vec4 projPos = projFromViewPosition(viewPos);
|
|
15
15
|
vec3 screenSpaceLineNDC = (projPosV1.xyz / projPosV1.w - projPosV0.xyz / projPosV0.w);
|
|
16
|
-
vec2 screenSpaceLinePixels = screenSpaceLineNDC.xy *
|
|
16
|
+
vec2 screenSpaceLinePixels = screenSpaceLineNDC.xy * ndcToPixel;
|
|
17
17
|
float lineLengthPixels = length(screenSpaceLinePixels);
|
|
18
18
|
float dzPerPixel = screenSpaceLineNDC.z / lineLengthPixels;
|
|
19
19
|
vec2 screenSpaceDirection = screenSpaceLinePixels / lineLengthPixels;
|
|
20
20
|
vec2 perpendicularScreenSpaceDirection = vec2(screenSpaceDirection.y, -screenSpaceDirection.x) * sideness.x;
|
|
21
|
-
float falloffFactor = distanceBasedPerspectiveFactor(-viewPos.z) *
|
|
21
|
+
float falloffFactor = distanceBasedPerspectiveFactor(-viewPos.z) * pixelRatio;
|
|
22
22
|
float lineWidthPixels = unpackedAttributes.lineWidthPixels * falloffFactor;
|
|
23
23
|
float extensionLengthPixels = calculateExtensionLength(unpackedAttributes.extensionLengthPixels, lineLengthPixels) * falloffFactor;
|
|
24
|
-
float lineAmplitudePixels = calculateLineAmplitude(unpackedAttributes) *
|
|
24
|
+
float lineAmplitudePixels = calculateLineAmplitude(unpackedAttributes) * pixelRatio;
|
|
25
25
|
vSizeFalloffFactor = falloffFactor;
|
|
26
26
|
float lineWidthAndAmplitudePixels = lineWidthPixels + lineAmplitudePixels + lineAmplitudePixels;
|
|
27
27
|
float extendedLineLengthPixels = lineLengthPixels + extensionLengthPixels + extensionLengthPixels;
|
|
@@ -33,9 +33,9 @@ float aaPaddedRoundedCapSizePixels = lineWidthPixels * 0.5 + aaPaddingPixels;
|
|
|
33
33
|
float halfAAPaddedLineWidthAndAmplitudePixels = max(lineWidthAndAmplitudePixels, 1.0) * 0.5;
|
|
34
34
|
float aaPaddedRoundedCapSizePixels = max(lineWidthPixels, 1.0) * 0.5;
|
|
35
35
|
#endif
|
|
36
|
-
vec2 halfAAPaddedLineWidthAndAmplitudeNDC = halfAAPaddedLineWidthAndAmplitudePixels *
|
|
37
|
-
vec2 aaPaddedRoundedCapSizeNDC = aaPaddedRoundedCapSizePixels *
|
|
38
|
-
vec2 extensionLengthNDC = extensionLengthPixels *
|
|
36
|
+
vec2 halfAAPaddedLineWidthAndAmplitudeNDC = halfAAPaddedLineWidthAndAmplitudePixels * pixelToNDC;
|
|
37
|
+
vec2 aaPaddedRoundedCapSizeNDC = aaPaddedRoundedCapSizePixels * pixelToNDC;
|
|
38
|
+
vec2 extensionLengthNDC = extensionLengthPixels * pixelToNDC;
|
|
39
39
|
vec2 ndcOffset = (
|
|
40
40
|
screenSpaceDirection * sideness.y * (aaPaddedRoundedCapSizeNDC + extensionLengthNDC)
|
|
41
41
|
+ perpendicularScreenSpaceDirection * halfAAPaddedLineWidthAndAmplitudeNDC
|
package/chunks/Fog.glsl.js
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
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{TextureCoordinateAttribute as e}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{ReadLinearDepth as
|
|
6
|
-
vec3 posViewNear = (
|
|
5
|
+
import{TextureCoordinateAttribute as e,TextureCoordinateAttributeType as r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{ReadLinearDepth as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{glsl as o}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as i}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as n}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function d(d){const l=new i;return l.attributes.add(n.POSITION,"vec2"),l.include(e,{attributeTextureCoordinates:r.Default}),l.varyings.add("worldRay","vec3"),l.varyings.add("eyeDir","vec3"),l.vertex.uniforms.add("inverseProjectionMatrix","mat4"),l.vertex.uniforms.add("inverseViewMatrix","mat4"),l.vertex.code.add(o`void main(void) {
|
|
6
|
+
vec3 posViewNear = (inverseProjectionMatrix * vec4(position, -1, 1)).xyz;
|
|
7
7
|
eyeDir = posViewNear;
|
|
8
|
-
worldRay = (
|
|
8
|
+
worldRay = (inverseViewMatrix * vec4(posViewNear, 0)).xyz;
|
|
9
9
|
forwardTextureCoordinates();
|
|
10
10
|
gl_Position = vec4(position, 1, 1);
|
|
11
|
-
}`),
|
|
11
|
+
}`),l.fragment.uniforms.add("lightingMainDirection","vec3").add("atmosphereC","float").add("cameraPosition","vec3").add("nearFar","vec2").add("depthTex","sampler2D").add("fogStrength","float").add("fogAmount","float"),l.include(t),l.fragment.include(a),l.fragment.code.add(o`vec2 sphereIntersect(vec3 start, vec3 dir) {
|
|
12
12
|
float a = dot(dir, dir);
|
|
13
13
|
float b = 2.0 * dot(dir, start);
|
|
14
14
|
float d = (b * b) - 4.0 * a * atmosphereC;
|
|
@@ -16,7 +16,7 @@ if (d < 0.0) {
|
|
|
16
16
|
return vec2(1e5, -1e5);
|
|
17
17
|
}
|
|
18
18
|
return vec2((-b - sqrt(d)) / (2.0 * a), (-b + sqrt(d)) / (2.0 * a));
|
|
19
|
-
}`),
|
|
19
|
+
}`),l.fragment.code.add(o`
|
|
20
20
|
vec4 applyFog(float dist, vec3 rayDir){
|
|
21
21
|
bool sky = false;
|
|
22
22
|
|
|
@@ -26,18 +26,16 @@ return vec2((-b - sqrt(d)) / (2.0 * a), (-b + sqrt(d)) / (2.0 * a));
|
|
|
26
26
|
sky = true;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
float fogAmount = fogAmount * (1.0 - exp(-dist *
|
|
30
|
-
|
|
29
|
+
float fogAmount = fogAmount * (1.0 - exp(-dist * fogStrength));
|
|
31
30
|
float sunAmount = max(0.0, dot(rayDir, lightingMainDirection));
|
|
32
|
-
|
|
33
31
|
float lightAngle = max(0.0, dot(normalize(cameraPosition + dist * rayDir), lightingMainDirection));
|
|
34
|
-
${
|
|
32
|
+
${d.haze?o`vec3 fogColor = mix(vec3(0.0), vec3(0.24, 0.44, 0.8), lightAngle);`:o`vec3 fogColor = mix(vec3(0.1), vec3(1.5), lightAngle);`}
|
|
35
33
|
|
|
36
34
|
float phase = sky ? pow(sunAmount, 16.0) : 0.0;
|
|
37
35
|
vec3 col = (lightAngle * vec3(1.0, 0.6, 0.3) * phase + fogColor) * fogAmount;
|
|
38
36
|
return vec4(col, fogAmount);
|
|
39
37
|
}
|
|
40
|
-
`),
|
|
38
|
+
`),l.fragment.code.add(o`
|
|
41
39
|
vec3 tonemapACES(vec3 x) {
|
|
42
40
|
return clamp((x * (2.51 * x + 0.03)) / (x * (2.43 * x + 0.59) + 0.14), 0.0, 1.0);
|
|
43
41
|
}
|
|
@@ -56,7 +54,7 @@ return vec2((-b - sqrt(d)) / (2.0 * a), (-b + sqrt(d)) / (2.0 * a));
|
|
|
56
54
|
terrainDepth = max(0.0, length(cameraSpaceRay));
|
|
57
55
|
}
|
|
58
56
|
|
|
59
|
-
${
|
|
57
|
+
${d.haze?o`
|
|
60
58
|
if(terrainDepth == -1.0){
|
|
61
59
|
gl_FragColor = vec4(0);
|
|
62
60
|
return;
|
|
@@ -66,4 +64,4 @@ return vec2((-b - sqrt(d)) / (2.0 * a), (-b + sqrt(d)) / (2.0 * a));
|
|
|
66
64
|
|
|
67
65
|
gl_FragColor = delinearizeGamma(vec4(tonemapACES(fog.rgb), fog.a));
|
|
68
66
|
}
|
|
69
|
-
`),
|
|
67
|
+
`),l}const l=Object.freeze({__proto__:null,build:d});export{l as F,d 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{c as e}from"./vec2.js";import{a as o}from"./vec2f64.js";import{Z as i}from"./vec4f64.js";import{ShaderOutput as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{AlignPixel as t}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as a}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{HUDOcclusionPass as s}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js";import{OutputHighlight as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{VisualVariables as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{symbolAlphaCutoff as d,defaultMaskAlphaCutoff as u}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{ScreenSizePerspective as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import{glsl as f}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as m}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as b}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{c as e}from"./vec2.js";import{a as o}from"./vec2f64.js";import{Z as i}from"./vec4f64.js";import{ShaderOutput as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{AlignPixel as t}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as a}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{HUDOcclusionPass as s}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js";import{OutputHighlight as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{VisualVariables as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{symbolAlphaCutoff as d,defaultMaskAlphaCutoff as u}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{ScreenSizePerspective as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import{glsl as f}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as m}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as b}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function h(e){const o=new m,i=e.signedDistanceFieldEnabled;if(o.include(t),o.include(a,e),o.include(l,e),e.output===r.Occlusion)return o.include(s,e),o;o.include(p),o.fragment.include(g),o.fragment.include(v),o.include(c,e),o.varyings.add("vcolor","vec4"),o.varyings.add("vtc","vec2"),o.varyings.add("vsize","vec2"),e.binaryHighlightOcclusionEnabled&&o.varyings.add("voccluded","float"),o.vertex.uniforms.add("screenOffset","vec2").add("anchorPos","vec2").add("textureCoordinateScaleFactor","vec2").add("materialColor","vec4"),i&&o.vertex.uniforms.add("outlineColor","vec4"),e.screenSizePerspectiveEnabled&&o.vertex.uniforms.add("screenSizePerspective","vec4"),(e.debugDrawLabelBorder||e.binaryHighlightOcclusionEnabled)&&o.varyings.add("debugBorderCoords","vec4"),o.attributes.add(b.UV0,"vec2"),o.attributes.add(b.COLOR,"vec4"),o.attributes.add(b.SIZE,"vec2"),o.attributes.add(b.AUXPOS2,"vec4"),o.vertex.code.add(f`
|
|
6
6
|
void main(void) {
|
|
7
7
|
ProjectHUDAux projectAux;
|
|
8
8
|
vec4 posProj = projectPositionHUD(projectAux);
|
|
@@ -131,7 +131,7 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
|
131
131
|
`),e.output===r.Color&&o.fragment.code.add(f`
|
|
132
132
|
void main() {
|
|
133
133
|
${S}
|
|
134
|
-
${e.
|
|
134
|
+
${e.frontFacePass?"gl_FragColor.rgb /= gl_FragColor.a;":""}
|
|
135
135
|
}
|
|
136
136
|
`),e.output===r.Highlight&&(o.include(n),o.fragment.code.add(f`
|
|
137
137
|
void main() {
|
|
@@ -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 e}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as i}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as t}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{glsl as e}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as i}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as t}from"../views/3d/webgl-engine/lib/VertexAttribute.js";var o;function r(r){const l=new i,a=l.vertex.code,n=l.fragment.code;return l.attributes.add(t.POSITION,"vec2"),r.highlightStage===o.Downsample&&(a.add(e`void main() {
|
|
6
6
|
gl_Position = vec4(vec2(1.0) - position * 2.0, 0.0, 1.0);
|
|
7
7
|
}`),l.fragment.uniforms.add("tex","sampler2D"),l.fragment.uniforms.add("invFramebufferDim","vec2"),n.add(e`void main() {
|
|
8
8
|
vec2 coord = gl_FragCoord.xy * invFramebufferDim;
|
|
@@ -62,7 +62,7 @@ gl_FragColor = vec4(ceil(value.r), mx, mx, 1.0);
|
|
|
62
62
|
}`:""}
|
|
63
63
|
gl_Position = vec4(position, 0.0, 1.0);
|
|
64
64
|
uv = position.xy * 0.5 + vec2(0.5);
|
|
65
|
-
}`),l.fragment.uniforms.add("tex","sampler2D"),l.fragment.uniforms.add("origin","sampler2D"),l.fragment.uniforms.add("
|
|
65
|
+
}`),l.fragment.uniforms.add("tex","sampler2D"),l.fragment.uniforms.add("origin","sampler2D"),l.fragment.uniforms.add("uColor","vec4"),l.fragment.uniforms.add("haloColor","vec4"),l.fragment.uniforms.add("outlineSize","float"),l.fragment.uniforms.add("blurSize","float"),l.fragment.uniforms.add("opacities","vec4"),n.add(e`void main() {
|
|
66
66
|
vec4 blurredHighlightValue = texture2D(tex, uv);
|
|
67
67
|
float highlightIntensity = blurredHighlightValue.a;
|
|
68
68
|
if (highlightIntensity == 0.0) {
|
|
@@ -73,16 +73,16 @@ float outlineIntensity;
|
|
|
73
73
|
float fillIntensity;
|
|
74
74
|
if (blurredHighlightValue.g > blurredHighlightValue.b) {
|
|
75
75
|
outlineIntensity = haloColor.w * opacities[1];
|
|
76
|
-
fillIntensity =
|
|
76
|
+
fillIntensity = uColor.w * opacities[3];
|
|
77
77
|
}
|
|
78
78
|
else {
|
|
79
79
|
outlineIntensity = haloColor.w * opacities[0];
|
|
80
|
-
fillIntensity =
|
|
80
|
+
fillIntensity = uColor.w * opacities[2];
|
|
81
81
|
}
|
|
82
82
|
float inner = 1.0 - outlineSize / 9.0;
|
|
83
83
|
float outer = 1.0 - (outlineSize + blurSize) / 9.0;
|
|
84
84
|
float outlineFactor = smoothstep(outer, inner, highlightIntensity);
|
|
85
85
|
float fillFactor = any(notEqual(origin_color, vec4(0.0, 0.0, 0.0, 0.0))) ? 1.0 : 0.0;
|
|
86
86
|
float intensity = outlineIntensity * outlineFactor * (1.0 - fillFactor) + fillIntensity * fillFactor;
|
|
87
|
-
gl_FragColor = vec4(mix(haloColor.rgb,
|
|
87
|
+
gl_FragColor = vec4(mix(haloColor.rgb, uColor.rgb, fillFactor), intensity);
|
|
88
88
|
}`)),l}!function(e){e[e.Blur=0]="Blur",e[e.Apply=1]="Apply",e[e.Downsample=2]="Downsample",e[e.COUNT=3]="COUNT"}(o||(o={}));const l=Object.freeze({__proto__:null,get HighlightCompositionPass(){return o},build:r});export{o as H,l as a,r as b};
|
|
@@ -2,36 +2,36 @@
|
|
|
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 r}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{ReadLinearDepth as i}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{defaultMaskAlphaCutoff as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as
|
|
5
|
+
import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as r}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{ReadLinearDepth as i}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{defaultMaskAlphaCutoff as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as l}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as s}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as n}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function g(g){const p=new s;return p.include(a,{linearDepth:!1}),p.vertex.uniforms.add("proj","mat4").add("view","mat4"),p.attributes.add(n.POSITION,"vec3"),p.attributes.add(n.UV0,"vec2"),p.varyings.add("vpos","vec3"),g.multipassTerrainEnabled&&p.varyings.add("depth","float"),p.vertex.uniforms.add("textureCoordinateScaleFactor","vec2"),p.vertex.code.add(l`
|
|
6
6
|
void main(void) {
|
|
7
7
|
vpos = position;
|
|
8
8
|
${g.multipassTerrainEnabled?"depth = (view * vec4(vpos, 1.0)).z;":""}
|
|
9
9
|
vTexCoord = uv0 * textureCoordinateScaleFactor;
|
|
10
10
|
gl_Position = transformPosition(proj, view, vpos);
|
|
11
11
|
}
|
|
12
|
-
`),p.include(r,g),g.multipassTerrainEnabled&&(p.fragment.include(i),p.include(o,g)),p.fragment.uniforms.add("tex","sampler2D"),p.fragment.uniforms.add("opacity","float"),p.varyings.add("vTexCoord","vec2"),g.output===e.Alpha?p.fragment.code.add(
|
|
12
|
+
`),p.include(r,g),g.multipassTerrainEnabled&&(p.fragment.include(i),p.include(o,g)),p.fragment.uniforms.add("tex","sampler2D"),p.fragment.uniforms.add("opacity","float"),p.varyings.add("vTexCoord","vec2"),g.output===e.Alpha?p.fragment.code.add(l`
|
|
13
13
|
void main() {
|
|
14
14
|
discardBySlice(vpos);
|
|
15
15
|
${g.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
16
16
|
|
|
17
17
|
float alpha = texture2D(tex, vTexCoord).a * opacity;
|
|
18
|
-
if (alpha < ${
|
|
18
|
+
if (alpha < ${l.float(t)}) {
|
|
19
19
|
discard;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
gl_FragColor = vec4(alpha);
|
|
23
23
|
}
|
|
24
|
-
`):(p.fragment.include(d),p.fragment.code.add(
|
|
24
|
+
`):(p.fragment.include(d),p.fragment.code.add(l`
|
|
25
25
|
void main() {
|
|
26
26
|
discardBySlice(vpos);
|
|
27
27
|
${g.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
28
28
|
gl_FragColor = texture2D(tex, vTexCoord) * opacity;
|
|
29
29
|
|
|
30
|
-
if (gl_FragColor.a < ${
|
|
30
|
+
if (gl_FragColor.a < ${l.float(t)}) {
|
|
31
31
|
discard;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
gl_FragColor = highlightSlice(gl_FragColor, vpos);
|
|
35
|
-
${g.
|
|
35
|
+
${g.oitEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
36
36
|
}
|
|
37
37
|
`)),p}const p=Object.freeze({__proto__:null,build:g});export{p as I,g as b};
|
|
@@ -2,20 +2,20 @@
|
|
|
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{Laserline as e}from"../views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js";import{glsl as i}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 a}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{Laserline as e}from"../views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js";import{glsl as i}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 a}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function t(t){const r=new o;return r.include(e,t),r.vertex.uniforms.add("modelView","mat4"),r.vertex.uniforms.add("proj","mat4"),r.attributes.add(a.START,"vec3"),r.attributes.add(a.END,"vec3"),r.attributes.add(a.UP,"vec3"),r.attributes.add(a.EXTRUDE,"vec2"),r.varyings.add("uv","vec2"),r.varyings.add("vViewStart","vec3"),r.varyings.add("vViewEnd","vec3"),r.varyings.add("vViewPlane","vec4"),r.vertex.uniforms.add("glowWidth","float"),r.vertex.uniforms.add("pixelToNDC","vec2"),r.vertex.code.add(i`void main() {
|
|
6
6
|
vec3 pos = mix(start, end, extrude.x);
|
|
7
|
-
vec4 viewPos =
|
|
8
|
-
vec4 projPos =
|
|
7
|
+
vec4 viewPos = modelView * vec4(pos, 1);
|
|
8
|
+
vec4 projPos = proj * viewPos;
|
|
9
9
|
vec2 ndcPos = projPos.xy / projPos.w;
|
|
10
|
-
vec3 viewUp = (
|
|
11
|
-
vec4 projPosUp =
|
|
10
|
+
vec3 viewUp = (modelView * vec4(extrude.y * up, 0)).xyz;
|
|
11
|
+
vec4 projPosUp = proj * vec4(viewPos.xyz + viewUp, 1);
|
|
12
12
|
vec2 projExtrudeDir = normalize(projPosUp.xy / projPosUp.w - ndcPos);
|
|
13
13
|
vec2 lxy = abs(sign(projExtrudeDir) - ndcPos);
|
|
14
14
|
ndcPos += length(lxy) * projExtrudeDir;
|
|
15
15
|
vec3 worldPlaneNormal = normalize(cross(up, normalize(end - start)));
|
|
16
|
-
vec3 viewPlaneNormal = (
|
|
17
|
-
vViewStart = (
|
|
18
|
-
vViewEnd = (
|
|
16
|
+
vec3 viewPlaneNormal = (modelView * vec4(worldPlaneNormal, 0)).xyz;
|
|
17
|
+
vViewStart = (modelView * vec4(start, 1)).xyz;
|
|
18
|
+
vViewEnd = (modelView * vec4(end, 1)).xyz;
|
|
19
19
|
vViewPlane = vec4(viewPlaneNormal, -dot(viewPlaneNormal, vViewStart));
|
|
20
20
|
float xPaddingPixels = sign(dot(viewPlaneNormal, viewPos.xyz)) * (extrude.x * 2.0 - 1.0) * glowWidth;
|
|
21
21
|
ndcPos.x += xPaddingPixels * pixelToNDC.x;
|
|
@@ -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{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{AlignPixel as i}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as o}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{multipassGeometryTest as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js";import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as n}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as l}from"../views/3d/webgl-engine/lib/
|
|
5
|
+
import{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{AlignPixel as i}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as o}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{multipassGeometryTest as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js";import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as n}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as l}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function a(a){const d=new n;return d.include(i),d.include(o,a),d.include(e,a),d.attributes.add(l.UV0,"vec2"),d.vertex.uniforms.add("lineSize","float").add("pixelToNDC","vec2").add("borderSize","float").add("screenOffset","vec2"),d.varyings.add("coverageSampling","vec4"),d.varyings.add("lineSizes","vec2"),a.multipassGeometryEnabled&&d.varyings.add("depth","float"),d.vertex.code.add(t`
|
|
6
6
|
void main(void) {
|
|
7
7
|
ProjectHUDAux projectAux;
|
|
8
8
|
vec4 endPoint = projectPositionHUD(projectAux);
|
|
@@ -101,7 +101,7 @@ import{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js
|
|
|
101
101
|
|
|
102
102
|
gl_Position = projectedPosition;
|
|
103
103
|
}
|
|
104
|
-
`),d.fragment.uniforms.add("
|
|
104
|
+
`),d.fragment.uniforms.add("uColor","vec4"),d.fragment.uniforms.add("borderColor","vec4"),a.multipassGeometryEnabled&&(d.fragment.include(r,a),d.fragment.uniforms.add("inverseViewport","vec2")),d.fragment.code.add(t`
|
|
105
105
|
void main() {
|
|
106
106
|
${a.multipassGeometryEnabled?"if( geometryDepthTest(gl_FragCoord.xy * inverseViewport, depth) ){ discard; }":""}
|
|
107
107
|
|
|
@@ -114,8 +114,8 @@ import{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js
|
|
|
114
114
|
//
|
|
115
115
|
// Anti-alias by blending final result using the full (including optional border) coverage
|
|
116
116
|
// and the color alpha
|
|
117
|
-
float borderAlpha =
|
|
118
|
-
float colorAlpha =
|
|
117
|
+
float borderAlpha = uColor.a * borderColor.a * coverage.y;
|
|
118
|
+
float colorAlpha = uColor.a * coverage.x;
|
|
119
119
|
|
|
120
120
|
float finalAlpha = mix(borderAlpha, 1.0, colorAlpha);
|
|
121
121
|
|
|
@@ -127,8 +127,8 @@ import{Slice as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js
|
|
|
127
127
|
// Compute the finalRgb, but keep it pre-multiplied (for unpre-multiplied you
|
|
128
128
|
// need to divide by finalAlpha). We avoid the division here by setting the
|
|
129
129
|
// appropriate blending function in the material.
|
|
130
|
-
vec3 finalRgb = mix(borderColor.rgb * borderAlpha,
|
|
130
|
+
vec3 finalRgb = mix(borderColor.rgb * borderAlpha, uColor.rgb, colorAlpha);
|
|
131
131
|
gl_FragColor = vec4(finalRgb, finalAlpha);
|
|
132
132
|
`}
|
|
133
133
|
}
|
|
134
|
-
`),d}
|
|
134
|
+
`),d}function d(e,i,o){s(e,"uColor",i.color),e.setUniform1f("pixelRatio",o),e.setUniform2f("screenOffset",i.screenOffset[0]*o,i.screenOffset[1]*o),null!==i.borderColor?(s(e,"borderColor",i.borderColor),e.setUniform1f("borderSize",o)):(e.setUniform4f("borderColor",0,0,0,0),e.setUniform1f("borderSize",0))}function s(e,i,o){3===o.length?e.setUniform4f(i,o[0],o[1],o[2],1):e.setUniform4fv(i,o)}const c=Object.freeze({__proto__:null,build:a,bindLineCalloutUniforms:d});export{c as L,a,d as b};
|