@arcgis/core 6.0.0-next.7 → 6.0.0-next.9

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.
Files changed (430) hide show
  1. package/arcade/featureSetUtils.js +1 -1
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/{85908e6e9c50749cee60.js → 037a8cc19debbaaa4e10.js} +1 -1
  4. package/assets/esri/core/workers/chunks/066550852483ab8f77bc.js +1 -0
  5. package/assets/esri/core/workers/chunks/0f725cf79ce00e790a7d.js +1 -0
  6. package/assets/esri/core/workers/chunks/12a7997a40c77f5c9160.js +1 -0
  7. package/assets/esri/core/workers/chunks/1b077c92345ffb5916c2.js +1 -0
  8. package/assets/esri/core/workers/chunks/{6dd0b79fa3a629ab4f27.js → 1bca39e0e651426bdbb5.js} +1 -1
  9. package/assets/esri/core/workers/chunks/1c0c5cb13c2590aae906.js +1 -0
  10. package/assets/esri/core/workers/chunks/1e0d2715d603f48a7e0b.js +1 -0
  11. package/assets/esri/core/workers/chunks/2686fe5b62dd0be699c0.js +1 -0
  12. package/assets/esri/core/workers/chunks/2a97268000c6d03ef720.js +1 -0
  13. package/assets/esri/core/workers/chunks/2d9a1f23ec6ce90723ac.js +1 -0
  14. package/assets/esri/core/workers/chunks/2e2e33ec50e97b91b178.js +1 -0
  15. package/assets/esri/core/workers/chunks/{7a05b18f655c1167ce0a.js → 2ef5237e4c876d6a4ee0.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{776ae25a34352d3468bc.js → 3081ee6d8019494fc21e.js} +1 -1
  17. package/assets/esri/core/workers/chunks/37d6a264a3f1d8072aa0.js +1 -0
  18. package/assets/esri/core/workers/chunks/3b3e519f15ed52c83f0c.js +1 -0
  19. package/assets/esri/core/workers/chunks/3c0ed15b544df6fb0903.js +1 -0
  20. package/assets/esri/core/workers/chunks/3df5500a85345577480a.js +1 -0
  21. package/assets/esri/core/workers/chunks/{801e9e66edb4961461eb.js → 40a584cb952e94326e9e.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{1ba0dfbe0958cdbd7c9f.js → 42fd2a7b22b03dacc6a7.js} +1 -1
  23. package/assets/esri/core/workers/chunks/444e5f214abce3d607cd.js +1 -0
  24. package/assets/esri/core/workers/chunks/{d201fbf3ceff946d2bd6.js → 44d5508042cacdfcac47.js} +1 -1
  25. package/assets/esri/core/workers/chunks/4503b20ca6a80fb63d72.js +1 -0
  26. package/assets/esri/core/workers/chunks/45367aa8e5c5d574de94.js +1 -0
  27. package/assets/esri/core/workers/chunks/45800373650fbc8262e6.js +1 -0
  28. package/assets/esri/core/workers/chunks/{6a7ab1ef9a37e87db5ae.js → 46a7da93a63663878583.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{f43a50d4bd9636e68ae5.js → 46b4fb6a7fe4877b0efc.js} +63 -61
  30. package/assets/esri/core/workers/chunks/47d074136a7f8e551a9a.js +1 -0
  31. package/assets/esri/core/workers/chunks/{257910cca66dc5df465e.js → 4911ce62421a6c3320b0.js} +1 -1
  32. package/assets/esri/core/workers/chunks/4a1e23e021bac37a88ab.js +1 -0
  33. package/assets/esri/core/workers/chunks/4a6b92ecbb1f1c55cc43.js +1 -0
  34. package/assets/esri/core/workers/chunks/4debf2d9c3465250ef7a.js +1 -0
  35. package/assets/esri/core/workers/chunks/4e544de61f07ca660236.js +1 -0
  36. package/assets/esri/core/workers/chunks/4e8e322b469657ac22e2.js +1 -0
  37. package/assets/esri/core/workers/chunks/54b18559280a7d2a8d93.js +1 -0
  38. package/assets/esri/core/workers/chunks/567a65f4203f6e81f4b4.js +1 -0
  39. package/assets/esri/core/workers/chunks/5c7780f804d789cb37f5.js +1 -0
  40. package/assets/esri/core/workers/chunks/606ea251075fe81a1206.js +1 -0
  41. package/assets/esri/core/workers/chunks/{ceb680688fe7e570a774.js → 608be1172a908e92b9f1.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{6f358116f79021ff9687.js → 612104dff305ff062dfa.js} +2 -2
  43. package/assets/esri/core/workers/chunks/6299be5e7e26bf3c6859.js +1 -0
  44. package/assets/esri/core/workers/chunks/6400446b7615b97c3521.js +1 -0
  45. package/assets/esri/core/workers/chunks/6431480ba0fa8c8d487f.js +1 -0
  46. package/assets/esri/core/workers/chunks/68be3fb88ca61f82fb90.js +1 -0
  47. package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +1 -0
  48. package/assets/esri/core/workers/chunks/6c9acd9e4e201dc380e9.js +1 -0
  49. package/assets/esri/core/workers/chunks/709e019885822b1f6f3e.js +1 -0
  50. package/assets/esri/core/workers/chunks/7449568eb2305bf2d650.js +1 -0
  51. package/assets/esri/core/workers/chunks/745a153d0cd34faa124e.js +1 -0
  52. package/assets/esri/core/workers/chunks/7572c2bc5062e66f6330.js +1 -0
  53. package/assets/esri/core/workers/chunks/78472a57c2ba146fec65.js +1 -0
  54. package/assets/esri/core/workers/chunks/7f0f9dddc44b1f1600f0.js +1 -0
  55. package/assets/esri/core/workers/chunks/{56a24061589f4a968818.js → 814751e705c05099f864.js} +1 -1
  56. package/assets/esri/core/workers/chunks/8293600f94553afc8c38.js +1 -0
  57. package/assets/esri/core/workers/chunks/836bb3673ab30fc66f1e.js +1 -0
  58. package/assets/esri/core/workers/chunks/8487727f1197cf7dbf50.js +1 -0
  59. package/assets/esri/core/workers/chunks/{4d3f97a48046021713a6.js → 88e54449261ef94e390d.js} +1 -1
  60. package/assets/esri/core/workers/chunks/8b0d5551978ab0aac0d1.js +1 -0
  61. package/assets/esri/core/workers/chunks/8bea0d706ede6f84f8aa.js +1 -0
  62. package/assets/esri/core/workers/chunks/8d0c2de92770a1567536.js +1 -0
  63. package/assets/esri/core/workers/chunks/900181f68449d8f82eeb.js +1 -0
  64. package/assets/esri/core/workers/chunks/939942b00ba380e2957e.js +1 -0
  65. package/assets/esri/core/workers/chunks/{c76c42c74eedd43263d3.js → 9dd1fc56eb1ea6eb705e.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{86a051e9fe71aa356108.js → 9e3e442a9874ed23a043.js} +1 -1
  67. package/assets/esri/core/workers/chunks/a40b6d8b5c73e06e14d4.js +1 -0
  68. package/assets/esri/core/workers/chunks/{1ba1f705b6ce5c8ea702.js → a655ebdb4bf0660615a2.js} +1 -1
  69. package/assets/esri/core/workers/chunks/aaba33611753c6aada68.js +1 -0
  70. package/assets/esri/core/workers/chunks/aeaaff7a4b1a99540f52.js +1 -0
  71. package/assets/esri/core/workers/chunks/af349c7bc8ef41a0e1bd.js +1 -0
  72. package/assets/esri/core/workers/chunks/{ecaac39dde7ec4213264.js → af75747b06d79446a855.js} +1 -1
  73. package/assets/esri/core/workers/chunks/b564ec4e03478f5659db.js +1 -0
  74. package/assets/esri/core/workers/chunks/bc0f54a2c15502b630ec.js +1 -0
  75. package/assets/esri/core/workers/chunks/c1c534e08fc21842670b.js +1 -0
  76. package/assets/esri/core/workers/chunks/{9ab25ee06041f907b9a2.js → c2c1f51a4668055c2838.js} +1 -1
  77. package/assets/esri/core/workers/chunks/c337fc0e6dc69c233e6d.js +1 -0
  78. package/assets/esri/core/workers/chunks/{a7985d20fa6e8d4878e7.js → d0f5bee9db1ad51ae687.js} +1 -1
  79. package/assets/esri/core/workers/chunks/d6ad4390df576198e45b.js +1 -0
  80. package/assets/esri/core/workers/chunks/dba280c370df13196711.js +1 -0
  81. package/assets/esri/core/workers/chunks/{c18189710d6198516175.js → de5ecb567bd69c613e9d.js} +1 -1
  82. package/assets/esri/core/workers/chunks/{534186fc921a0ccf58dc.js → e1f5d00878f27e1d413e.js} +1 -1
  83. package/assets/esri/core/workers/chunks/e65dfa19f030ec298437.js +1 -0
  84. package/assets/esri/core/workers/chunks/e932951598499befabf5.js +1 -0
  85. package/assets/esri/core/workers/chunks/f122c18af10e56f9ec2b.js +1 -0
  86. package/assets/esri/core/workers/chunks/f1df76f098a3cc924832.js +1 -0
  87. package/assets/esri/core/workers/chunks/f1f90adae13b04898008.js +1 -0
  88. package/assets/esri/core/workers/chunks/f4f9d08b2df856e3b694.js +1 -0
  89. package/assets/esri/core/workers/chunks/{711cfb84659cb4437679.js → f528ac5c648ca6a98582.js} +1 -1
  90. package/assets/esri/core/workers/chunks/f92364afaefbac7e8f77.js +1 -0
  91. package/assets/esri/core/workers/chunks/fc44227c1756f65b95df.js +1 -0
  92. package/assets/esri/core/workers/chunks/{72019baeba520edb6bb0.js → fc44d45598a7476bc606.js} +1 -1
  93. package/assets/esri/themes/base/_mixins.scss +2 -2
  94. package/assets/esri/themes/base/widgets/_Attribution.scss +1 -1
  95. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +2 -2
  96. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +5 -5
  97. package/assets/esri/themes/base/widgets/_Bookmarks.scss +1 -1
  98. package/assets/esri/themes/base/widgets/_BuildingLevelPicker.scss +2 -2
  99. package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +5 -5
  100. package/assets/esri/themes/base/widgets/_CatalogLayerList.scss +1 -1
  101. package/assets/esri/themes/base/widgets/_Compass.scss +0 -2
  102. package/assets/esri/themes/base/widgets/_DirectionalPad.scss +4 -10
  103. package/assets/esri/themes/base/widgets/_Directions.scss +40 -40
  104. package/assets/esri/themes/base/widgets/_Editor.scss +7 -7
  105. package/assets/esri/themes/base/widgets/_Expand.scss +1 -1
  106. package/assets/esri/themes/base/widgets/_Feature.scss +1 -1
  107. package/assets/esri/themes/base/widgets/_FeatureForm.scss +6 -6
  108. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationLayers.scss +1 -1
  109. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationList.scss +1 -1
  110. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationSettings.scss +3 -3
  111. package/assets/esri/themes/base/widgets/_FeatureTable.scss +27 -27
  112. package/assets/esri/themes/base/widgets/_FeatureTemplates.scss +1 -1
  113. package/assets/esri/themes/base/widgets/_Features.scss +5 -5
  114. package/assets/esri/themes/base/widgets/_FilterBuilder.scss +1 -1
  115. package/assets/esri/themes/base/widgets/_FilterCondition.scss +1 -1
  116. package/assets/esri/themes/base/widgets/_Grid.scss +18 -18
  117. package/assets/esri/themes/base/widgets/_GridControls.scss +11 -11
  118. package/assets/esri/themes/base/widgets/_LayerList.scss +1 -1
  119. package/assets/esri/themes/base/widgets/_Legend.scss +5 -5
  120. package/assets/esri/themes/base/widgets/_NavigationToggle.scss +4 -1
  121. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +18 -19
  122. package/assets/esri/themes/base/widgets/_ResponsiveToolbar.scss +0 -2
  123. package/assets/esri/themes/base/widgets/_SearchResultRenderer.scss +1 -1
  124. package/assets/esri/themes/base/widgets/_SelectionList.scss +15 -15
  125. package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +2 -2
  126. package/assets/esri/themes/base/widgets/_ShadowCast.scss +11 -11
  127. package/assets/esri/themes/base/widgets/_Sketch.scss +1 -1
  128. package/assets/esri/themes/base/widgets/_Slice.scss +3 -3
  129. package/assets/esri/themes/base/widgets/_SnappingControls.scss +1 -1
  130. package/assets/esri/themes/base/widgets/_TimeSlider.scss +5 -5
  131. package/assets/esri/themes/base/widgets/_TimeZoneLabel.scss +5 -4
  132. package/assets/esri/themes/base/widgets/_Tooltip.scss +14 -17
  133. package/assets/esri/themes/base/widgets/_UtilityNetworkAssociations.scss +2 -2
  134. package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +1 -1
  135. package/assets/esri/themes/base/widgets/_UtilityNetworkValidateTopology.scss +2 -2
  136. package/assets/esri/themes/base/widgets/_ValuePicker.scss +2 -2
  137. package/assets/esri/themes/base/widgets/_VideoPlayer.scss +5 -5
  138. package/assets/esri/themes/base/widgets/_Widget.scss +5 -1
  139. package/assets/esri/themes/dark/main.css +1 -1
  140. package/assets/esri/themes/light/main.css +1 -1
  141. package/assets/esri/themes/light/view.css +1 -1
  142. package/chunks/AtmosphereCompositing.glsl.js +1 -1
  143. package/chunks/ChapmanAtmosphere.glsl.js +3 -3
  144. package/chunks/CloudsComposition.glsl.js +1 -1
  145. package/chunks/Component.glsl.js +41 -41
  146. package/chunks/DefaultMaterial.glsl.js +2 -2
  147. package/chunks/EdgeShader.glsl.js +9 -9
  148. package/chunks/Fog.glsl.js +5 -5
  149. package/chunks/GaussianSplat.glsl.js +2 -2
  150. package/chunks/GlobalIllumination.glsl.js +9 -9
  151. package/chunks/HUDMaterial.glsl.js +13 -13
  152. package/chunks/Haze.glsl.js +6 -6
  153. package/chunks/HazeCompositing.glsl.js +1 -1
  154. package/chunks/LaserlinePath.glsl.js +6 -6
  155. package/chunks/LineCallout.glsl.js +1 -1
  156. package/chunks/LineMarker.glsl.js +5 -5
  157. package/chunks/NavigationDepth.glsl.js +2 -2
  158. package/chunks/Path.glsl.js +1 -1
  159. package/chunks/Pattern.glsl.js +26 -26
  160. package/chunks/Precipitation.glsl.js +7 -7
  161. package/chunks/RealisticTree.glsl.js +2 -2
  162. package/chunks/RibbonLine.glsl.js +60 -60
  163. package/chunks/ShadowCastAccumulate.glsl.js +1 -1
  164. package/chunks/ShadowHighlight.glsl.js +5 -5
  165. package/chunks/ShadowHighlightBuffer.glsl.js +1 -1
  166. package/chunks/SimpleAtmosphere.glsl.js +4 -4
  167. package/chunks/Terrain.glsl.js +29 -32
  168. package/chunks/Viewshed.glsl.js +2 -2
  169. package/chunks/Water.glsl.js +2 -2
  170. package/config.js +1 -1
  171. package/core/Loadable.js +1 -1
  172. package/form/elements/inputs/DynamicChoiceInput.d.ts +35 -5
  173. package/geometry/HeightModelInfo.js +1 -1
  174. package/geometry/support/meshUtils.d.ts +1 -1
  175. package/geometry/support/scaleUtils.js +1 -1
  176. package/kernel.js +1 -1
  177. package/layers/BaseDynamicLayer.d.ts +1 -0
  178. package/layers/BaseElevationLayer.d.ts +2 -0
  179. package/layers/BaseTileLayer.d.ts +12 -9
  180. package/layers/CSVLayer.d.ts +0 -15
  181. package/layers/FeatureLayer.d.ts +2 -15
  182. package/layers/GeoJSONLayer.d.ts +0 -52
  183. package/layers/GeoRSSLayer.d.ts +0 -44
  184. package/layers/ParquetLayer.d.ts +93 -12
  185. package/layers/ParquetLayer.js +1 -1
  186. package/layers/SketchLayer.d.ts +0 -1
  187. package/layers/VectorTileLayer.d.ts +2 -12
  188. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  189. package/layers/mixins/PortalLayer.js +1 -1
  190. package/layers/mixins/RefreshableLayer.d.ts +1 -3
  191. package/layers/mixins/ScaleRangeLayer.js +1 -1
  192. package/layers/mixins/SublayersOwner.js +1 -1
  193. package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
  194. package/layers/raster/datasets/TIFFRaster.js +1 -1
  195. package/layers/raster/formats/tiffParser.js +1 -1
  196. package/layers/support/ParquetPortalItemData.d.ts +2 -0
  197. package/layers/support/ParquetPortalItemData.js +1 -1
  198. package/layers/support/PortalItemData.d.ts +21 -0
  199. package/layers/support/PortalItemData.js +1 -1
  200. package/layers/support/Sublayer.js +1 -1
  201. package/layers/support/SubtypeSublayer.js +1 -1
  202. package/layers/support/layersLoader.js +1 -1
  203. package/layers/support/parquetUtils.d.ts +1 -1
  204. package/layers/support/types.d.ts +1 -1
  205. package/package.json +2 -2
  206. package/popup/FeaturesModel.d.ts +27 -6
  207. package/popup/FeaturesModel.js +1 -1
  208. package/portal/support/layersLoader.js +1 -1
  209. package/portal/support/portalLayers.js +1 -1
  210. package/rest/print.js +1 -1
  211. package/rest/support/printTaskUtils.js +1 -1
  212. package/symbols/cim/CIMSymbolHelper.js +1 -1
  213. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  214. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  215. package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
  216. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  217. package/views/2d/layers/LayerView2D.js +1 -1
  218. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  219. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  220. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  221. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  222. package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
  223. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  224. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  225. package/views/3d/analysis/Viewshed/types.d.ts +3 -1
  226. package/views/3d/environment/Environment.d.ts +2 -2
  227. package/views/3d/environment/Environment.js +1 -1
  228. package/views/3d/environment/EnvironmentView.js +2 -0
  229. package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.js +1 -1
  230. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  231. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  232. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  233. package/views/3d/layers/FeatureLikeLayerViewBase3D.js +1 -1
  234. package/views/3d/layers/FlowSubView3D.js +1 -1
  235. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  236. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  237. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  238. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  239. package/views/3d/layers/MediaLayerView3D.js +1 -1
  240. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  241. package/views/3d/layers/RouteLayerView3D.js +1 -1
  242. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  243. package/views/3d/layers/SceneLayerView3D.js +1 -1
  244. package/views/3d/layers/TiledLayerView3D.js +1 -1
  245. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  246. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  247. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  248. package/views/3d/layers/graphics/Graphics3DBufferGraphicLayer.js +2 -0
  249. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  250. package/views/3d/layers/graphics/Graphics3DDrapedBufferGraphicLayer.js +2 -0
  251. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  252. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayerBase.js +2 -0
  253. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  254. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  255. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  256. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  257. package/views/3d/layers/graphics/Graphics3DStageObjectGraphicLayer.js +2 -0
  258. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  259. package/views/3d/layers/graphics/LabelInfo.js +1 -1
  260. package/views/3d/layers/graphics/Labeler.js +1 -1
  261. package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
  262. package/views/3d/layers/graphics/pointUtils.js +1 -1
  263. package/views/3d/layers/support/FeatureTile.js +1 -1
  264. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  265. package/views/3d/layers/support/SampledGeometryMaxDistanceRatio.js +1 -1
  266. package/views/3d/support/popupHitTest.js +1 -1
  267. package/views/3d/terrain/OverlayManager.js +1 -1
  268. package/views/3d/terrain/OverlayRenderer.js +1 -1
  269. package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
  270. package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +5 -5
  271. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +13 -13
  272. package/views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js +2 -0
  273. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
  274. package/views/3d/webgl-engine/core/shaderLibrary/lastFrameUniforms.js +2 -0
  275. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +7 -7
  276. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +29 -27
  277. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +4 -4
  278. package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
  279. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +14 -14
  280. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -1
  281. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +5 -5
  282. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +8 -8
  283. package/views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js +1 -1
  284. package/views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js +2 -0
  285. package/views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js +1 -1
  286. package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +6 -6
  287. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
  288. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +3 -3
  289. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  290. package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
  291. package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
  292. package/views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js +3 -3
  293. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.glsl.js +1 -1
  294. package/views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js +1 -1
  295. package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
  296. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.glsl.js +1 -1
  297. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  298. package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
  299. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  300. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  301. package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +5 -5
  302. package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
  303. package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
  304. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.glsl.js +1 -1
  305. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.glsl.js +1 -1
  306. package/views/3d/webgl-engine/effects/laserlines/LaserlinePath.glsl.js +1 -1
  307. package/views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js +1 -1
  308. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +1 -1
  309. package/views/3d/webgl-engine/lib/BufferGeometry.js +1 -1
  310. package/views/3d/webgl-engine/lib/BufferObject3D.js +1 -1
  311. package/views/3d/webgl-engine/lib/EmissionComposite.js +1 -1
  312. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  313. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  314. package/views/3d/webgl-engine/lib/affectsGeometry.js +1 -1
  315. package/views/3d/webgl-engine/lib/bufferGeometryUtils.js +2 -0
  316. package/views/3d/webgl-engine/lib/edgeRendering/AdjustProjectedPosition.glsl.js +5 -5
  317. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShader.glsl.js +1 -1
  318. package/views/3d/webgl-engine/lib/edgeRendering/EdgeUtil.glsl.js +11 -11
  319. package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
  320. package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
  321. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  322. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  323. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  324. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  325. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  326. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  327. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  328. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  329. package/views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js +1 -1
  330. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  331. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  332. package/views/3d/webgl-engine/shaders/lineUniforms.js +2 -0
  333. package/views/DOMContainer.d.ts +27 -9
  334. package/views/DOMContainer.js +1 -1
  335. package/views/PopupView.d.ts +6 -0
  336. package/views/SceneView.js +1 -1
  337. package/views/VideoView.d.ts +27 -9
  338. package/views/View.d.ts +16 -7
  339. package/views/View.js +1 -1
  340. package/views/View2D.d.ts +1 -1
  341. package/views/interactive/snapping/FeatureSnappingSourceInfo.js +1 -1
  342. package/views/interactive/snapping/SnappingManagerPool.js +1 -1
  343. package/views/interactive/snapping/SnappingOptions.d.ts +1 -1
  344. package/views/interactive/tooltip/components/ElevationModeSelect.js +1 -1
  345. package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
  346. package/views/layers/FeatureLikeLayerView.d.ts +1 -2
  347. package/views/layers/LayerView.js +1 -1
  348. package/views/layers/LineOfSightLayerView.d.ts +3 -4
  349. package/views/layers/ParquetLayerView.d.ts +15 -0
  350. package/views/layers/ParquetLayerView.js +1 -1
  351. package/views/layers/ViewshedLayerView.d.ts +5 -6
  352. package/views/support/layerViewUtils.js +1 -1
  353. package/webdoc/support/saveUtils.js +1 -1
  354. package/webdoc/support/unsupportedErrors.js +1 -1
  355. package/widgets/Editor.d.ts +10 -0
  356. package/widgets/FeatureForm.d.ts +2 -2
  357. package/widgets/Legend.d.ts +1 -0
  358. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  359. package/widgets/support/SnappingControls.d.ts +1 -1
  360. package/assets/esri/core/workers/chunks/00a600c71ceebe7bfeee.js +0 -1
  361. package/assets/esri/core/workers/chunks/00d24415bdeb0adae3df.js +0 -1
  362. package/assets/esri/core/workers/chunks/0193df3f9fb23633da87.js +0 -1
  363. package/assets/esri/core/workers/chunks/05963f57cbe5a5249496.js +0 -1
  364. package/assets/esri/core/workers/chunks/06e7400f5ebe0719b81c.js +0 -1
  365. package/assets/esri/core/workers/chunks/07aa6d36f1006b6ab7ff.js +0 -1
  366. package/assets/esri/core/workers/chunks/0b36abcbf03037b4073d.js +0 -1
  367. package/assets/esri/core/workers/chunks/122111703528381539cc.js +0 -1
  368. package/assets/esri/core/workers/chunks/1ef39aef6b33c530cbe4.js +0 -1
  369. package/assets/esri/core/workers/chunks/2164fcaced72b0fda31f.js +0 -1
  370. package/assets/esri/core/workers/chunks/25b0885d3bc190b28c04.js +0 -1
  371. package/assets/esri/core/workers/chunks/25d6c674b1c4829f040f.js +0 -1
  372. package/assets/esri/core/workers/chunks/25e6013e2c095629b236.js +0 -1
  373. package/assets/esri/core/workers/chunks/27da9ece2afaeec39f59.js +0 -1
  374. package/assets/esri/core/workers/chunks/2c90f7a6432cd716db8b.js +0 -1
  375. package/assets/esri/core/workers/chunks/2e6a2f4d686b71249c0e.js +0 -1
  376. package/assets/esri/core/workers/chunks/2f9033890c465acff698.js +0 -1
  377. package/assets/esri/core/workers/chunks/303fde8f3459dde16555.js +0 -1
  378. package/assets/esri/core/workers/chunks/347bf269c2b1583d2dca.js +0 -1
  379. package/assets/esri/core/workers/chunks/350540770781b281c39a.js +0 -1
  380. package/assets/esri/core/workers/chunks/3b017b718ea2d4ed498f.js +0 -1
  381. package/assets/esri/core/workers/chunks/43fc42405167a5537039.js +0 -1
  382. package/assets/esri/core/workers/chunks/4cddd217383b9333f32e.js +0 -1
  383. package/assets/esri/core/workers/chunks/4d82db661365daa513a6.js +0 -1
  384. package/assets/esri/core/workers/chunks/4fa59f8ed3b7b6239548.js +0 -1
  385. package/assets/esri/core/workers/chunks/518e8883b6ed613bf451.js +0 -1
  386. package/assets/esri/core/workers/chunks/5e4d6c283c2fa28db022.js +0 -1
  387. package/assets/esri/core/workers/chunks/5ea8809b6519c05ad9f6.js +0 -1
  388. package/assets/esri/core/workers/chunks/604344e45c0f27497188.js +0 -1
  389. package/assets/esri/core/workers/chunks/633a9051580c5302d2f7.js +0 -1
  390. package/assets/esri/core/workers/chunks/6469c0d18d3663e7da4b.js +0 -1
  391. package/assets/esri/core/workers/chunks/64770e2cf41211b63fd2.js +0 -1
  392. package/assets/esri/core/workers/chunks/669e39c3437d7273f0c7.js +0 -1
  393. package/assets/esri/core/workers/chunks/7038ead1fa1674416ab3.js +0 -1
  394. package/assets/esri/core/workers/chunks/7165d6f6a5078768bebb.js +0 -1
  395. package/assets/esri/core/workers/chunks/71f739bb3f7350704af6.js +0 -1
  396. package/assets/esri/core/workers/chunks/798a63653f82c0e842c5.js +0 -1
  397. package/assets/esri/core/workers/chunks/8313c626596a76c7449d.js +0 -1
  398. package/assets/esri/core/workers/chunks/841f67baf6a1634ada48.js +0 -1
  399. package/assets/esri/core/workers/chunks/84e9258a57d8c365f361.js +0 -1
  400. package/assets/esri/core/workers/chunks/84fcbf7a1d04f01685d1.js +0 -1
  401. package/assets/esri/core/workers/chunks/87b4e916b2668203a6b0.js +0 -1
  402. package/assets/esri/core/workers/chunks/8e511079918e2fd9261f.js +0 -1
  403. package/assets/esri/core/workers/chunks/8fcfd515ee1b18c902e5.js +0 -1
  404. package/assets/esri/core/workers/chunks/9001e9a1e81bce175ddd.js +0 -1
  405. package/assets/esri/core/workers/chunks/95b82cbbe355266c65d7.js +0 -1
  406. package/assets/esri/core/workers/chunks/9673a9efec86040b8c13.js +0 -1
  407. package/assets/esri/core/workers/chunks/97dbbedea9fe03bd1306.js +0 -1
  408. package/assets/esri/core/workers/chunks/9a7fc93cc693fd12b5d8.js +0 -1
  409. package/assets/esri/core/workers/chunks/9c0fd8baa00ee9733ba4.js +0 -1
  410. package/assets/esri/core/workers/chunks/a010d2e4e34eb7bc1fec.js +0 -1
  411. package/assets/esri/core/workers/chunks/a20526996d01386ec3b7.js +0 -1
  412. package/assets/esri/core/workers/chunks/a7edf7541569fef77cb3.js +0 -1
  413. package/assets/esri/core/workers/chunks/ac4cc49104d26c384e98.js +0 -1
  414. package/assets/esri/core/workers/chunks/b05a41a60e30935644be.js +0 -1
  415. package/assets/esri/core/workers/chunks/b1008bdfca995ebf98ed.js +0 -1
  416. package/assets/esri/core/workers/chunks/bfd85e8d54062a590f0e.js +0 -1
  417. package/assets/esri/core/workers/chunks/d21257d2e2a37266c0f7.js +0 -1
  418. package/assets/esri/core/workers/chunks/d270cc9807161033686e.js +0 -1
  419. package/assets/esri/core/workers/chunks/d4926545193414cf2f16.js +0 -1
  420. package/assets/esri/core/workers/chunks/da18d96b35af20e73b3b.js +0 -1
  421. package/assets/esri/core/workers/chunks/df0481bcc1613ee4b7af.js +0 -1
  422. package/assets/esri/core/workers/chunks/ec28e18275d36e71b438.js +0 -1
  423. package/assets/esri/core/workers/chunks/ec9a2425b4a498054a19.js +0 -1
  424. package/assets/esri/core/workers/chunks/f05de08e194a3f9b96f2.js +0 -1
  425. package/assets/esri/core/workers/chunks/f0a68d2900d24f56afa0.js +0 -1
  426. package/assets/esri/core/workers/chunks/f762f70e7d39634ce797.js +0 -1
  427. package/assets/esri/core/workers/chunks/fb4ff0ac2bc445fec413.js +0 -1
  428. package/assets/esri/core/workers/chunks/fd0254c6fc6c03ec11ba.js +0 -1
  429. package/assets/esri/core/workers/chunks/fd0a5c243f3426f2a0b5.js +0 -1
  430. package/views/3d/environment/EnvironmentManager.js +0 -2
@@ -1,27 +1,27 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{create as e}from"../../../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{create as t}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{DoublePrecision as n}from"../util/DoublePrecision.glsl.js";import{Float3DrawUniform as r}from"../../shaderModules/Float3DrawUniform.js";import{Float3PassUniform as i}from"../../shaderModules/Float3PassUniform.js";import{If as a,glsl as o}from"../../shaderModules/glsl.js";import{IntegerDrawUniform as s}from"../../shaderModules/IntegerDrawUniform.js";import{Matrix3DrawUniform as c}from"../../shaderModules/Matrix3DrawUniform.js";import{Matrix3PassUniform as l}from"../../shaderModules/Matrix3PassUniform.js";import{Matrix4BindUniform as u}from"../../shaderModules/Matrix4BindUniform.js";import{Texture2DPassUniform as d}from"../../shaderModules/Texture2DPassUniform.js";import{ViewingModeConfiguration as f}from"../../../materials/ViewingModeConfiguration.js";import{NoParameters as p}from"../../../../../webgl/NoParameters.js";class m extends f{}function h(e,t){let{attributes:f,vertex:p,varyings:m,fragment:h}=e;p.include(n),f.add(`position`,`vec3`),m.add(`vPositionWorldCameraRelative`,`vec3`),m.add(`vPosition_view`,`vec3`,{invariant:!0}),p.uniforms.add(new i(`transformWorldFromViewTH`,e=>e.transformWorldFromViewTH),new i(`transformWorldFromViewTL`,e=>e.transformWorldFromViewTL),new l(`transformViewFromCameraRelativeRS`,e=>e.transformViewFromCameraRelativeRS),new u(`transformProjFromView`,e=>e.camera.projectionMatrix));let{vertexPositionRotationType:g,useTransformationTexture:_}=t,v=g===1,y=g===2,b=v||y;_?p.uniforms.add(new s(`transformationDrawId`,e=>e.transformationDrawId),new d(`transformationTexture`,e=>e.transformationTexture)):(p.uniforms.add(new r(`transformWorldFromModelTH`,e=>e.transformWorldFromModelTH),new r(`transformWorldFromModelTL`,e=>e.transformWorldFromModelTL)),b&&p.uniforms.add(new c(`transformWorldFromModelRS`,e=>e.transformWorldFromModelRS))),p.code.add(o`
3
- ${a(b,o`
2
+ import{create as e}from"../../../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{create as t}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{projMatrix as n}from"../util/cameraUniforms.js";import{DoublePrecision as r}from"../util/DoublePrecision.glsl.js";import{Float3DrawUniform as i}from"../../shaderModules/Float3DrawUniform.js";import{Float3PassUniform as a}from"../../shaderModules/Float3PassUniform.js";import{If as o,glsl as s}from"../../shaderModules/glsl.js";import{IntegerDrawUniform as c}from"../../shaderModules/IntegerDrawUniform.js";import{Matrix3DrawUniform as l}from"../../shaderModules/Matrix3DrawUniform.js";import{Matrix3PassUniform as u}from"../../shaderModules/Matrix3PassUniform.js";import{Texture2DPassUniform as d}from"../../shaderModules/Texture2DPassUniform.js";import{ViewingModeConfiguration as f}from"../../../materials/ViewingModeConfiguration.js";import{NoParameters as p}from"../../../../../webgl/NoParameters.js";class m extends f{}function h(e,t){let{attributes:f,vertex:p,varyings:m,fragment:h}=e;p.include(r),f.add(`position`,`vec3`),m.add(`vPositionWorldCameraRelative`,`vec3`),m.add(`vPosition_view`,`vec3`,{invariant:!0}),p.uniforms.add(new a(`transformWorldFromViewTH`,e=>e.transformWorldFromViewTH),new a(`transformWorldFromViewTL`,e=>e.transformWorldFromViewTL),new u(`transformViewFromCameraRelativeRS`,e=>e.transformViewFromCameraRelativeRS),n);let{vertexPositionRotationType:g,useTransformationTexture:_}=t,v=g===1,y=g===2,b=v||y;_?p.uniforms.add(new c(`transformationDrawId`,e=>e.transformationDrawId),new d(`transformationTexture`,e=>e.transformationTexture)):(p.uniforms.add(new i(`transformWorldFromModelTH`,e=>e.transformWorldFromModelTH),new i(`transformWorldFromModelTL`,e=>e.transformWorldFromModelTL)),b&&p.uniforms.add(new l(`transformWorldFromModelRS`,e=>e.transformWorldFromModelRS))),p.code.add(s`
3
+ ${o(b,s`
4
4
  mat3 modelTransformation() {
5
- ${a(_,o`
5
+ ${o(_,s`
6
6
  return mat3(
7
7
  texelFetch(transformationTexture, ivec2(2, transformationDrawId), 0).xyz,
8
8
  texelFetch(transformationTexture, ivec2(3, transformationDrawId), 0).xyz,
9
9
  texelFetch(transformationTexture, ivec2(4, transformationDrawId), 0).xyz
10
- );`,o`return transformWorldFromModelRS;`)}
10
+ );`,s`return transformWorldFromModelRS;`)}
11
11
  }
12
12
  `)}
13
13
 
14
14
  vec3 originL() {
15
- return ${a(_,o`texelFetch(transformationTexture, ivec2(0, transformationDrawId), 0).xyz;`,o`transformWorldFromModelTL;`)}
15
+ return ${o(_,s`texelFetch(transformationTexture, ivec2(0, transformationDrawId), 0).xyz;`,s`transformWorldFromModelTL;`)}
16
16
  }
17
17
 
18
18
  vec3 originH() {
19
- return ${a(_,o`texelFetch(transformationTexture, ivec2(1, transformationDrawId), 0).xyz;`,o`transformWorldFromModelTH;`)};
19
+ return ${o(_,s`texelFetch(transformationTexture, ivec2(1, transformationDrawId), 0).xyz;`,s`transformWorldFromModelTH;`)};
20
20
  }
21
21
 
22
22
  vec3 positionWorldCameraRelative() {
23
23
 
24
- vec3 rotatedModelPosition = ${a(v,o`modelTransformation() *`)} position;
24
+ vec3 rotatedModelPosition = ${o(v,s`modelTransformation() *`)} position;
25
25
 
26
26
  vec3 transform_CameraRelativeFromModel = dpAdd(
27
27
  originL(),
@@ -34,20 +34,20 @@ import{create as e}from"../../../../../../core/libs/gl-matrix-2/factories/mat3f6
34
34
  }
35
35
 
36
36
  vec3 positionForDraping() {
37
- return ${a(y,o`modelTransformation() *`)} position;
37
+ return ${o(y,s`modelTransformation() *`)} position;
38
38
  }
39
- `),p.code.add(o`
39
+ `),p.code.add(s`
40
40
  void forwardPosition(float fOffset) {
41
41
  vPositionWorldCameraRelative = positionWorldCameraRelative();
42
42
  if (fOffset != 0.0) {
43
- vPositionWorldCameraRelative += fOffset * ${t.spherical?o`normalize(transformWorldFromViewTL + vPositionWorldCameraRelative)`:o`vec3(0.0, 0.0, 1.0)`};
43
+ vPositionWorldCameraRelative += fOffset * ${t.spherical?s`normalize(transformWorldFromViewTL + vPositionWorldCameraRelative)`:s`vec3(0.0, 0.0, 1.0)`};
44
44
  }
45
45
 
46
46
  vPosition_view = transformViewFromCameraRelativeRS * vPositionWorldCameraRelative;
47
- gl_Position = transformProjFromView * vec4(vPosition_view, 1.0);
47
+ gl_Position = proj * vec4(vPosition_view, 1.0);
48
48
  }
49
- `),h.uniforms.add(new i(`transformWorldFromViewTL`,e=>e.transformWorldFromViewTL)),p.code.add(o`vec3 positionWorld() {
49
+ `),h.uniforms.add(new a(`transformWorldFromViewTL`,e=>e.transformWorldFromViewTL)),p.code.add(s`vec3 positionWorld() {
50
50
  return transformWorldFromViewTL + vPositionWorldCameraRelative;
51
- }`),h.code.add(o`vec3 positionWorld() {
51
+ }`),h.code.add(s`vec3 positionWorld() {
52
52
  return transformWorldFromViewTL + vPositionWorldCameraRelative;
53
53
  }`)}class g extends p{constructor(){super(...arguments),this.transformWorldFromViewTH=t(),this.transformWorldFromViewTL=t(),this.transformViewFromCameraRelativeRS=e()}}class _ extends p{constructor(){super(...arguments),this.transformWorldFromModelRS=e(),this.transformWorldFromModelTH=t(),this.transformWorldFromModelTL=t(),this.transformationDrawId=0}}export{h as VertexPosition,m as VertexPositionConfiguration,_ as VertexPositionDrawParameters,g as VertexPositionPassParameters};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
+ import{Texture2DBindUniform as e}from"../shaderModules/Texture2DBindUniform.js";const t=new e(`depthMap`,e=>e.depth?.attachment),n=new e(`mainDepth`,e=>e.mainDepth),r=new e(`waterNormals`,e=>e.overlay?.getTexture(3)),i=new e(`shadowHighlight`,e=>e.shadowHighlight?.getTexture());export{t as depthMap,n as mainDepth,i as shadowHighlight,r as waterNormals};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{addVerticalOffset as e}from"../attributes/VerticalOffset.glsl.js";import{viewport as t,viewNormal as n}from"../util/cameraUniforms.js";import{ScreenSizePerspective as r,addScreenSizePerspectiveAlignment as i}from"../util/ScreenSizePerspective.glsl.js";import{addProjViewLocalOrigin as a,addCameraPosition as o,addPixelRatio as s}from"../util/View.glsl.js";import{FloatBindUniform as c}from"../../shaderModules/FloatBindUniform.js";import{FloatPassUniform as l}from"../../shaderModules/FloatPassUniform.js";import{glsl as u}from"../../shaderModules/glsl.js";const d=.5;function f(f,p){let m=f.vertex;f.include(r),f.attributes.add(`position`,`vec3`),f.vertex.inputs.add(`position`,()=>`position`),f.attributes.add(`normal`,`vec3`),p.hasVertexCenterOffset?f.attributes.add(`centerOffset`,`vec3`):m.constants.add(`centerOffset`,`vec3`,[0,0,0]),f.attributes.add(`groundDistance`,`float`),a(m,p),o(m,p),m.uniforms.add(t,new l(`polygonOffset`,e=>e.shaderPolygonOffset),new c(`aboveGround`,e=>e.camera.aboveGround?1:-1)),p.hasVerticalOffset&&e(m),m.code.add(u`struct ProjectHUDAux {
2
+ import{addVerticalOffset as e}from"../attributes/VerticalOffset.glsl.js";import{viewport as t,viewNormal as n,pixelRatio as r}from"../util/cameraUniforms.js";import{ScreenSizePerspective as i,addScreenSizePerspectiveAlignment as a}from"../util/ScreenSizePerspective.glsl.js";import{addProjViewLocalOrigin as o,addCameraPosition as s}from"../util/View.glsl.js";import{FloatBindUniform as c}from"../../shaderModules/FloatBindUniform.js";import{FloatPassUniform as l}from"../../shaderModules/FloatPassUniform.js";import{glsl as u}from"../../shaderModules/glsl.js";const d=.5;function f(f,p){let m=f.vertex;f.include(i),f.attributes.add(`position`,`vec3`),f.vertex.inputs.add(`position`,()=>`position`),f.attributes.add(`normal`,`vec3`),p.hasVertexCenterOffset?f.attributes.add(`centerOffset`,`vec3`):m.constants.add(`centerOffset`,`vec3`,[0,0,0]),f.attributes.add(`groundDistance`,`float`),o(m,p),s(m,p),m.uniforms.add(t,new l(`polygonOffset`,e=>e.shaderPolygonOffset),new c(`aboveGround`,e=>e.camera.aboveGround?1:-1)),p.hasVerticalOffset&&e(m),m.code.add(u`struct ProjectHUDAux {
3
3
  vec3 posModel;
4
4
  vec3 posView;
5
5
  vec3 vnormal;
@@ -39,7 +39,7 @@ return groundRelative;
39
39
  posModel += modelOffset;
40
40
  posView += viewOffset;
41
41
  }
42
- `)),p.screenCenterOffsetUnitsEnabled&&s(m),p.hasScreenSizePerspective&&i(m),m.code.add(u`
42
+ `)),p.screenCenterOffsetUnitsEnabled&&m.uniforms.add(r),p.hasScreenSizePerspective&&a(m),m.code.add(u`
43
43
  vec4 projectPositionHUD(out ProjectHUDAux aux) {
44
44
  float pointGroundDistance = groundDistance;
45
45
  aux.posModel = position;
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
+ import{Texture2DBindUniform as e}from"../shaderModules/Texture2DBindUniform.js";const t=new e(`lastFrameColorTexture`,e=>e.reprojection.lastFrameColor?.getTexture());export{t as lastFrameColorTexture};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{HighlightReadBitmap as e}from"../HighlightReadBitmap.glsl.js";import{glsl as t}from"../../shaderModules/glsl.js";import{Integer2BindUniform as n}from"../../shaderModules/Integer2BindUniform.js";import{IntegerBindUniform as r}from"../../shaderModules/IntegerBindUniform.js";import{Texture2DBindUniform as i}from"../../shaderModules/Texture2DBindUniform.js";import{Texture2DUintBindUniform as a}from"../../shaderModules/Texture2DUintBindUniform.js";function o(o,s){let{fragment:c}=o,{output:l,draped:u,hasHighlightMixTexture:d}=s;l===10?(c.uniforms.add(new r(`highlightLevel`,e=>e.highlightLevel??0),new n(`highlightMixOrigin`,e=>e.highlightMixOrigin)),o.outputs.add(`fragHighlight`,`uvec2`,0),o.include(e),d?c.uniforms.add(new a(`highlightMixTexture`,e=>e.highlightMixTexture)).code.add(t`uvec2 getAccumulatedHighlight() {
2
+ import{mainDepth as e}from"../bindUniforms.js";import{HighlightReadBitmap as t}from"../HighlightReadBitmap.glsl.js";import{glsl as n}from"../../shaderModules/glsl.js";import{Integer2BindUniform as r}from"../../shaderModules/Integer2BindUniform.js";import{IntegerBindUniform as i}from"../../shaderModules/IntegerBindUniform.js";import{Texture2DUintBindUniform as a}from"../../shaderModules/Texture2DUintBindUniform.js";function o(o,s){let{fragment:c}=o,{output:l,draped:u,hasHighlightMixTexture:d}=s;l===10?(c.uniforms.add(new i(`highlightLevel`,e=>e.highlightLevel??0),new r(`highlightMixOrigin`,e=>e.highlightMixOrigin)),o.outputs.add(`fragHighlight`,`uvec2`,0),o.include(t),d?c.uniforms.add(new a(`highlightMixTexture`,e=>e.highlightMixTexture)).code.add(n`uvec2 getAccumulatedHighlight() {
3
3
  return texelFetch(highlightMixTexture, ivec2(gl_FragCoord.xy) - highlightMixOrigin, 0).rg;
4
4
  }
5
5
  void outputHighlight(bool occluded) {
@@ -19,14 +19,14 @@ uvec2 combinedHighlight = getAccumulatedHighlight();
19
19
  combinedHighlight[li] |= bits;
20
20
  fragHighlight = combinedHighlight;
21
21
  }
22
- }`):c.code.add(t`void outputHighlight(bool occluded) {
22
+ }`):c.code.add(n`void outputHighlight(bool occluded) {
23
23
  uint bits = occluded ? 3u : 1u;
24
24
  fragHighlight = uvec2(bits, 0);
25
- }`),u?c.code.add(t`bool isHighlightOccluded() {
25
+ }`),u?c.code.add(n`bool isHighlightOccluded() {
26
26
  return false;
27
- }`):c.uniforms.add(new i(`depthTexture`,e=>e.mainDepth)).code.add(t`bool isHighlightOccluded() {
28
- float sceneDepth = texelFetch(depthTexture, ivec2(gl_FragCoord.xy), 0).x;
27
+ }`):c.uniforms.add(e).code.add(n`bool isHighlightOccluded() {
28
+ float sceneDepth = texelFetch(mainDepth, ivec2(gl_FragCoord.xy), 0).x;
29
29
  return gl_FragCoord.z > sceneDepth + 5e-7;
30
- }`),c.code.add(t`void calculateOcclusionAndOutputHighlight() {
30
+ }`),c.code.add(n`void calculateOcclusionAndOutputHighlight() {
31
31
  outputHighlight(isHighlightOccluded());
32
- }`)):c.code.add(t`void calculateOcclusionAndOutputHighlight() {}`)}export{o as OutputHighlight};
32
+ }`)):c.code.add(n`void calculateOcclusionAndOutputHighlight() {}`)}export{o as OutputHighlight};
@@ -1,39 +1,39 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{EvaluateAmbientLighting as e}from"./EvaluateAmbientLighting.glsl.js";import{EvaluateAmbientOcclusion as t}from"./EvaluateAmbientOcclusion.glsl.js";import{Gamma as n}from"./Gamma.glsl.js";import{mainLightDirection as r,mainLightIntensity as i,applyShading as a}from"./MainLighting.glsl.js";import{PhysicallyBasedRendering as o}from"./PhysicallyBasedRendering.glsl.js";import{PiUtils as s}from"./PiUtils.glsl.js";import{ReadGlobalIllumination as c}from"./ReadGlobalIllumination.glsl.js";import{BooleanBindUniform as l}from"../../shaderModules/BooleanBindUniform.js";import{FloatBindUniform as u}from"../../shaderModules/FloatBindUniform.js";import{glsl as d,If as f}from"../../shaderModules/glsl.js";import{ambientBoost as p}from"../../../lighting/SceneLighting.js";import{BlackLevelLightSoftCompression as m}from"../../../shaders/BlackLevelLightSoftCompression.glsl.js";import{ToneMapping as h}from"../../../shaders/ToneMapping.glsl.js";function g(e){e.constants.add(`ambientBoostFactor`,`float`,p)}const _=new u(`lightingGlobalFactor`,e=>e.lighting.globalFactor);function v(p,v){let{pbrMode:y,spherical:b,hasColorTexture:x,receiveGlobalIllumination:S}=v;p.include(n),p.include(c,v),p.include(t,v),y!==0&&p.include(o,v),p.include(e,v),p.include(s),p.include(h,v);let C=!(y===2&&!x);C&&p.include(m),g(p),p.uniforms.add(r,_).code.add(d`
2
+ import{EvaluateAmbientLighting as e}from"./EvaluateAmbientLighting.glsl.js";import{EvaluateAmbientOcclusion as t}from"./EvaluateAmbientOcclusion.glsl.js";import{Gamma as n}from"./Gamma.glsl.js";import{mainLightDirection as r,lightingGlobalFactor as i,mainLightIntensity as a,lightingSpecularStrength as o,lightingEnvironmentStrength as s}from"./lightingUniforms.js";import{applyShading as c}from"./MainLighting.glsl.js";import{PhysicallyBasedRendering as l}from"./PhysicallyBasedRendering.glsl.js";import{PiUtils as u}from"./PiUtils.glsl.js";import{ReadGlobalIllumination as d}from"./ReadGlobalIllumination.glsl.js";import{BooleanBindUniform as f}from"../../shaderModules/BooleanBindUniform.js";import{FloatBindUniform as p}from"../../shaderModules/FloatBindUniform.js";import{glsl as m,If as h}from"../../shaderModules/glsl.js";import{ambientBoost as g}from"../../../lighting/SceneLighting.js";import{BlackLevelLightSoftCompression as _}from"../../../shaders/BlackLevelLightSoftCompression.glsl.js";import{ToneMapping as v}from"../../../shaders/ToneMapping.glsl.js";function y(e){e.constants.add(`ambientBoostFactor`,`float`,g)}function b(g,b){let{pbrMode:x,spherical:S,hasColorTexture:C,receiveGlobalIllumination:w}=b;g.include(n),g.include(d,b),g.include(t,b),x!==0&&g.include(l,b),g.include(e,b),g.include(u),g.include(v,b);let T=!(x===2&&!C);T&&g.include(_),y(g),g.uniforms.add(r,i).code.add(m`
3
3
  float additionalDirectedAmbientLight(float lightAlignment) {
4
4
  return smoothstep(0.0, 1.0, clamp(lightAlignment * 2.5, 0.0, 1.0));
5
5
  }
6
6
 
7
7
  float additionalDirectedAmbientLight(vec3 vPosWorld) {
8
- float lightAlignment = dot(${b?d`normalize(vPosWorld)`:d`vec3(0.0, 0.0, 1.0)`}, mainLightDirection);
8
+ float lightAlignment = dot(${S?m`normalize(vPosWorld)`:m`vec3(0.0, 0.0, 1.0)`}, mainLightDirection);
9
9
  return smoothstep(0.0, 1.0, clamp(lightAlignment * 2.5, 0.0, 1.0));
10
10
  }
11
- `),p.uniforms.add(i).code.add(d`vec3 evaluateAdditionalLighting(float ambientOcclusion, vec3 vPosWorld) {
11
+ `),g.uniforms.add(a).code.add(m`vec3 evaluateAdditionalLighting(float ambientOcclusion, vec3 vPosWorld) {
12
12
  float additionalAmbientScale = additionalDirectedAmbientLight(vPosWorld);
13
13
  return (1.0 - ambientOcclusion) * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor * mainLightIntensity;
14
- }`);let w=S?`globalIlluminationOcclusion`:`ssao`,T=S?`factorDirect`:`0.0`,E=S?`factorAmbient`:`1.0`;switch(p.constants.add(`mainLightIrradianceScale`,`float`,S?.75:1),p.constants.add(`ambientIrradianceScale`,`float`,S?1.5:1),S&&(p.uniforms.add(new u(`factorDirect`,e=>e.globalIlluminationDirectFactor),new u(`factorAmbient`,e=>e.globalIlluminationAmbientFactor)),p.constants.add(`globalIlluminationOcclusionBoost`,`float`,1.2),p.constants.add(`globalIlluminationEmissionBoost`,`float`,2.25),p.constants.add(`globalIlluminationEmissionCompressionWeight`,`float`,.75),p.code.add(d`vec3 evaluateGlobalIlluminationOcclusion() {
14
+ }`);let E=w?`globalIlluminationOcclusion`:`ssao`;switch(g.constants.add(`mainLightIrradianceScale`,`float`,w?.75:1),g.constants.add(`ambientIrradianceScale`,`float`,w?1.5:1),w?(g.uniforms.add(new p(`factorDirect`,e=>e.globalIlluminationDirectFactor),new p(`factorAmbient`,e=>e.globalIlluminationAmbientFactor)),g.constants.add(`globalIlluminationOcclusionBoost`,`float`,1.2),g.constants.add(`globalIlluminationEmissionBoost`,`float`,2.25),g.constants.add(`globalIlluminationEmissionCompressionWeight`,`float`,.75),g.code.add(m`vec3 evaluateGlobalIlluminationOcclusion() {
15
15
  return min(globalIlluminationOcclusionBoost * readGlobalIlluminationOcclusion(), 1.0);
16
16
  }
17
17
  vec3 evaluateGlobalIlluminationEmission(vec3 albedoLinear) {
18
18
  vec3 emission = globalIlluminationEmissionBoost * (0.75 * albedoLinear + 0.25) * readGlobalIlluminationEmission().rgb;
19
19
  vec3 compressedEmission = emission / (emission + 1.0);
20
20
  return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWeight);
21
- }`)),y){case 0:case 4:case 3:p.include(a),p.code.add(d`
21
+ }`)):(g.constants.add(`factorDirect`,`float`,0),g.constants.add(`factorAmbient`,`float`,1)),x){case 0:case 4:case 3:g.include(c),g.code.add(m`
22
22
  vec3 evaluateSceneLighting(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
23
23
  vec3 viewDirection, vec3 upDirection) {
24
- ${f(S,d`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
24
+ ${h(w,`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
25
25
 
26
26
  vec3 mainLighting = mainLightIrradianceScale * applyShading(normal, shadow);
27
- vec3 ambientLighting = ambientIrradianceScale * calculateAmbientIrradiance(normal) * (1.0 - ${w});
27
+ vec3 ambientLighting = ambientIrradianceScale * calculateAmbientIrradiance(normal) * (1.0 - ${E});
28
28
  vec3 albedoLinear = linearizeGamma(albedo);
29
29
 
30
30
  vec3 totalLight = mainLighting + ambientLighting + additionalLight;
31
31
  totalLight = min(totalLight, vec3(PI));
32
32
  vec3 linearColor = vec3((albedoLinear / PI) * totalLight);
33
- ${f(S,`linearColor += evaluateGlobalIlluminationEmission(albedoLinear);`)}
33
+ ${h(w,`linearColor += evaluateGlobalIlluminationEmission(albedoLinear);`)}
34
34
  return delinearizeGamma(linearColor);
35
35
  }
36
- `);break;case 1:case 2:p.constants.add(`groundReflectance`,`float`,S?.35:.2),p.code.add(d`
36
+ `);break;case 1:case 2:g.constants.add(`groundReflectance`,`float`,w?.35:.2),g.code.add(m`
37
37
  const float fillLightIntensity = 0.25;
38
38
  const float horizonLightDiffusion = 0.4;
39
39
 
@@ -41,18 +41,20 @@ return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWe
41
41
  vec3 viewDirection, vec3 upDirection) {
42
42
  PBRShadingInfo inputs;
43
43
  calculatePBRInputs(inputs, normal, viewDirection, upDirection, albedo);
44
- ${f(S,`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
45
- `),v.useFillLights?p.uniforms.add(new l(`hasFillLights`,e=>e.enableFillLights)):p.constants.add(`hasFillLights`,`bool`,!1),p.code.add(d`
46
- vec3 ambientDir = vec3(5.0 * upDirection[1] - upDirection[0] * upDirection[2], - 5.0 * upDirection[0] - upDirection[2] * upDirection[1], upDirection[1] * upDirection[1] + upDirection[0] * upDirection[0]);
47
- ambientDir = ambientDir != vec3(0.0) ? normalize(ambientDir) : normalize(vec3(5.0, -1.0, 0.0));
44
+ ${h(w,`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
45
+ `),b.useFillLights?g.uniforms.add(new f(`hasFillLights`,e=>e.enableFillLights)):g.constants.add(`hasFillLights`,`bool`,!1),g.code.add(m`
46
+ vec3 ambientDir = vec3( 5.0 * upDirection[1] - upDirection[0] * upDirection[2],
47
+ -5.0 * upDirection[0] - upDirection[2] * upDirection[1],
48
+ upDirection[1] * upDirection[1] + upDirection[0] * upDirection[0]);
49
+ ambientDir = ambientDir == vec3(0.0) ? normalize(vec3(5.0, -1.0, 0.0)) : normalize(ambientDir);
48
50
 
49
51
  inputs.NdotAmbDir = hasFillLights ? abs(dot(normal, ambientDir)) : 1.0;
50
52
 
51
53
  // Calculate the irradiance components: sun, fill lights and the sky.
52
54
  // Applying AO to both direct and ambient lighting enhances depth perception.
53
55
  // This is an artistic choice; physically, AO should only attenuate ambient lighting.
54
- vec3 directOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${w}), ${T});
55
- vec3 ambientOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${w}), ${E});
56
+ vec3 directOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${E}), factorDirect);
57
+ vec3 ambientOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${E}), factorAmbient);
56
58
  vec3 mainLightIrradianceComponent = mainLightIrradianceScale * inputs.NdotL * (1.0 - shadow) * mainLightIntensity * directOcclusionFactor;
57
59
  vec3 fillLightsIrradianceComponent = inputs.NdotAmbDir * mainLightIntensity * fillLightIntensity * directOcclusionFactor;
58
60
  // calculate ambient irradiance for localView and additionalLight for globalView
@@ -62,7 +64,7 @@ return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWe
62
64
  inputs.skyIrradianceToSurface = ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;
63
65
  // Assemble the overall irradiance of the ground that illuminates the surface. for this we use the simple model that changes only the sky irradiance by the groundReflectance
64
66
  inputs.groundIrradianceToSurface = groundReflectance * ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;
65
- `),p.uniforms.add(new u(`lightingSpecularStrength`,e=>e.lighting.mainLight.specularStrength),new u(`lightingEnvironmentStrength`,e=>e.lighting.mainLight.environmentStrength)).code.add(d`
67
+ `),g.uniforms.add(o,s).code.add(m`
66
68
  vec3 horizonRingDir = inputs.RdotUP * upDirection - inputs.reflectedView;
67
69
  vec3 horizonRingH = normalize(horizonRingDir - viewDirection);
68
70
  inputs.NdotH_Horizon = dot(normal, horizonRingH);
@@ -71,7 +73,7 @@ return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWe
71
73
  vec3 horizonLightRadianceComponent = lightingEnvironmentStrength * normalDistribution(inputs.NdotH_Horizon, min(inputs.roughness + horizonLightDiffusion, 1.0)) * mainLightIntensity * fillLightIntensity;
72
74
 
73
75
  // calculateAmbientRadiance for localView and additionalLight for global view
74
- vec3 ambientLightRadianceComponent = lightingEnvironmentStrength * calculateAmbientRadiance() * (1.0 - ${w}) + additionalLight;
76
+ vec3 ambientLightRadianceComponent = lightingEnvironmentStrength * calculateAmbientRadiance() * (1.0 - ${E}) + additionalLight;
75
77
  float normalDirectionModifier = mix(1., min(mix(0.1, 2.0, (inputs.NdotUP + 1.) * 0.5), 1.0), clamp(inputs.roughness * 5.0, 0.0 , 1.0));
76
78
 
77
79
  // Assemble the overall radiance of the sky that illuminates the surface
@@ -82,19 +84,19 @@ return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWe
82
84
 
83
85
  // Calculate average ambient radiance - This is used in the gamut mapping process to determine the black level for compression
84
86
  inputs.averageAmbientRadiance = ambientLightIrradianceComponent[1] * (1.0 + groundReflectance);
85
- `),p.constants.add(`additionalAmbientIrradianceFactor`,`float`,.02),p.code.add(d`
87
+ `),g.constants.add(`additionalAmbientIrradianceFactor`,`float`,.02),g.code.add(m`
86
88
  vec3 reflectedColorComponent = evaluateEnvironmentIllumination(inputs);
87
89
  float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
88
90
  vec3 additionalMaterialReflectanceComponent = inputs.albedoLinear * additionalAmbientIrradiance;
89
91
  vec3 linearColor = reflectedColorComponent + additionalMaterialReflectanceComponent;
90
92
 
91
- ${f(S,`linearColor += evaluateGlobalIlluminationEmission(inputs.albedoLinear);`)}
93
+ ${h(w,`linearColor += evaluateGlobalIlluminationEmission(inputs.albedoLinear);`)}
92
94
 
93
- ${C?`linearColor = blackLevelSoftCompression(linearColor, inputs.averageAmbientRadiance);`:`linearColor = max(vec3(0.0), linearColor - 0.005 * inputs.averageAmbientRadiance);`}
95
+ ${T?`linearColor = blackLevelSoftCompression(linearColor, inputs.averageAmbientRadiance);`:`linearColor = max(vec3(0.0), linearColor - 0.005 * inputs.averageAmbientRadiance);`}
94
96
 
95
97
  return delinearizeGamma(linearColor);
96
98
  }
97
- `);break;case 5:case 6:p.constants.add(`terrainSpecularity`,`float`,S?.35:.5),p.uniforms.add(r,i).code.add(d`
99
+ `);break;case 5:case 6:g.constants.add(`terrainSpecularity`,`float`,w?.35:.5),g.uniforms.add(r,a).code.add(m`
98
100
  const float roughnessTerrain = 0.5;
99
101
 
100
102
  vec3 evaluateSceneLighting(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
@@ -102,12 +104,12 @@ return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWe
102
104
  PBRShadingInfo inputs;
103
105
  calculateSimplifiedInputs(inputs, normal, viewDirection, upDirection, albedo);
104
106
 
105
- ${f(S,`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
107
+ ${h(w,`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
106
108
 
107
109
  // Applying AO to both direct and ambient lighting enhances depth perception.
108
110
  // This is an artistic choice; physically, AO should only attenuate ambient lighting.
109
- vec3 directOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${w}), ${T});
110
- vec3 ambientOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${w}), ${E});
111
+ vec3 directOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${E}), factorDirect);
112
+ vec3 ambientOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${E}), factorAmbient);
111
113
  vec3 mainLightIrradianceComponent = mainLightIrradianceScale * (1.0 - shadow) * inputs.NdotL * mainLightIntensity * directOcclusionFactor;
112
114
  vec3 ambientLightIrradianceComponent = ambientIrradianceScale * calculateAmbientIrradiance(normal) * ambientOcclusionFactor + additionalLight;
113
115
  vec3 ambientSky = ambientLightIrradianceComponent + mainLightIrradianceComponent;
@@ -122,11 +124,11 @@ return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWe
122
124
 
123
125
  vec3 linearColor = diffuseColor + specularComponent;
124
126
 
125
- ${f(S,`linearColor += evaluateGlobalIlluminationEmission(inputs.albedoLinear);`)}
127
+ ${h(w,`linearColor += evaluateGlobalIlluminationEmission(inputs.albedoLinear);`)}
126
128
 
127
129
  return delinearizeGamma(linearColor);
128
130
  }
129
- `);break;case 7:p.code.add(d`vec3 evaluateSceneLighting(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
131
+ `);break;case 7:g.code.add(m`vec3 evaluateSceneLighting(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
130
132
  vec3 viewDirection, vec3 upDirection) {
131
133
  return albedo;
132
- }`)}}export{v as EvaluateSceneLighting,g as addAmbientBoostFactor,_ as lightingGlobalFactor};
134
+ }`)}}export{b as EvaluateSceneLighting,y as addAmbientBoostFactor};
@@ -1,7 +1,7 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{MixExternalColor as e}from"../util/MixExternalColor.glsl.js";import{NoPerspectiveRead as t}from"../util/NoPerspective.glsl.js";import{addCameraPosition as n,addPixelRatio as r}from"../util/View.glsl.js";import{Float4PassUniform as i}from"../../shaderModules/Float4PassUniform.js";import{FloatBindUniform as a}from"../../shaderModules/FloatBindUniform.js";import{FloatPassUniform as o}from"../../shaderModules/FloatPassUniform.js";import{glsl as s,If as c}from"../../shaderModules/glsl.js";import{Texture2DPassUniform as l}from"../../shaderModules/Texture2DPassUniform.js";import{isImagePattern as u}from"../../../materials/lineStippleUtils.js";import{computeTextureSize as d}from"../../../materials/stippleTextureRepository.js";import{ensureColor4 as f}from"../../../shaders/ensureColor4.js";function p(u,d){if(!d.stippleEnabled){u.fragment.code.add(s`float getStippleAlpha(float lineWidth) { return 1.0; }
2
+ import{worldToScreenPerDistanceRatio as e,pixelRatio as t}from"../util/cameraUniforms.js";import{MixExternalColor as n}from"../util/MixExternalColor.glsl.js";import{NoPerspectiveRead as r}from"../util/NoPerspective.glsl.js";import{addCameraPosition as i}from"../util/View.glsl.js";import{Float4PassUniform as a}from"../../shaderModules/Float4PassUniform.js";import{FloatPassUniform as o}from"../../shaderModules/FloatPassUniform.js";import{glsl as s,If as c}from"../../shaderModules/glsl.js";import{Texture2DPassUniform as l}from"../../shaderModules/Texture2DPassUniform.js";import{isImagePattern as u}from"../../../materials/lineStippleUtils.js";import{computeTextureSize as d}from"../../../materials/stippleTextureRepository.js";import{ensureColor4 as f}from"../../../shaders/ensureColor4.js";function p(u,d){if(!d.stippleEnabled){u.fragment.code.add(s`float getStippleAlpha(float lineWidth) { return 1.0; }
3
3
  void discardByStippleAlpha(float stippleAlpha, float threshold) {}
4
- vec4 blendStipple(vec4 color, float stippleAlpha) { return color; }`);return}let p=!(d.draped&&d.stipplePreferContinuous),{vertex:g,fragment:_}=u;d.draped||(n(g,d),g.uniforms.add(new a(`worldToScreenPerDistanceRatio`,({camera:e})=>1/e.screenPixelSizePerDistance)).code.add(s`float computeWorldToScreenRatio(vec3 segmentCenter) {
4
+ vec4 blendStipple(vec4 color, float stippleAlpha) { return color; }`);return}let p=!(d.draped&&d.stipplePreferContinuous),{vertex:g,fragment:_}=u;d.draped||(i(g,d),g.uniforms.add(e).code.add(s`float computeWorldToScreenRatio(vec3 segmentCenter) {
5
5
  float segmentDistanceToCamera = length(segmentCenter - cameraPosition);
6
6
  return worldToScreenPerDistanceRatio / segmentDistanceToCamera;
7
7
  }`)),u.varyings.add(`vStippleDistance`,`float`),u.varyings.add(`vStippleLimitsAndCaps`,`vec4`),u.varyings.add(`vStipplePatternStretch`,`float`),g.code.add(s`
@@ -13,7 +13,7 @@ return worldToScreenPerDistanceRatio / segmentDistanceToCamera;
13
13
  discreteStippleDistanceToScreenRatio = exp(discreteStippleDistanceToScreenRatio);
14
14
  return discreteStippleDistanceToScreenRatio;
15
15
  }
16
- `),r(g),g.code.add(s`
16
+ `),g.uniforms.add(t).code.add(s`
17
17
  vec2 computeStippleDistanceLimits(float startPseudoScreen, float segmentLengthPseudoScreen, float segmentLengthScreen, float patternLength) {
18
18
 
19
19
  // First check if the segment is long enough to support fully screen space patterns.
@@ -35,7 +35,7 @@ return worldToScreenPerDistanceRatio / segmentDistanceToCamera;
35
35
  }
36
36
  return vec2(startPseudoScreen, startPseudoScreen + segmentLengthPseudoScreen);
37
37
  }
38
- `),_.uniforms.add(new l(`stipplePatternTexture`,e=>e.stippleTexture),new o(`stipplePatternPixelSizeInv`,e=>1/m(e))),d.stippleOffColorEnabled&&_.uniforms.add(new i(`stippleOffColor`,e=>f(e.stippleOffColor))),u.include(t);let v=d.worldSized&&d.imagePattern,{usePerspectiveCorrectStipple:y}=d;y&&u.varyings.add(`vStipplePerspective`,`vec4`),v?(u.varyings.add(`vStippleV`,`float`),u.fragment.include(e),_.code.add(s`vec4 getStippleColor(out bool isClamped) {
38
+ `),_.uniforms.add(new l(`stipplePatternTexture`,e=>e.stippleTexture),new o(`stipplePatternPixelSizeInv`,e=>1/m(e))),d.stippleOffColorEnabled&&_.uniforms.add(new a(`stippleOffColor`,e=>f(e.stippleOffColor))),u.include(r);let v=d.worldSized&&d.imagePattern,{usePerspectiveCorrectStipple:y}=d;y&&u.varyings.add(`vStipplePerspective`,`vec4`),v?(u.varyings.add(`vStippleV`,`float`),u.fragment.include(n),_.code.add(s`vec4 getStippleColor(out bool isClamped) {
39
39
  vec2 aaCorrectedLimits = vStippleLimitsAndCaps.xy + vec2(1.0, -1.0) / gl_FragCoord.w;
40
40
  isClamped = (vStippleLimitsAndCaps.z <= 0.0 && vStippleDistance < aaCorrectedLimits.x) ||
41
41
  (vStippleLimitsAndCaps.w <= 0.0 && vStippleDistance > aaCorrectedLimits.y);
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{Float3BindUniform as e}from"../../shaderModules/Float3BindUniform.js";import{glsl as t}from"../../shaderModules/glsl.js";const n=new e(`mainLightDirection`,e=>e.lighting.mainLight.direction),r=new e(`mainLightIntensity`,e=>e.lighting.mainLight.intensity);function i(e){e.uniforms.add(n,r),e.code.add(t`vec3 applyShading(vec3 shadingNormal, float shadow) {
2
+ import{mainLightDirection as e,mainLightIntensity as t}from"./lightingUniforms.js";import{glsl as n}from"../../shaderModules/glsl.js";function r(r){r.uniforms.add(e,t).code.add(n`vec3 applyShading(vec3 shadingNormal, float shadow) {
3
3
  float dotVal = clamp(dot(shadingNormal, mainLightDirection), 0.0, 1.0);
4
4
  return mainLightIntensity * ((1.0 - shadow) * dotVal);
5
- }`)}export{i as applyShading,n as mainLightDirection,r as mainLightIntensity};
5
+ }`)}export{r as applyShading};
@@ -1,35 +1,35 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{markerSizePerLineWidth as e}from"../../../../support/engineContent/marker.js";import{nearFar as t,metersPerRenderUnit as n,screenPixelSizePerDistance as r,renderPixelSizePerDistance as i}from"../util/cameraUniforms.js";import{addPixelRatio as a}from"../util/View.glsl.js";import{FloatBindUniform as o}from"../../shaderModules/FloatBindUniform.js";import{FloatPassUniform as s}from"../../shaderModules/FloatPassUniform.js";import{glsl as c,If as l}from"../../shaderModules/glsl.js";import{NoParameters as u}from"../../../../../webgl/NoParameters.js";class d extends u{constructor(){super(...arguments),this.markerScale=1}}function f(u,d){let f=u.vertex,p=d.hasScreenSizePerspective,m=d.worldSized,h=m&&!d.draped;a(f),f.constants.add(`markerSizePerLineWidth`,`float`,e),f.uniforms.add(new s(`markerScale`,({markerScale:e})=>e)),m&&f.uniforms.add(new o(`groundMetersToScreenRatio`,e=>1/(e.screenToPlanarDistanceRatio*e.planarDistanceToGroundRatio))),f.code.add(c`float getScreenMarkerSize(float lineWidth) {
2
+ import{markerSizePerLineWidth as e}from"../../../../support/engineContent/marker.js";import{pixelRatio as t,nearFar as n,metersPerRenderUnit as r,screenPixelSizePerDistance as i,renderPixelSizePerDistance as a}from"../util/cameraUniforms.js";import{FloatPassUniform as o}from"../../shaderModules/FloatPassUniform.js";import{glsl as s,If as c}from"../../shaderModules/glsl.js";import{groundMetersToScreenRatio as l}from"../../../shaders/lineUniforms.js";import{NoParameters as u}from"../../../../../webgl/NoParameters.js";class d extends u{constructor(){super(...arguments),this.markerScale=1}}function f(u,d){let f=u.vertex,p=d.hasScreenSizePerspective,m=d.worldSized,h=m&&!d.draped;f.constants.add(`markerSizePerLineWidth`,`float`,e),f.uniforms.add(t,new o(`markerScale`,({markerScale:e})=>e)),m&&f.uniforms.add(l),f.code.add(s`float getScreenMarkerSize(float lineWidth) {
3
3
  return markerScale * markerSizePerLineWidth * lineWidth;
4
- }`),f.code.add(l(h,c`
4
+ }`),f.code.add(c(h,s`
5
5
  float getLineWidth(vec3 pos) {
6
- float size = getSize(${l(p,`pos`)});
6
+ float size = getSize(${c(p,`pos`)});
7
7
  float metersPerScreenPixel = max(-pos.z, nearFar[0]) * metersPerRenderUnit * screenPixelSizePerDistance;
8
8
  return max(size / metersPerScreenPixel, 1.0) * pixelRatio;
9
9
  }
10
- `,c`
11
- float getLineWidth(${l(d.lineWidthRequiresPosition,`vec3 pos`)}) {
12
- float size = max(getSize(${l(p,`pos`)}), 1.0);
13
- return ${l(m,`size * pixelRatio * groundMetersToScreenRatio`,`size * pixelRatio`)};
10
+ `,s`
11
+ float getLineWidth(${c(d.lineWidthRequiresPosition,`vec3 pos`)}) {
12
+ float size = max(getSize(${c(p,`pos`)}), 1.0);
13
+ return ${c(m,`size * pixelRatio * groundMetersToScreenRatio`,`size * pixelRatio`)};
14
14
  }
15
- `)),h?f.uniforms.add(t,n,r):f.uniforms.add(i),f.code.add(l(h,c`
15
+ `)),h?f.uniforms.add(n,r,i):f.uniforms.add(a),f.code.add(c(h,s`
16
16
  float getWorldMarkerSize(vec3 pos) {
17
- return markerScale * markerSizePerLineWidth * getSize(${l(p,`pos`)}) * 0.5 / metersPerRenderUnit;
17
+ return markerScale * markerSizePerLineWidth * getSize(${c(p,`pos`)}) * 0.5 / metersPerRenderUnit;
18
18
  }
19
- `,c`
19
+ `,s`
20
20
  float getWorldMarkerSize(vec3 pos) {
21
21
  float distanceToCamera = length(pos);
22
22
  float screenToWorldRatio = renderPixelSizePerDistance * distanceToCamera * 0.5;
23
- return getScreenMarkerSize(getLineWidth(${l(p,`pos`)})) * screenToWorldRatio;
23
+ return getScreenMarkerSize(getLineWidth(${c(p,`pos`)})) * screenToWorldRatio;
24
24
  }
25
- `)),f.constants.add(`maxSegmentLengthFraction`,`float`,.45),f.code.add(l(h,c`bool areWorldMarkersHidden(vec3 pos, vec3 other) {
25
+ `)),f.constants.add(`maxSegmentLengthFraction`,`float`,.45),f.code.add(c(h,s`bool areWorldMarkersHidden(vec3 pos, vec3 other) {
26
26
  return getWorldMarkerSize(pos) > maxSegmentLengthFraction * length(pos - other);
27
- }`,c`
27
+ }`,s`
28
28
  bool areWorldMarkersHidden(vec3 pos, vec3 other) {
29
29
  vec3 midPoint = mix(pos, other, 0.5);
30
30
  float distanceToCamera = length(midPoint);
31
31
  float screenToWorldRatio = renderPixelSizePerDistance * distanceToCamera * 0.5;
32
- float worldMarkerSize = getScreenMarkerSize(getLineWidth(${l(p,`pos`)})) * screenToWorldRatio;
32
+ float worldMarkerSize = getScreenMarkerSize(getLineWidth(${c(p,`pos`)})) * screenToWorldRatio;
33
33
  float segmentLen = length(pos - other);
34
34
  return worldMarkerSize > maxSegmentLengthFraction * segmentLen;
35
35
  }
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{glsl as e}from"../../shaderModules/glsl.js";function t(t,{spherical:n}){t.code.add(`vec3 normalize4(vec4 vector){ return normalize(vector.xyz / vector.w); }`),t.code.add(n?`vec3 getLocalUp(in vec3 pos, in vec3 origin) { return normalize(pos + origin); }
2
+ import{glsl as e}from"../../shaderModules/glsl.js";function t(t,{spherical:n}){t.code.add(n?`vec3 getLocalUp(in vec3 pos, in vec3 origin) { return normalize(pos + origin); }
3
3
  vec3 getLocalUp(in vec3 pos) { return normalize(pos); }`:`vec3 getLocalUp(in vec3 pos, in vec3 origin) { return vec3(0.0, 0.0, 1.0); }
4
4
  vec3 getLocalUp(in vec3 pos) { return vec3(0.0, 0.0, 1.0); }`),n?t.code.add(e`mat3 getTBNMatrix(in vec3 n) {
5
5
  vec3 t = normalize(cross(vec3(0.0, 0.0, 1.0), n));
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{ReadDepth as e}from"../output/ReadDepth.glsl.js";import{projMatrix as t,nearFar as n}from"../util/cameraUniforms.js";import{FloatBindUniform as r}from"../../shaderModules/FloatBindUniform.js";import{If as i,glsl as a}from"../../shaderModules/glsl.js";import{Matrix4BindUniform as o}from"../../shaderModules/Matrix4BindUniform.js";import{Texture2DBindUniform as s}from"../../shaderModules/Texture2DBindUniform.js";function c(c,l){let u=c.fragment;u.include(e),u.uniforms.add(t,n,new s(`depthMap`,e=>e.depth?.attachment),new r(`invResolutionHeight`,e=>1/e.camera.height),new o(`reprojectionMatrix`,e=>e.reprojection.matrix)).code.add(a`
2
+ import{depthMap as e}from"../bindUniforms.js";import{ReadDepth as t}from"../output/ReadDepth.glsl.js";import{projMatrix as n,nearFar as r}from"../util/cameraUniforms.js";import{FloatBindUniform as i}from"../../shaderModules/FloatBindUniform.js";import{If as a,glsl as o}from"../../shaderModules/glsl.js";import{Matrix4BindUniform as s}from"../../shaderModules/Matrix4BindUniform.js";function c(c,l){let u=c.fragment;u.include(t),u.uniforms.add(n,r,e,new i(`invResolutionHeight`,e=>1/e.camera.height),new s(`reprojectionMatrix`,e=>e.reprojection.matrix)).code.add(o`
3
3
  vec2 reprojectionCoordinate(vec3 projectionCoordinate) {
4
4
  vec4 clipDepthCoordinate = proj * vec4(0.0, 0.0, -projectionCoordinate.z, 1.0);
5
5
  vec4 reprojectedCoordinate = reprojectionMatrix * vec4(
@@ -154,7 +154,7 @@ import{ReadDepth as e}from"../output/ReadDepth.glsl.js";import{projMatrix as t,n
154
154
  }
155
155
  }
156
156
 
157
- ${i(!l.clampRayToScreen,`if (projectedPosition.x <= 0.0 || projectedPosition.x >= 1.0) {
157
+ ${a(!l.clampRayToScreen,`if (projectedPosition.x <= 0.0 || projectedPosition.x >= 1.0) {
158
158
  return firstSegmentHit;
159
159
  }`)}
160
160
 
@@ -164,7 +164,7 @@ import{ReadDepth as e}from"../output/ReadDepth.glsl.js";import{projMatrix as t,n
164
164
  inverseW += inverseWStep;
165
165
  previousEstimatedDepthDifference = estimatedDepthDifference;
166
166
 
167
- ${i(l.clampRayToScreen,`projectedPosition = clamp(projectedPosition, vec2(0.0), vec2(0.999));`)}
167
+ ${a(l.clampRayToScreen,`projectedPosition = clamp(projectedPosition, vec2(0.0), vec2(0.999));`)}
168
168
  }
169
169
  return firstSegmentHit;
170
170
  }
@@ -176,8 +176,8 @@ import{ReadDepth as e}from"../output/ReadDepth.glsl.js";import{projMatrix as t,n
176
176
  viewDirection,
177
177
  normal,
178
178
  rayStepOffset,
179
- ${a.float(l.rayMarchMaxReach)},
180
- ${a.float(l.rayMarchMaxSteps)}
179
+ ${o.float(l.rayMarchMaxReach)},
180
+ ${o.float(l.rayMarchMaxSteps)}
181
181
  );
182
182
  }
183
183
  `)}export{c as ScreenSpaceRayMarching};
@@ -1,9 +1,9 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{FoamColor as e}from"./FoamRendering.glsl.js";import{Gamma as t}from"./Gamma.glsl.js";import{PhysicallyBasedRenderingWater as n}from"./PhysicallyBasedRendering.glsl.js";import{distanceFadeStart as r,distanceFadeEnd as i}from"./ScreenSpaceConstants.js";import{ScreenSpaceRayMarching as a}from"./ScreenSpaceRayMarching.glsl.js";import{viewMatrix as o}from"../util/cameraUniforms.js";import{CloudsParallaxShading as s}from"../util/CloudsParallaxShading.glsl.js";import{FloatBindUniform as c}from"../../shaderModules/FloatBindUniform.js";import{glsl as l}from"../../shaderModules/glsl.js";import{Texture2DBindUniform as u}from"../../shaderModules/Texture2DBindUniform.js";import{ToneMapping as d}from"../../../shaders/ToneMapping.glsl.js";function f(f,p){let m=f.fragment;m.include(n,p),m.include(t),m.include(e),p.cloudReflections&&f.include(s,p),p.screenSpaceReflections&&f.include(a,p),m.include(d,p),m.constants.add(`fresnelSky`,`vec3`,[.02,1,15]),m.constants.add(`fresnelMaterial`,`vec2`,[.02,.1]),m.constants.add(`roughness`,`float`,.015),m.constants.add(`foamIntensityExternal`,`float`,1.7),m.constants.add(`ssrIntensity`,`float`,.65),m.constants.add(`ssrHeightFadeStart`,`float`,r),m.constants.add(`ssrHeightFadeEnd`,`float`,i),m.constants.add(`waterDiffusion`,`float`,.92),m.constants.add(`waterSeaColorMod`,`float`,.8),m.constants.add(`correctionViewingPowerFactor`,`float`,.4),m.constants.add(`skyZenitColor`,`vec3`,[.52,.68,.9]),m.constants.add(`skyColor`,`vec3`,[.67,.79,.9]),m.constants.add(`cloudFresnelModifier`,`vec2`,[1.2,.01]),m.code.add(l`PBRShadingWater shadingInfo;
2
+ import{lastFrameColorTexture as e}from"../lastFrameUniforms.js";import{FoamColor as t}from"./FoamRendering.glsl.js";import{Gamma as n}from"./Gamma.glsl.js";import{lightingSpecularStrength as r,lightingEnvironmentStrength as i}from"./lightingUniforms.js";import{PhysicallyBasedRenderingWater as a}from"./PhysicallyBasedRendering.glsl.js";import{distanceFadeStart as o,distanceFadeEnd as s}from"./ScreenSpaceConstants.js";import{ScreenSpaceRayMarching as c}from"./ScreenSpaceRayMarching.glsl.js";import{viewMatrix as l}from"../util/cameraUniforms.js";import{CloudsParallaxShading as u,cloudsOpacity as d}from"../util/CloudsParallaxShading.glsl.js";import{FloatBindUniform as f}from"../../shaderModules/FloatBindUniform.js";import{glsl as p}from"../../shaderModules/glsl.js";import{ToneMapping as m}from"../../../shaders/ToneMapping.glsl.js";function h(h,g){let _=h.fragment;_.include(a,g),_.include(n),_.include(t),g.cloudReflections&&h.include(u,g),g.screenSpaceReflections&&h.include(c,g),_.include(m,g),_.constants.add(`fresnelSky`,`vec3`,[.02,1,15]),_.constants.add(`fresnelMaterial`,`vec2`,[.02,.1]),_.constants.add(`roughness`,`float`,.015),_.constants.add(`foamIntensityExternal`,`float`,1.7),_.constants.add(`ssrIntensity`,`float`,.65),_.constants.add(`ssrHeightFadeStart`,`float`,o),_.constants.add(`ssrHeightFadeEnd`,`float`,s),_.constants.add(`waterDiffusion`,`float`,.92),_.constants.add(`waterSeaColorMod`,`float`,.8),_.constants.add(`correctionViewingPowerFactor`,`float`,.4),_.constants.add(`skyZenitColor`,`vec3`,[.52,.68,.9]),_.constants.add(`skyColor`,`vec3`,[.67,.79,.9]),_.constants.add(`cloudFresnelModifier`,`vec2`,[1.2,.01]),_.code.add(p`PBRShadingWater shadingInfo;
3
3
  vec3 getSkyGradientColor(in float cosTheta, in vec3 horizon, in vec3 zenit) {
4
4
  float exponent = pow((1.0 - cosTheta), fresnelSky[2]);
5
5
  return mix(zenit, horizon, exponent);
6
- }`),m.uniforms.add(new c(`lightingSpecularStrength`,e=>e.lighting.mainLight.specularStrength),new c(`lightingEnvironmentStrength`,e=>e.lighting.mainLight.environmentStrength)),m.code.add(l`vec3 getWaterColor(in vec3 n, in vec3 v, in vec3 l, vec3 color, in vec3 lightIntensity, in vec3 localUp, in float shadow, float foamIntensity, vec3 viewPosition, vec3 position) {
6
+ }`),_.uniforms.add(r,i).code.add(p`vec3 getWaterColor(in vec3 n, in vec3 v, in vec3 l, vec3 color, in vec3 lightIntensity, in vec3 localUp, in float shadow, float foamIntensity, vec3 viewPosition, vec3 position) {
7
7
  float reflectionHit = 0.0;
8
8
  float reflectionHitDiffused = 0.0;
9
9
  vec3 seaWaterColor = linearizeGamma(color);
@@ -37,10 +37,10 @@ foam = foamIntensity2FoamColor(foamIntensityExternal, foamIntensity, skyZenitCol
37
37
  }
38
38
  float correctionViewingFactor = pow(max(dot(v, localUp), 0.0), correctionViewingPowerFactor);
39
39
  vec3 normalCorrectedClouds = mix(localUp, n, correctionViewingFactor);
40
- vec3 reflectedWorld = normalize(reflect(-v, normalCorrectedClouds));`),p.cloudReflections&&m.uniforms.add(new c(`cloudsOpacity`,e=>e.clouds.opacity)).code.add(l`vec4 cloudsColor = renderClouds(reflectedWorld, position);
40
+ vec3 reflectedWorld = normalize(reflect(-v, normalCorrectedClouds));`),g.cloudReflections&&_.uniforms.add(d).code.add(p`vec4 cloudsColor = renderClouds(reflectedWorld, position);
41
41
  cloudsColor.a = 1.0 - cloudsColor.a;
42
42
  cloudsColor = pow(cloudsColor, vec4(GAMMA));
43
- cloudsColor *= clamp(fresnelModifier.y * cloudFresnelModifier[0] - cloudFresnelModifier[1], 0.0, 1.0) * cloudsOpacity;`),p.screenSpaceReflections?m.uniforms.add(o,new u(`lastFrameColorTexture`,e=>e.reprojection.lastFrameColor?.getTexture()),new c(`fadeFactorSSR`,e=>e.screenSpaceReflections.fadeFactor)).code.add(l`vec3 viewDir = normalize(viewPosition);
43
+ cloudsColor *= clamp(fresnelModifier.y * cloudFresnelModifier[0] - cloudFresnelModifier[1], 0.0, 1.0) * cloudsOpacity;`),g.screenSpaceReflections?_.uniforms.add(l,e,new f(`fadeFactorSSR`,e=>e.screenSpaceReflections.fadeFactor)).code.add(p`vec3 viewDir = normalize(viewPosition);
44
44
  vec4 viewNormalVectorCoordinate = view * vec4(n, 0.0);
45
45
  vec3 viewNormal = normalize(viewNormalVectorCoordinate.xyz);
46
46
  vec4 viewUp = view * vec4(localUp, 0.0);
@@ -60,7 +60,7 @@ reflectionHitDiffused * fresnelModifier.y * ssrIntensity;
60
60
  }
61
61
  float seaColorMod = mix(waterSeaColorMod, waterSeaColorMod * 0.5, reflectionHitDiffused);
62
62
  vec3 waterRenderedColor = tonemapACES((1.0 - reflectionHitDiffused) * reflSky + reflectedColor +
63
- reflSea * seaColorMod + specular + foam);`):m.code.add(l`vec3 waterRenderedColor = tonemapACES(reflSky + reflSea * waterSeaColorMod + specular + foam);`),p.cloudReflections?p.screenSpaceReflections?m.code.add(l`return waterRenderedColor * (1.0 - (1.0 - reflectionHit) * cloudsColor.a) + (1.0 - reflectionHit) * cloudsColor.xyz;
64
- }`):m.code.add(l`return waterRenderedColor * (1.0 - cloudsColor.a) + cloudsColor.xyz;
65
- }`):m.code.add(l`return waterRenderedColor;
66
- }`)}export{f as WaterColor};
63
+ reflSea * seaColorMod + specular + foam);`):_.code.add(p`vec3 waterRenderedColor = tonemapACES(reflSky + reflSea * waterSeaColorMod + specular + foam);`),g.cloudReflections?g.screenSpaceReflections?_.code.add(p`return waterRenderedColor * (1.0 - (1.0 - reflectionHit) * cloudsColor.a) + (1.0 - reflectionHit) * cloudsColor.xyz;
64
+ }`):_.code.add(p`return waterRenderedColor * (1.0 - cloudsColor.a) + cloudsColor.xyz;
65
+ }`):_.code.add(p`return waterRenderedColor;
66
+ }`)}export{h as WaterColor};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{EvaluateAmbientOcclusion as e}from"./EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n,lightingGlobalFactor as r}from"./EvaluateSceneLighting.glsl.js";import{mainLightIntensity as i}from"./MainLighting.glsl.js";import{readFragmentShadow as a}from"./readFragmentShadow.glsl.js";import{addCameraPosition as o}from"../util/View.glsl.js";import{glsl as s}from"../../shaderModules/glsl.js";function c(c,l){let{vertex:u,fragment:d}=c;c.include(a,l),d.include(t,l),d.include(e,l),n(d),o(d,l),u.main.add(`forwardLinearDepthToReadShadow();`),d.uniforms.add(i,r,u.uniforms.get(`localOrigin`)).code.add(s`vec4 evaluateSceneLightingFragment(vec3 vpos, vec3 normal, vec4 albedo) {
2
+ import{EvaluateAmbientOcclusion as e}from"./EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n}from"./EvaluateSceneLighting.glsl.js";import{mainLightIntensity as r,lightingGlobalFactor as i}from"./lightingUniforms.js";import{readFragmentShadow as a}from"./readFragmentShadow.glsl.js";import{addCameraPosition as o}from"../util/View.glsl.js";import{glsl as s}from"../../shaderModules/glsl.js";function c(c,l){let{vertex:u,fragment:d}=c;c.include(a,l),d.include(t,l),d.include(e,l),n(d),o(d,l),u.main.add(`forwardLinearDepthToReadShadow();`),d.uniforms.add(r,i,u.uniforms.get(`localOrigin`)).code.add(s`vec4 evaluateSceneLightingFragment(vec3 vpos, vec3 normal, vec4 albedo) {
3
3
  vec3 posWorld = vpos + localOrigin;
4
4
  float additionalAmbientScale = additionalDirectedAmbientLight(posWorld);
5
5
  float shadow = readFragmentShadow(additionalAmbientScale);
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
+ import{Float3BindUniform as e}from"../../shaderModules/Float3BindUniform.js";import{FloatBindUniform as t}from"../../shaderModules/FloatBindUniform.js";const n=new e(`mainLightDirection`,e=>e.lighting.mainLight.direction),r=new e(`mainLightIntensity`,e=>e.lighting.mainLight.intensity),i=new t(`lightingGlobalFactor`,e=>e.lighting.globalFactor),a=new t(`lightingSpecularStrength`,e=>e.lighting.mainLight.specularStrength),o=new t(`lightingEnvironmentStrength`,e=>e.lighting.mainLight.environmentStrength);export{o as lightingEnvironmentStrength,i as lightingGlobalFactor,a as lightingSpecularStrength,n as mainLightDirection,r as mainLightIntensity};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{Gamma as e}from"./Gamma.glsl.js";import{mainLightDirection as t}from"./MainLighting.glsl.js";import{pbrShadingInfo as n}from"./pbrShadingInfo.glsl.js";import{glsl as r}from"../../shaderModules/glsl.js";function i(i){i.include(n),i.include(e),i.uniforms.add(t).code.add(r`void calculateCommonInputs(out PBRShadingInfo inputs, vec3 normal, vec3 viewDirection, vec3 upDirection, vec3 albedo) {
2
+ import{Gamma as e}from"./Gamma.glsl.js";import{mainLightDirection as t}from"./lightingUniforms.js";import{pbrShadingInfo as n}from"./pbrShadingInfo.glsl.js";import{glsl as r}from"../../shaderModules/glsl.js";function i(i){i.include(n),i.include(e),i.uniforms.add(t).code.add(r`void calculateCommonInputs(out PBRShadingInfo inputs, vec3 normal, vec3 viewDirection, vec3 upDirection, vec3 albedo) {
3
3
  vec3 h = normalize(mainLightDirection - viewDirection);
4
4
  inputs.NdotV = clamp(abs(dot(normal, -viewDirection)), 0.001, 1.0);
5
5
  inputs.NdotUP = clamp(dot(normal, upDirection), -1.0, 1.0);
@@ -1,25 +1,25 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{ForwardLinearDepthConfiguration as t}from"../ForwardLinearDepth.glsl.js";import{forwardLinearDepthToReadShadow as n}from"../forwardLinearDepthToReadShadow.glsl.js";import{calculateUVZShadowPass as r,calculateUVZShadowDraw as i,ReadShadowMapOrigin as a}from"./calculateUVZShadow.glsl.js";import{FloatBindUniform as o}from"../../shaderModules/FloatBindUniform.js";import{glsl as s,If as c}from"../../shaderModules/glsl.js";import{Texture2DBindUniform as l}from"../../shaderModules/Texture2DBindUniform.js";import{Texture2DShadowBindUniform as u}from"../../shaderModules/Texture2DShadowBindUniform.js";import{parameter as d}from"../../shaderTechnique/ShaderTechniqueConfiguration.js";class f extends a{}class p extends a{}class m extends t{constructor(){super(...arguments),this.hasShadowHighlights=!1,this.receiveShadows=!0}}e([d()],m.prototype,`hasShadowHighlights`,void 0),e([d()],m.prototype,`receiveShadows`,void 0);function h(e,t){t.receiveShadows&&e.fragment.include(r),_(e,t)}function g(e,t){t.receiveShadows&&e.fragment.include(i),_(e,t)}function _(e,t){e.include(n,t);let{hasShadowHighlights:r,receiveShadows:i,spherical:a}=t;i&&(v(e.fragment,r),e.fragment.code.add(s`float readShadowMap(const in vec3 _worldPos, float _linearDepth) {
2
+ import{__decorate as e}from"tslib";import{shadowHighlight as t}from"../bindUniforms.js";import{ForwardLinearDepthConfiguration as n}from"../ForwardLinearDepth.glsl.js";import{forwardLinearDepthToReadShadow as r}from"../forwardLinearDepthToReadShadow.glsl.js";import{calculateUVZShadowPass as i,calculateUVZShadowDraw as a,ReadShadowMapOrigin as o}from"./calculateUVZShadow.glsl.js";import{lightingGlobalFactor as s}from"./lightingUniforms.js";import{glsl as c,If as l}from"../../shaderModules/glsl.js";import{Texture2DShadowBindUniform as u}from"../../shaderModules/Texture2DShadowBindUniform.js";import{parameter as d}from"../../shaderTechnique/ShaderTechniqueConfiguration.js";class f extends o{}class p extends o{}class m extends n{constructor(){super(...arguments),this.hasShadowHighlights=!1,this.receiveShadows=!0}}e([d()],m.prototype,`hasShadowHighlights`,void 0),e([d()],m.prototype,`receiveShadows`,void 0);function h(e,t){t.receiveShadows&&e.fragment.include(i),_(e,t)}function g(e,t){t.receiveShadows&&e.fragment.include(a),_(e,t)}function _(e,t){e.include(r,t);let{hasShadowHighlights:n,receiveShadows:i,spherical:a}=t;i&&(v(e.fragment,n),e.fragment.code.add(c`float readShadowMap(const in vec3 _worldPos, float _linearDepth) {
3
3
  vec3 uvzShadow = calculateUVZShadow(_worldPos, _linearDepth, textureSize(shadowMap, 0));
4
4
  return readShadowMaps(uvzShadow);
5
5
  }
6
- float readShadowMap(const in vec3 _worldPos ) { return readShadowMap(_worldPos, linearDepth); }`)),e.fragment.uniforms.add(new o(`lightingGlobalFactor`,({lighting:e})=>e.globalFactor)).code.add(s`
6
+ float readShadowMap(const in vec3 _worldPos ) { return readShadowMap(_worldPos, linearDepth); }`)),e.fragment.uniforms.add(s).code.add(c`
7
7
  float getShadow(float additionalAmbientScale, float shadow) {
8
- float ambient = ${c(a,`lightingGlobalFactor * (1.0 - additionalAmbientScale)`,`0.0`)};
8
+ float ambient = ${l(a,`lightingGlobalFactor * (1.0 - additionalAmbientScale)`,`0.0`)};
9
9
  return max(ambient, shadow);
10
10
  }
11
11
 
12
12
  float readShadow(float additionalAmbientScale, vec3 vpos) {
13
- return getShadow(additionalAmbientScale, ${c(i,`readShadowMap(vpos)`,`0.0`)});
13
+ return getShadow(additionalAmbientScale, ${l(i,`readShadowMap(vpos)`,`0.0`)});
14
14
  }
15
- `)}function v(e,t,n=`gl_FragCoord.xy`){t&&e.uniforms.add(new l(`shadowHighlight`,({shadowHighlight:e})=>e?.getTexture())),e.uniforms.add(new u(`shadowMap`,({shadowMap:e})=>e.getOutput(5)??e.getOutput(7))).code.add(s`
15
+ `)}function v(e,n,r=`gl_FragCoord.xy`){n&&e.uniforms.add(t),e.uniforms.add(new u(`shadowMap`,({shadowMap:e})=>e.getOutput(5)??e.getOutput(7))).code.add(c`
16
16
  float readShadowMaps(const in vec3 uvzShadow) {
17
17
  if (uvzShadow.z < 0.0) {
18
18
  return 0.0;
19
19
  }
20
20
 
21
21
  float shadow1 = texture(shadowMap, uvzShadow);
22
- ${c(t,`float shadow2 = texelFetch(shadowHighlight, ivec2(${n}), 0).r;
22
+ ${l(n,`float shadow2 = texelFetch(shadowHighlight, ivec2(${r}), 0).r;
23
23
  return shadow1 > shadow2 ? shadow1 : shadow2;`,`return shadow1;`)}
24
24
  }
25
25
  `)}export{m as ReadShadowMapConfiguration,f as ReadShadowMapDrawParameters,p as ReadShadowMapPassParameters,g as readShadowDraw,v as readShadowMaps,h as readShadowPass};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{create as e}from"../../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{hasArea as t,width as n,height as r}from"../../../../../../geometry/support/aaBoundingRect.js";import{isColor as i}from"../ShaderOutput.js";import{mainLightDirection as a,mainLightIntensity as o}from"../shading/MainLighting.glsl.js";import{WaterColor as s}from"../shading/WaterColor.glsl.js";import{BlendColorsPremultiplied as c}from"../util/BlendColorsPremultiplied.glsl.js";import{Float4DrawUniform as l}from"../../shaderModules/Float4DrawUniform.js";import{FloatPassUniform as u}from"../../shaderModules/FloatPassUniform.js";import{glsl as d}from"../../shaderModules/glsl.js";import{Texture2DPassUniform as f}from"../../shaderModules/Texture2DPassUniform.js";import{Texture2DUintPassUniform as p}from"../../shaderModules/Texture2DUintPassUniform.js";import{Uniform as m}from"../../../../../webgl/Uniform.js";function h(e,t){let{vertex:n,fragment:r}=e;n.uniforms.add(new l(`overlayTexOffset`,(e,n)=>C(t.spherical,e,n)),new l(`overlayTexScale`,(e,n)=>w(t.spherical,e,n))),r.uniforms.add(new l(`overlayTexOffset`,(e,n)=>C(t.spherical,e,n)),new l(`overlayTexScale`,(e,n)=>w(t.spherical,e,n))),r.constants.add(`overlayOpacity`,`float`,1),r.uniforms.add(new f(`ovColorTex`,(e,n)=>g(e,n,t.isGround===!0))),x(e,t)}function g(e,t,n){let r=_(e,t,n);return r==null?null:t.overlay?.getTexture(r)}function _(e,t,n){return e.identifier===0?i(t.output)?!e.occludedGround||t.overlay?.allSourcesOccluders?v(n):4:t.output===3||t.output===4?v(n):t.output===11?5:null:e.identifier===2?2:null}function v(e){return+!e}function y(e,t){let{vertex:n,fragment:r}=e;n.uniforms.add(new E(`overlayTexOffset`),new E(`overlayTexScale`)),r.uniforms.add(new u(`overlayOpacity`,e=>e.overlayOpacity)),t.output!==10&&r.uniforms.add(new f(`ovColorTex`,(e,t)=>t.overlay?.getTexture(e.overlayContent))),x(e,t)}function b(e,t){switch(e){case 0:case 1:case 2:return t.slot===9&&!t.overlay?.allSourcesOccluders?4:0;case 3:case 4:return 0;case 10:return 2;case 5:case 7:case 8:case 9:return null;case 11:return 5}return null}function x(e,t){let{hasWater:n,output:r}=t;n&&e.include(s,t);let{vertex:i,fragment:l,varyings:u}=e;u.add(`vtcOverlay`,`vec4`);let f=r===10;i.code.add(d`void setOverlayVTC(in vec2 uv) {
2
+ import{create as e}from"../../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{hasArea as t,width as n,height as r}from"../../../../../../geometry/support/aaBoundingRect.js";import{isColor as i}from"../ShaderOutput.js";import{mainLightDirection as a,mainLightIntensity as o}from"../shading/lightingUniforms.js";import{WaterColor as s}from"../shading/WaterColor.glsl.js";import{BlendColorsPremultiplied as c}from"../util/BlendColorsPremultiplied.glsl.js";import{Float4DrawUniform as l}from"../../shaderModules/Float4DrawUniform.js";import{FloatPassUniform as u}from"../../shaderModules/FloatPassUniform.js";import{glsl as d}from"../../shaderModules/glsl.js";import{Texture2DPassUniform as f}from"../../shaderModules/Texture2DPassUniform.js";import{Texture2DUintPassUniform as p}from"../../shaderModules/Texture2DUintPassUniform.js";import{Uniform as m}from"../../../../../webgl/Uniform.js";function h(e,t){let{vertex:n,fragment:r}=e;n.uniforms.add(new l(`overlayTexOffset`,(e,n)=>C(t.spherical,e,n)),new l(`overlayTexScale`,(e,n)=>w(t.spherical,e,n))),r.uniforms.add(new l(`overlayTexOffset`,(e,n)=>C(t.spherical,e,n)),new l(`overlayTexScale`,(e,n)=>w(t.spherical,e,n))),r.constants.add(`overlayOpacity`,`float`,1),r.uniforms.add(new f(`ovColorTex`,(e,n)=>g(e,n,t.isGround===!0))),x(e,t)}function g(e,t,n){let r=_(e,t,n);return r==null?null:t.overlay?.getTexture(r)}function _(e,t,n){return e.identifier===0?i(t.output)?!e.occludedGround||t.overlay?.allSourcesOccluders?v(n):4:t.output===3||t.output===4?v(n):t.output===11?5:null:e.identifier===2?2:null}function v(e){return+!e}function y(e,t){let{vertex:n,fragment:r}=e;n.uniforms.add(new E(`overlayTexOffset`),new E(`overlayTexScale`)),r.uniforms.add(new u(`overlayOpacity`,e=>e.overlayOpacity)),t.output!==10&&r.uniforms.add(new f(`ovColorTex`,(e,t)=>t.overlay?.getTexture(e.overlayContent))),x(e,t)}function b(e,t){switch(e){case 0:case 1:case 2:return t.slot===9&&!t.overlay?.allSourcesOccluders?4:0;case 3:case 4:return 0;case 10:return 2;case 5:case 7:case 8:case 9:return null;case 11:return 5}return null}function x(e,t){let{hasWater:n,output:r}=t;n&&e.include(s,t);let{vertex:i,fragment:l,varyings:u}=e;u.add(`vtcOverlay`,`vec4`);let f=r===10;i.code.add(d`void setOverlayVTC(in vec2 uv) {
3
3
  vtcOverlay = vec4(uv, uv) * overlayTexScale + overlayTexOffset;
4
4
  }`),l.code.add(d`bool isValid(vec2 uv, vec2 dxdy) {
5
5
  return (uv.x >= 0.0 + dxdy.x) && (uv.x <= 1.0 - dxdy.x) && (uv.y >= 0.0 + dxdy.y) && (uv.y <= 1.0 - dxdy.y);