@arcgis/core 5.2.0-next.111 → 5.2.0-next.113

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 (644) hide show
  1. package/Ground.d.ts +4 -5
  2. package/Ground.js +1 -1
  3. package/arcgisGlobal.d.ts +5 -0
  4. package/assets/components/assets/icon/alignBottom16.json +1 -0
  5. package/assets/components/assets/icon/alignBottom24.json +1 -0
  6. package/assets/components/assets/icon/alignBottom32.json +1 -0
  7. package/assets/components/assets/icon/alignCenterHorizontal16.json +1 -0
  8. package/assets/components/assets/icon/alignCenterHorizontal24.json +1 -0
  9. package/assets/components/assets/icon/alignCenterHorizontal32.json +1 -0
  10. package/assets/components/assets/icon/alignCenterVertical16.json +1 -0
  11. package/assets/components/assets/icon/alignCenterVertical24.json +1 -0
  12. package/assets/components/assets/icon/alignCenterVertical32.json +1 -0
  13. package/assets/components/assets/icon/alignLeft16.json +1 -0
  14. package/assets/components/assets/icon/alignLeft24.json +1 -0
  15. package/assets/components/assets/icon/alignLeft32.json +1 -0
  16. package/assets/components/assets/icon/alignRight16.json +1 -0
  17. package/assets/components/assets/icon/alignRight24.json +1 -0
  18. package/assets/components/assets/icon/alignRight32.json +1 -0
  19. package/assets/components/assets/icon/alignTop16.json +1 -0
  20. package/assets/components/assets/icon/alignTop24.json +1 -0
  21. package/assets/components/assets/icon/alignTop32.json +1 -0
  22. package/assets/components/assets/icon/columnGroup16.json +1 -0
  23. package/assets/components/assets/icon/columnGroup24.json +1 -0
  24. package/assets/components/assets/icon/columnGroup32.json +1 -0
  25. package/assets/components/assets/icon/columnRemove16.json +1 -0
  26. package/assets/components/assets/icon/columnRemove24.json +1 -0
  27. package/assets/components/assets/icon/columnRemove32.json +1 -0
  28. package/assets/components/assets/icon/columnUngroup16.json +1 -0
  29. package/assets/components/assets/icon/columnUngroup24.json +1 -0
  30. package/assets/components/assets/icon/columnUngroup32.json +1 -0
  31. package/assets/components/assets/icon/envelopeOpen16.json +1 -0
  32. package/assets/components/assets/icon/envelopeOpen24.json +1 -0
  33. package/assets/components/assets/icon/envelopeOpen32.json +1 -0
  34. package/assets/components/assets/icon/handDraw16.json +1 -0
  35. package/assets/components/assets/icon/handDraw24.json +1 -0
  36. package/assets/components/assets/icon/handDraw32.json +1 -0
  37. package/assets/components/assets/icon/monitorShare16.json +1 -0
  38. package/assets/components/assets/icon/monitorShare24.json +1 -0
  39. package/assets/components/assets/icon/monitorShare32.json +1 -0
  40. package/assets/components/assets/icon/pi16.json +1 -0
  41. package/assets/components/assets/icon/pi24.json +1 -0
  42. package/assets/components/assets/icon/pi32.json +1 -0
  43. package/assets/components/assets/icon/rowGroup16.json +1 -0
  44. package/assets/components/assets/icon/rowGroup24.json +1 -0
  45. package/assets/components/assets/icon/rowGroup32.json +1 -0
  46. package/assets/components/assets/icon/rowRemove16.json +1 -0
  47. package/assets/components/assets/icon/rowRemove24.json +1 -0
  48. package/assets/components/assets/icon/rowRemove32.json +1 -0
  49. package/assets/components/assets/icon/rowUngroup16.json +1 -0
  50. package/assets/components/assets/icon/rowUngroup24.json +1 -0
  51. package/assets/components/assets/icon/rowUngroup32.json +1 -0
  52. package/assets/components/assets/icon/sdCard16.json +1 -0
  53. package/assets/components/assets/icon/sdCard24.json +1 -0
  54. package/assets/components/assets/icon/sdCard32.json +1 -0
  55. package/assets/components/assets/icon/spaceAroundHorizontal16.json +1 -0
  56. package/assets/components/assets/icon/spaceAroundHorizontal24.json +1 -0
  57. package/assets/components/assets/icon/spaceAroundHorizontal32.json +1 -0
  58. package/assets/components/assets/icon/spaceAroundVertical16.json +1 -0
  59. package/assets/components/assets/icon/spaceAroundVertical24.json +1 -0
  60. package/assets/components/assets/icon/spaceAroundVertical32.json +1 -0
  61. package/assets/components/assets/icon/spaceBetweenHorizontal16.json +1 -0
  62. package/assets/components/assets/icon/spaceBetweenHorizontal24.json +1 -0
  63. package/assets/components/assets/icon/spaceBetweenHorizontal32.json +1 -0
  64. package/assets/components/assets/icon/spaceBetweenVertical16.json +1 -0
  65. package/assets/components/assets/icon/spaceBetweenVertical24.json +1 -0
  66. package/assets/components/assets/icon/spaceBetweenVertical32.json +1 -0
  67. package/assets/components/assets/icon/spacedEvenlyHorizontal16.json +1 -0
  68. package/assets/components/assets/icon/spacedEvenlyHorizontal24.json +1 -0
  69. package/assets/components/assets/icon/spacedEvenlyHorizontal32.json +1 -0
  70. package/assets/components/assets/icon/spacedEvenlyVertical16.json +1 -0
  71. package/assets/components/assets/icon/spacedEvenlyVertical24.json +1 -0
  72. package/assets/components/assets/icon/spacedEvenlyVertical32.json +1 -0
  73. package/assets/components/assets/icon/stretchHorizontal16.json +1 -0
  74. package/assets/components/assets/icon/stretchHorizontal24.json +1 -0
  75. package/assets/components/assets/icon/stretchHorizontal32.json +1 -0
  76. package/assets/components/assets/icon/stretchVertical16.json +1 -0
  77. package/assets/components/assets/icon/stretchVertical24.json +1 -0
  78. package/assets/components/assets/icon/stretchVertical32.json +1 -0
  79. package/assets/components/assets/icon/swatchPalette16.json +1 -0
  80. package/assets/components/assets/icon/swatchPalette24.json +1 -0
  81. package/assets/components/assets/icon/swatchPalette32.json +1 -0
  82. package/assets/components/assets/icon/thermometer16.json +1 -0
  83. package/assets/components/assets/icon/thermometer24.json +1 -0
  84. package/assets/components/assets/icon/thermometer32.json +1 -0
  85. package/assets/components/assets/icon/webCamera16.json +1 -0
  86. package/assets/components/assets/icon/webCamera24.json +1 -0
  87. package/assets/components/assets/icon/webCamera32.json +1 -0
  88. package/assets/esri/core/workers/RemoteClient.js +1 -1
  89. package/assets/esri/core/workers/chunks/01ca17092545d72be7b6.js +1 -0
  90. package/assets/esri/core/workers/chunks/{f5a988bb850f7a7af143.js → 05b373a663cb5d4d722f.js} +1 -1
  91. package/assets/esri/core/workers/chunks/078ed48eb055dd213ee6.js +1 -0
  92. package/assets/esri/core/workers/chunks/{36f8caeb574dcd5c0ed5.js → 0b727d7bf3e36e146725.js} +1 -1
  93. package/assets/esri/core/workers/chunks/0c65862e3dd810015491.js +1 -0
  94. package/assets/esri/core/workers/chunks/0e3e58ba8e2d358121a5.js +1 -0
  95. package/assets/esri/core/workers/chunks/0edebc6c516f0b9dac7b.js +1 -0
  96. package/assets/esri/core/workers/chunks/1004e77593dfa506cd5d.js +1 -0
  97. package/assets/esri/core/workers/chunks/184942ea601237c8241a.js +1 -0
  98. package/assets/esri/core/workers/chunks/20de0ea9fa08a6545978.js +1 -0
  99. package/assets/esri/core/workers/chunks/214d63813d268afc265d.js +1 -0
  100. package/assets/esri/core/workers/chunks/21c0743b2f612e7e7de3.js +1 -0
  101. package/assets/esri/core/workers/chunks/22e85819e23202a8ba90.js +1 -0
  102. package/assets/esri/core/workers/chunks/{6e677505d257e0848075.js → 23f9ab77e4e263f82636.js} +1 -1
  103. package/assets/esri/core/workers/chunks/25cc6d7178a52f2f46b7.js +1 -0
  104. package/assets/esri/core/workers/chunks/28a04887ecaee5445d14.js +1 -0
  105. package/assets/esri/core/workers/chunks/{2fc5c1504691badc7792.js → 2ac2d0a7623dd060c144.js} +1 -1
  106. package/assets/esri/core/workers/chunks/2afce71e8b6ae86e0792.js +1 -0
  107. package/assets/esri/core/workers/chunks/{4c9df8ae9238454969b8.js → 2c21f4744e19b925a6ae.js} +1 -1
  108. package/assets/esri/core/workers/chunks/32fc7d1db4b311f6b880.js +1 -0
  109. package/assets/esri/core/workers/chunks/36792b8a85e88044cb49.js +1 -0
  110. package/assets/esri/core/workers/chunks/36a7e19f43517aa94577.js +1 -0
  111. package/assets/esri/core/workers/chunks/{6e6cdff4bbe1ff2f44ac.js → 3ab25279aaa30f035038.js} +1 -1
  112. package/assets/esri/core/workers/chunks/3acc1299c1382c3b034d.js +1 -0
  113. package/assets/esri/core/workers/chunks/{abcda435bc83ef4240f9.js → 3b499cfc89c8f87cdb20.js} +1 -1
  114. package/assets/esri/core/workers/chunks/{c2684fcde2923c9830e0.js → 42c4d0c1c08bf111e5a4.js} +1 -1
  115. package/assets/esri/core/workers/chunks/430802108b63194b7ddd.js +2 -0
  116. package/assets/esri/core/workers/chunks/445b0ca1b70730c9a2e6.js +1 -0
  117. package/assets/esri/core/workers/chunks/49c6dc487714f9cd55c7.js +1 -0
  118. package/assets/esri/core/workers/chunks/{70e0ead69a722fd964b8.js → 49e8ff5ed079a9e3be4b.js} +1 -1
  119. package/assets/esri/core/workers/chunks/{24673aac70d6c949b6fa.js → 4bf2cc4d092601ff2b86.js} +1 -1
  120. package/assets/esri/core/workers/chunks/{72be81c1394285b51ed3.js → 4bfd63f3cf9208eb839b.js} +225 -229
  121. package/assets/esri/core/workers/chunks/501df20cdd09384f6ee2.js +1 -0
  122. package/assets/esri/core/workers/chunks/510a190a6f0a60ae38c3.js +1 -0
  123. package/assets/esri/core/workers/chunks/{89a785f8b61263e2d592.js → 552c92b01a5f02a115c5.js} +1 -1
  124. package/assets/esri/core/workers/chunks/564fdf0d663b773806cc.js +1 -0
  125. package/assets/esri/core/workers/chunks/{d9270f4935eb0d044db3.js → 57328c206f1e699ac06f.js} +1 -1
  126. package/assets/esri/core/workers/chunks/{50951fb13013b11b8a24.js → 58e62c8ce1292f4d3b06.js} +1 -1
  127. package/assets/esri/core/workers/chunks/{434c5b54e89ace974cbd.js → 5965a947f68b707eaa6b.js} +2 -2
  128. package/assets/esri/core/workers/chunks/5aee7739afb5160d4ace.js +1 -0
  129. package/assets/esri/core/workers/chunks/5b9925f23d4b10a7087e.js +1 -0
  130. package/assets/esri/core/workers/chunks/5f79ba5639067f734791.js +1 -0
  131. package/assets/esri/core/workers/chunks/{b013b70e40dfb6ce013e.js → 60c61f34733063730386.js} +1 -1
  132. package/assets/esri/core/workers/chunks/62b1f94f4fa978d4da48.js +1 -0
  133. package/assets/esri/core/workers/chunks/6b264006b96cbf93d8ed.js +1 -0
  134. package/assets/esri/core/workers/chunks/6b9d29ca568590358478.js +1 -0
  135. package/assets/esri/core/workers/chunks/6c25c929bcde7e3a2af1.js +1 -0
  136. package/assets/esri/core/workers/chunks/{7c5310e0104c22da0261.js → 6c7cb7974969e3167f2b.js} +1 -1
  137. package/assets/esri/core/workers/chunks/6c82cbcd504c711a7450.js +1 -0
  138. package/assets/esri/core/workers/chunks/{e98b785e8f4edc8bd3ff.js → 6eceeca33fac8e900d9d.js} +1 -1
  139. package/assets/esri/core/workers/chunks/7232fc11b23777b6be94.js +1 -0
  140. package/assets/esri/core/workers/chunks/726ca458b98bb4334431.js +1 -0
  141. package/assets/esri/core/workers/chunks/785206da3962ba23de16.js +1 -0
  142. package/assets/esri/core/workers/chunks/{1c70620f40be02f532b5.js → 7b169eabafcc03bfaee6.js} +1 -1
  143. package/assets/esri/core/workers/chunks/7bbc3d22383388d11345.js +1 -0
  144. package/assets/esri/core/workers/chunks/{082069f80eee0407b828.js → 7edf57e31ff07af9032b.js} +1 -1
  145. package/assets/esri/core/workers/chunks/7f2ac03efaa4a4898ba2.js +2 -0
  146. package/assets/esri/core/workers/chunks/83ed38468e316302b157.js +1 -0
  147. package/assets/esri/core/workers/chunks/85c876ee9e63d5732937.js +1 -0
  148. package/assets/esri/core/workers/chunks/8f0ecf4d06ec7b67d4ed.js +1 -0
  149. package/assets/esri/core/workers/chunks/8f1c5f5e70d4b33d021d.js +1 -0
  150. package/assets/esri/core/workers/chunks/{a1916bca1af5c65be4b0.js → 90ab3c47138875070a53.js} +1 -1
  151. package/assets/esri/core/workers/chunks/{10389c87d9c6a43363ce.js → 917dec9c004218c58950.js} +1 -1
  152. package/assets/esri/core/workers/chunks/91f451b98e0f696043df.js +1 -0
  153. package/assets/esri/core/workers/chunks/943d0026ca4d49eb3ac2.js +1 -0
  154. package/assets/esri/core/workers/chunks/982a396bd4fffa62e911.js +1 -0
  155. package/assets/esri/core/workers/chunks/98a5327fd96d9542b39f.js +1 -0
  156. package/assets/esri/core/workers/chunks/9b9a60f1e0c48aa701f0.js +1 -0
  157. package/assets/esri/core/workers/chunks/9d92e6f0beed9a8580fa.js +1 -0
  158. package/assets/esri/core/workers/chunks/9df379041e8860fe7f01.js +1 -0
  159. package/assets/esri/core/workers/chunks/{847781aefed049493444.js → 9f760dc4492a03e0504c.js} +1 -1
  160. package/assets/esri/core/workers/chunks/{013c9cc198736a72f7f2.js → 9fb46ccd4be4c3b61c31.js} +1 -1
  161. package/assets/esri/core/workers/chunks/{1e8ceb4a4b28625236e3.js → a42505b978d54d36d3b6.js} +1 -1
  162. package/assets/esri/core/workers/chunks/{bfbe6ff786435fe1e7cf.js → a86a4e550a92f770d6d5.js} +1 -1
  163. package/assets/esri/core/workers/chunks/{a34eee4c9d4c1c2b8c49.js → ab60f3bc18b5ea504f70.js} +1 -1
  164. package/assets/esri/core/workers/chunks/{18b9ec6ba7a6c0fa2ac6.js → b1880d9f5eafd50ce84b.js} +1 -1
  165. package/assets/esri/core/workers/chunks/{777fc163530448eea13e.js → b4222152efaf73b37b53.js} +1 -1
  166. package/assets/esri/core/workers/chunks/b6ca73c1384f07b30b74.js +1 -0
  167. package/assets/esri/core/workers/chunks/bb4cbf6b7c35e8c78cc7.js +1 -0
  168. package/assets/esri/core/workers/chunks/bb831d23422acfb00ae2.js +1 -0
  169. package/assets/esri/core/workers/chunks/bdcca906fdfb8e179abb.js +2 -0
  170. package/assets/esri/core/workers/chunks/c0855be20ffcd52c7026.js +1 -0
  171. package/assets/esri/core/workers/chunks/c5ceceb0683671f92efa.js +1 -0
  172. package/assets/esri/core/workers/chunks/c5e288d57bacb8451e2d.js +2 -0
  173. package/assets/esri/core/workers/chunks/{a0f742fd947104662d37.js → c6277236ec47586dca00.js} +1 -1
  174. package/assets/esri/core/workers/chunks/{3be33a129d3ae7dc4f06.js → caf38cf4d8542fb11c46.js} +1 -1
  175. package/assets/esri/core/workers/chunks/{10d33b4f248864225f85.js → cd0f5cd0fefe7f49e3d8.js} +1 -1
  176. package/assets/esri/core/workers/chunks/{b92b7d6c1e693c97a3eb.js → d1f54b0079fb71a15612.js} +1 -1
  177. package/assets/esri/core/workers/chunks/{48a53bfeef11c32dadcc.js → d25fb32a233d2128afbe.js} +1 -1
  178. package/assets/esri/core/workers/chunks/d5e3f8e5b8d2576d3cb3.js +2 -0
  179. package/assets/esri/core/workers/chunks/d629708bf23da24ee523.js +1 -0
  180. package/assets/esri/core/workers/chunks/{21d4219844ae5654618b.js → d926bffc3ff9f87e9081.js} +1 -1
  181. package/assets/esri/core/workers/chunks/db141122060d8d9b38da.js +1 -0
  182. package/assets/esri/core/workers/chunks/dc1944a7601b518a9c48.js +1 -0
  183. package/assets/esri/core/workers/chunks/{573ee2e59d26bc75201e.js → dc8670f32bb0b93c1473.js} +1 -1
  184. package/assets/esri/core/workers/chunks/e1f2b07be33e33117313.js +1 -0
  185. package/assets/esri/core/workers/chunks/e52f30dfb7c82491a7f2.js +1 -0
  186. package/assets/esri/core/workers/chunks/e5906b28b981199fd489.js +1 -0
  187. package/assets/esri/core/workers/chunks/{b3293ee9f221423a6825.js → e611e452f04a9ce64cf8.js} +1 -1
  188. package/assets/esri/core/workers/chunks/e755075ac2e02e881fad.js +1 -0
  189. package/assets/esri/core/workers/chunks/{058d4c927486a361e633.js → ea9e770efc85594e4dd2.js} +1 -1
  190. package/assets/esri/core/workers/chunks/{0f20c458f873564faff2.js → ec4f887153c24ab83f2c.js} +1 -1
  191. package/assets/esri/core/workers/chunks/{707b4ae689c4329cad3b.js → f40ceb5e03c699605302.js} +1 -1
  192. package/assets/esri/core/workers/chunks/{547a073c789fdfb78310.js → f42243c62dd0b6993816.js} +1 -1
  193. package/assets/esri/core/workers/chunks/{a49147203e55609630cc.js → f453dc4a075d2f900c7d.js} +1 -1
  194. package/assets/esri/core/workers/chunks/f465fb26541372fdc908.js +2 -0
  195. package/assets/esri/core/workers/chunks/f91cab9904020cf25d50.js +1 -0
  196. package/assets/esri/core/workers/chunks/f9b29d2ce1cd31c0fce1.js +1 -0
  197. package/assets/esri/core/workers/chunks/fdf5ceffec9d5185953d.js +1 -0
  198. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +1 -0
  199. package/assets/esri/themes/base/widgets/_Bookmarks.scss +1 -0
  200. package/assets/esri/themes/dark/main.css +1 -1
  201. package/assets/esri/themes/light/main.css +1 -1
  202. package/assets/esri/themes/light/view.css +1 -1
  203. package/assets/esri/views/3d/environment/resources/milkyway-band.ktx2 +0 -0
  204. package/chunks/ChapmanAtmosphere.glsl.js +1 -1
  205. package/chunks/Component.glsl.js +57 -56
  206. package/chunks/DeepSky.glsl.js +1 -1
  207. package/chunks/DefaultMaterial.glsl.js +19 -23
  208. package/chunks/FocusArea.glsl.js +1 -1
  209. package/chunks/GaussianSplat.glsl.js +13 -11
  210. package/chunks/GaussianSplatDepth.glsl.js +3 -3
  211. package/chunks/GlobalIllumination.glsl.js +1 -1
  212. package/chunks/Haze.glsl.js +1 -1
  213. package/chunks/Path.glsl.js +21 -24
  214. package/chunks/RealisticTree.glsl.js +42 -41
  215. package/chunks/RibbonLine.glsl.js +72 -61
  216. package/chunks/SimpleAtmosphere.glsl.js +1 -1
  217. package/chunks/Terrain.glsl.js +25 -25
  218. package/chunks/Water.glsl.js +4 -4
  219. package/config.js +1 -1
  220. package/core/units.js +1 -1
  221. package/geometry/Extent.js +1 -1
  222. package/geometry/operators/affineTransformOperator.d.ts +9 -3
  223. package/geometry/operators/affineTransformOperator.js +1 -1
  224. package/geometry/operators/alphaShapeOperator.d.ts +14 -4
  225. package/geometry/operators/alphaShapeOperator.js +1 -1
  226. package/geometry/operators/areaOperator.d.ts +11 -3
  227. package/geometry/operators/areaOperator.js +1 -1
  228. package/geometry/operators/autoCompleteOperator.d.ts +6 -2
  229. package/geometry/operators/autoCompleteOperator.js +1 -1
  230. package/geometry/operators/boundaryOperator.d.ts +9 -3
  231. package/geometry/operators/boundaryOperator.js +1 -1
  232. package/geometry/operators/bufferOperator.d.ts +19 -5
  233. package/geometry/operators/bufferOperator.js +1 -1
  234. package/geometry/operators/centroidOperator.d.ts +6 -2
  235. package/geometry/operators/centroidOperator.js +1 -1
  236. package/geometry/operators/clipOperator.d.ts +9 -3
  237. package/geometry/operators/clipOperator.js +1 -1
  238. package/geometry/operators/containsOperator.d.ts +9 -3
  239. package/geometry/operators/containsOperator.js +1 -1
  240. package/geometry/operators/convexHullOperator.d.ts +17 -5
  241. package/geometry/operators/convexHullOperator.js +1 -1
  242. package/geometry/operators/crossesOperator.d.ts +9 -3
  243. package/geometry/operators/crossesOperator.js +1 -1
  244. package/geometry/operators/cutOperator.d.ts +6 -2
  245. package/geometry/operators/cutOperator.js +1 -1
  246. package/geometry/operators/densifyOperator.d.ts +14 -4
  247. package/geometry/operators/densifyOperator.js +1 -1
  248. package/geometry/operators/differenceOperator.d.ts +9 -3
  249. package/geometry/operators/differenceOperator.js +1 -1
  250. package/geometry/operators/disjointOperator.d.ts +9 -3
  251. package/geometry/operators/disjointOperator.js +1 -1
  252. package/geometry/operators/distanceOperator.d.ts +11 -3
  253. package/geometry/operators/distanceOperator.js +1 -1
  254. package/geometry/operators/equalsOperator.d.ts +9 -3
  255. package/geometry/operators/equalsOperator.js +1 -1
  256. package/geometry/operators/extendOperator.d.ts +11 -3
  257. package/geometry/operators/extendOperator.js +1 -1
  258. package/geometry/operators/generalizeOperator.d.ts +14 -4
  259. package/geometry/operators/generalizeOperator.js +1 -1
  260. package/geometry/operators/geodesicBufferOperator.d.ts +25 -7
  261. package/geometry/operators/geodesicBufferOperator.js +1 -1
  262. package/geometry/operators/geodesicProximityOperator.d.ts +28 -8
  263. package/geometry/operators/geodesicProximityOperator.js +1 -1
  264. package/geometry/operators/geodeticAreaOperator.d.ts +17 -5
  265. package/geometry/operators/geodeticAreaOperator.js +1 -1
  266. package/geometry/operators/geodeticDensifyOperator.d.ts +20 -6
  267. package/geometry/operators/geodeticDensifyOperator.js +1 -1
  268. package/geometry/operators/geodeticDistanceOperator.d.ts +17 -5
  269. package/geometry/operators/geodeticDistanceOperator.js +1 -1
  270. package/geometry/operators/geodeticLengthOperator.d.ts +17 -5
  271. package/geometry/operators/geodeticLengthOperator.js +1 -1
  272. package/geometry/operators/geodeticUtilsOperator.d.ts +17 -5
  273. package/geometry/operators/geodeticUtilsOperator.js +1 -1
  274. package/geometry/operators/graphicBufferOperator.d.ts +11 -3
  275. package/geometry/operators/graphicBufferOperator.js +1 -1
  276. package/geometry/operators/integrateOperator.d.ts +6 -2
  277. package/geometry/operators/integrateOperator.js +1 -1
  278. package/geometry/operators/intersectionOperator.d.ts +12 -4
  279. package/geometry/operators/intersectionOperator.js +1 -1
  280. package/geometry/operators/intersectsOperator.d.ts +9 -3
  281. package/geometry/operators/intersectsOperator.js +1 -1
  282. package/geometry/operators/isNearOperator.d.ts +11 -3
  283. package/geometry/operators/isNearOperator.js +1 -1
  284. package/geometry/operators/json/bufferOperator.js +1 -1
  285. package/geometry/operators/json/containsOperator.js +1 -1
  286. package/geometry/operators/json/convexHullOperator.js +1 -1
  287. package/geometry/operators/json/crossesOperator.js +1 -1
  288. package/geometry/operators/json/disjointOperator.js +1 -1
  289. package/geometry/operators/json/generalizeOperator.js +1 -1
  290. package/geometry/operators/json/geodesicBufferOperator.js +1 -1
  291. package/geometry/operators/json/graphicBufferOperator.js +1 -1
  292. package/geometry/operators/json/intersectionOperator.js +1 -1
  293. package/geometry/operators/json/intersectsOperator.js +1 -1
  294. package/geometry/operators/json/lengthOperator.js +1 -1
  295. package/geometry/operators/json/offsetOperator.js +1 -1
  296. package/geometry/operators/json/overlapsOperator.js +1 -1
  297. package/geometry/operators/json/projectOperator.js +1 -1
  298. package/geometry/operators/json/simplifyOperator.js +1 -1
  299. package/geometry/operators/json/simplifyOperatorOGC.js +1 -1
  300. package/geometry/operators/json/touchesOperator.js +1 -1
  301. package/geometry/operators/json/unionOperator.js +1 -1
  302. package/geometry/operators/json/withinOperator.js +1 -1
  303. package/geometry/operators/labelPointOperator.d.ts +9 -3
  304. package/geometry/operators/labelPointOperator.js +1 -1
  305. package/geometry/operators/lengthOperator.d.ts +11 -3
  306. package/geometry/operators/lengthOperator.js +1 -1
  307. package/geometry/operators/linesToPolygonsOperator.d.ts +6 -2
  308. package/geometry/operators/linesToPolygonsOperator.js +1 -1
  309. package/geometry/operators/locateBetweenOperator.d.ts +6 -2
  310. package/geometry/operators/locateBetweenOperator.js +1 -1
  311. package/geometry/operators/minimumBoundingCircleOperator.d.ts +14 -4
  312. package/geometry/operators/minimumBoundingCircleOperator.js +1 -1
  313. package/geometry/operators/multiPartToSinglePartOperator.d.ts +11 -3
  314. package/geometry/operators/multiPartToSinglePartOperator.js +1 -1
  315. package/geometry/operators/offsetOperator.d.ts +14 -4
  316. package/geometry/operators/offsetOperator.js +1 -1
  317. package/geometry/operators/overlapsOperator.d.ts +9 -3
  318. package/geometry/operators/overlapsOperator.js +1 -1
  319. package/geometry/operators/polygonOverlayOperator.d.ts +11 -3
  320. package/geometry/operators/polygonOverlayOperator.js +1 -1
  321. package/geometry/operators/polygonSlicerOperator.d.ts +22 -6
  322. package/geometry/operators/polygonSlicerOperator.js +1 -1
  323. package/geometry/operators/projectOperator.d.ts +15 -5
  324. package/geometry/operators/projectOperator.js +1 -1
  325. package/geometry/operators/proximityOperator.d.ts +22 -6
  326. package/geometry/operators/proximityOperator.js +1 -1
  327. package/geometry/operators/relateOperator.d.ts +12 -4
  328. package/geometry/operators/relateOperator.js +1 -1
  329. package/geometry/operators/reshapeOperator.d.ts +6 -2
  330. package/geometry/operators/reshapeOperator.js +1 -1
  331. package/geometry/operators/shapePreservingProjectOperator.d.ts +20 -6
  332. package/geometry/operators/shapePreservingProjectOperator.js +1 -1
  333. package/geometry/operators/simplifyOGCOperator.d.ts +3 -1
  334. package/geometry/operators/simplifyOGCOperator.js +1 -1
  335. package/geometry/operators/simplifyOperator.d.ts +12 -4
  336. package/geometry/operators/simplifyOperator.js +1 -1
  337. package/geometry/operators/singlePartToMultiPartOperator.js +1 -1
  338. package/geometry/operators/support/deprecatedOperator.js +2 -0
  339. package/geometry/operators/symmetricDifferenceOperator.d.ts +9 -3
  340. package/geometry/operators/symmetricDifferenceOperator.js +1 -1
  341. package/geometry/operators/touchesOperator.d.ts +9 -3
  342. package/geometry/operators/touchesOperator.js +1 -1
  343. package/geometry/operators/unionOperator.d.ts +9 -3
  344. package/geometry/operators/unionOperator.js +1 -1
  345. package/geometry/operators/withinOperator.d.ts +9 -3
  346. package/geometry/operators/withinOperator.js +1 -1
  347. package/geometry/support/heightModelInfoUtils.js +1 -1
  348. package/geometry/support/intersectsBase.js +1 -1
  349. package/geometry/support/normalizeUtils.js +1 -1
  350. package/kernel.js +1 -1
  351. package/layers/GaussianSplatLayer.js +1 -1
  352. package/layers/ImageryTileLayer.js +1 -1
  353. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  354. package/layers/IntegratedMeshLayer.js +1 -1
  355. package/layers/SceneLayer.js +1 -1
  356. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  357. package/layers/list/BasemapItemCollection.d.ts +40 -14
  358. package/layers/list/BasemapItemCollection.js +1 -1
  359. package/layers/list/CatalogItemCollection.d.ts +29 -11
  360. package/layers/list/CatalogItemCollection.js +1 -1
  361. package/layers/list/Item.d.ts +66 -122
  362. package/layers/list/Item.js +1 -1
  363. package/layers/list/ItemPanel.d.ts +23 -34
  364. package/layers/list/LayerItemCollection.d.ts +33 -43
  365. package/layers/list/LayerItemCollection.js +1 -1
  366. package/layers/list/TableItem.d.ts +42 -53
  367. package/layers/list/TableItem.js +1 -1
  368. package/layers/list/TableItemCollection.d.ts +25 -55
  369. package/layers/list/TableItemCollection.js +1 -1
  370. package/layers/list/TableItemPanel.d.ts +25 -23
  371. package/layers/list/support/layerListUtils.js +1 -1
  372. package/layers/list/types.d.ts +158 -37
  373. package/layers/mixins/TiledImagery.d.ts +6 -0
  374. package/layers/mixins/TiledImagery.js +1 -1
  375. package/layers/raster/datasets/ImageServerRaster.js +1 -1
  376. package/layers/raster/datasets/RasterFactory.js +1 -1
  377. package/layers/support/ElevationQuery.js +1 -1
  378. package/layers/support/FeatureFilter.d.ts +2 -1
  379. package/layers/support/FeatureFilter.js +1 -1
  380. package/layers/support/domainUtils.d.ts +2 -0
  381. package/layers/support/domainUtils.js +1 -1
  382. package/layers/support/fieldUtils.d.ts +10 -0
  383. package/layers/support/fieldUtils.js +1 -1
  384. package/package.json +6 -6
  385. package/rest/knowledgeGraph/GraphDeleteNamedTypeResult.d.ts +0 -1
  386. package/support/revision.js +1 -1
  387. package/symbols/LineStyleMarker3D.d.ts +3 -4
  388. package/symbols/LineSymbol3D.d.ts +19 -2
  389. package/symbols/LineSymbol3D.js +1 -1
  390. package/symbols/LineSymbol3DLayer.d.ts +22 -9
  391. package/symbols/Symbol3DLayer.d.ts +1 -1
  392. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  393. package/symbols/cim/CIMSymbolHelper.js +1 -1
  394. package/symbols/cim/OverrideHelper.js +1 -1
  395. package/symbols/cim/Rasterizer.js +1 -1
  396. package/symbols/cim/cimAnalyzer.js +1 -1
  397. package/symbols/cim/dashUtils.js +2 -0
  398. package/symbols/cim/effects/EffectDashes.js +1 -1
  399. package/symbols/cim/fromCIMFontStyle.js +2 -0
  400. package/symbols/cim/richTextUtils.js +1 -1
  401. package/symbols/cim/utils.js +1 -1
  402. package/symbols/patterns/LinePattern3D.d.ts +10 -4
  403. package/symbols/patterns/LinePattern3D.js +1 -1
  404. package/symbols/patterns/LineTemplatePattern3D.d.ts +48 -0
  405. package/symbols/patterns/LineTemplatePattern3D.js +2 -0
  406. package/symbols/patterns/utils.js +1 -1
  407. package/symbols/support/Symbol3DOutline.js +1 -1
  408. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  409. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  410. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  411. package/views/2d/engine/webgl/GlyphWorker.js +1 -1
  412. package/views/2d/engine/webgl/TextureManager.js +1 -1
  413. package/views/2d/engine/webgl/decorGlyphRect.js +2 -0
  414. package/views/2d/engine/webgl/definitions.js +1 -1
  415. package/views/2d/engine/webgl/effects/highlight/HighlightGradient.js +1 -1
  416. package/views/2d/engine/webgl/effects/highlight/MultiHighlightGradient.js +1 -1
  417. package/views/2d/engine/webgl/hashMosaic.js +2 -0
  418. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  419. package/views/2d/engine/webgl/shaderGraph/techniques/animated/clipping.js +2 -0
  420. package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
  421. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  422. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ShaderHighlight.js +1 -1
  423. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/utils.js +1 -1
  424. package/views/2d/input/MapViewInputManager.js +1 -1
  425. package/views/2d/input/handlers/KeyPan.js +1 -1
  426. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  427. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  428. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  429. package/views/2d/layers/LayerView2D.js +1 -1
  430. package/views/2d/layers/MapImageLayerView2D.js +1 -1
  431. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  432. package/views/2d/layers/RouteLayerView2D.js +1 -1
  433. package/views/2d/layers/TileLayerView2D.js +1 -1
  434. package/views/2d/layers/features/FeatureContainer.js +1 -1
  435. package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
  436. package/views/2d/layers/features/Processor.js +1 -1
  437. package/views/2d/layers/features/processor/AProcessorStrategy.js +1 -1
  438. package/views/2d/layers/features/processor/AggregateStrategy.js +1 -1
  439. package/views/2d/layers/features/processor/FeatureUpdateStrategy.js +1 -1
  440. package/views/2d/layers/features/processor/bins/BinLevelState.js +1 -1
  441. package/views/2d/layers/features/processor/clusters/ClusterLevelState.js +1 -1
  442. package/views/2d/layers/features/processor/tracks/TrackLevelState.js +1 -1
  443. package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
  444. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  445. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  446. package/views/2d/layers/graphics/AGraphicContainer.js +1 -1
  447. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  448. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  449. package/views/2d/layers/support/FeatureCommandQueue.js +1 -1
  450. package/views/2d/layers/support/FilterSchema.js +2 -0
  451. package/views/2d/layers/support/HighlightRegistry.js +2 -0
  452. package/views/2d/layers/support/annodime/DimensionInfo.js +1 -1
  453. package/views/2d/layers/support/annodime/dimensionUtils.js +1 -1
  454. package/views/2d/layers/support/util.js +1 -1
  455. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  456. package/views/3d/input/SceneInputManager.js +1 -1
  457. package/views/3d/input/handlers/KeyboardNavigation.js +1 -1
  458. package/views/3d/input/handlers/ground/GroundNavigation.js +1 -1
  459. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  460. package/views/3d/layers/I3SMeshView3D.js +1 -1
  461. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  462. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  463. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  464. package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
  465. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  466. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  467. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  468. package/views/3d/layers/support/Tiles3DMeshIntersectionHandler.js +1 -1
  469. package/views/3d/navigation/Navigation3D.d.ts +16 -0
  470. package/views/3d/navigation/Navigation3D.js +2 -0
  471. package/views/3d/navigation/modes/DefaultNavigationMode3D.d.ts +4 -0
  472. package/views/3d/navigation/modes/DefaultNavigationMode3D.js +2 -0
  473. package/views/3d/navigation/modes/GroundNavigationMode3D.d.ts +4 -0
  474. package/views/3d/navigation/modes/GroundNavigationMode3D.js +2 -0
  475. package/views/3d/navigation/modes/NavigationMode3D.d.ts +4 -0
  476. package/views/3d/navigation/modes/NavigationMode3D.js +2 -0
  477. package/views/3d/navigation/modes/NavigationMode3DUnion.d.ts +5 -0
  478. package/views/3d/state/ConstraintsManager.js +1 -1
  479. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  480. package/views/3d/support/MemoryController.js +1 -1
  481. package/views/3d/support/QualityProfile.js +1 -1
  482. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  483. package/views/3d/support/hitTest.js +1 -1
  484. package/views/3d/terrain/ExtentHelper.js +1 -1
  485. package/views/3d/webgl-engine/collections/Component/ComponentDrawParameters.js +1 -1
  486. package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
  487. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  488. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +3 -3
  489. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +3 -3
  490. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +4 -4
  491. package/views/3d/webgl-engine/core/shaderLibrary/output/getEmissions.glsl.js +2 -2
  492. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +57 -58
  493. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +5 -3
  494. package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
  495. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +7 -6
  496. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +3 -3
  497. package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +5 -10
  498. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js +10 -48
  499. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +16 -22
  500. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +6 -6
  501. package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js +5 -3
  502. package/views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js +19 -0
  503. package/views/3d/webgl-engine/core/shaderLibrary/shading/pbrShadingInfo.glsl.js +24 -0
  504. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +3 -3
  505. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +2 -2
  506. package/views/3d/webgl-engine/effects/AmbientIllumination.js +2 -0
  507. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  508. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  509. package/views/3d/webgl-engine/effects/glow/BlurEmission.js +1 -1
  510. package/views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js +4 -4
  511. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  512. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  513. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  514. package/views/3d/webgl-engine/lib/EmissionComposite.js +1 -1
  515. package/views/3d/webgl-engine/lib/GaussianSplatDepthRenderer.js +1 -1
  516. package/views/3d/webgl-engine/lib/GaussianSplatRenderer.js +1 -1
  517. package/views/3d/webgl-engine/lib/LineMaterial.js +1 -1
  518. package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
  519. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  520. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  521. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  522. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  523. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  524. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  525. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  526. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  527. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  528. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  529. package/views/3d/webgl-engine/materials/VisualVariablePassParameters.js +1 -1
  530. package/views/3d/webgl-engine/materials/lineStippleUtils.js +1 -1
  531. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  532. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  533. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  534. package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +23 -22
  535. package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
  536. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  537. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  538. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  539. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechniqueConfiguration.js +1 -1
  540. package/views/MapView.d.ts +1 -0
  541. package/views/PopupView.js +1 -1
  542. package/views/SceneView.d.ts +1 -0
  543. package/views/SceneView.js +1 -1
  544. package/views/View.js +1 -1
  545. package/views/layers/FeatureLikeLayerView.js +1 -1
  546. package/views/support/DefaultsFromMap.js +1 -1
  547. package/widgets/BasemapLayerList.js +1 -1
  548. package/widgets/BatchAttributeForm/ReactiveContingentValuesManager.js +1 -1
  549. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  550. package/widgets/BatchAttributeForm/inputs/support/MultipleChoiceController.js +1 -1
  551. package/widgets/BatchAttributeForm.js +1 -1
  552. package/widgets/Bookmarks.js +1 -1
  553. package/widgets/FeatureForm/featureFormUtils.js +1 -1
  554. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  555. package/widgets/LayerList/LayerListViewModel.d.ts +1 -0
  556. package/widgets/LayerList/LayerListViewModel.js +1 -1
  557. package/widgets/LayerList/ListItem.d.ts +4 -0
  558. package/widgets/LayerList/ListItemPanel.d.ts +3 -0
  559. package/widgets/OrientedImageryViewer/types.d.ts +2 -2
  560. package/widgets/OrientedImageryViewer.d.ts +20 -1
  561. package/widgets/OrientedImageryViewer.js +1 -1
  562. package/widgets/Search/LocatorSearchSource.d.ts +4 -3
  563. package/widgets/Sketch/SketchViewModel.js +1 -1
  564. package/widgets/support/forms/formUtils.d.ts +5 -0
  565. package/widgets/support/forms/formUtils.js +1 -1
  566. package/widgets/support/forms/types.d.ts +7 -1
  567. package/widgets/support/iconUtils.js +1 -1
  568. package/assets/esri/core/workers/chunks/03601be8b0763f82e88f.js +0 -1
  569. package/assets/esri/core/workers/chunks/075eb62465edb9cbf907.js +0 -1
  570. package/assets/esri/core/workers/chunks/0bff8d589312be6588fe.js +0 -1
  571. package/assets/esri/core/workers/chunks/0de90b1ad8118457fd5a.js +0 -1
  572. package/assets/esri/core/workers/chunks/0e1a067ab243900d0371.js +0 -1
  573. package/assets/esri/core/workers/chunks/0ee6109e6578395a7900.js +0 -1
  574. package/assets/esri/core/workers/chunks/0ee7376c29e0fd8f676c.js +0 -1
  575. package/assets/esri/core/workers/chunks/0ff13f7a18b0123d253e.js +0 -1
  576. package/assets/esri/core/workers/chunks/1082bb0858585bd4fa21.js +0 -2
  577. package/assets/esri/core/workers/chunks/13551987fbeaae154df8.js +0 -1
  578. package/assets/esri/core/workers/chunks/19ac6f4664f97fb3821c.js +0 -1
  579. package/assets/esri/core/workers/chunks/1ec01fd6330d011c76d6.js +0 -1
  580. package/assets/esri/core/workers/chunks/262052dfaec3af8a58b9.js +0 -1
  581. package/assets/esri/core/workers/chunks/2c01477b69c38f691e19.js +0 -1
  582. package/assets/esri/core/workers/chunks/2e2349387a2b9903f13c.js +0 -2
  583. package/assets/esri/core/workers/chunks/307297e025eed110095f.js +0 -1
  584. package/assets/esri/core/workers/chunks/33422dca6f4bcaa0ea74.js +0 -1
  585. package/assets/esri/core/workers/chunks/33e583166ab3943ecf0e.js +0 -1
  586. package/assets/esri/core/workers/chunks/349e9f3d3e3267d02988.js +0 -1
  587. package/assets/esri/core/workers/chunks/37ae52c71bf9c70fbb92.js +0 -1
  588. package/assets/esri/core/workers/chunks/3daddcb106a7009c5a70.js +0 -1
  589. package/assets/esri/core/workers/chunks/3de6e54b6ed0feae1940.js +0 -1
  590. package/assets/esri/core/workers/chunks/3ffc852db1a820ed143b.js +0 -1
  591. package/assets/esri/core/workers/chunks/411bbdecba340df11d95.js +0 -2
  592. package/assets/esri/core/workers/chunks/4490dd8bae0dd2769d99.js +0 -1
  593. package/assets/esri/core/workers/chunks/476535cfb06ced74d611.js +0 -2
  594. package/assets/esri/core/workers/chunks/4c088c26d5d546c95c90.js +0 -1
  595. package/assets/esri/core/workers/chunks/54bb3678570ca032f051.js +0 -1
  596. package/assets/esri/core/workers/chunks/56163189fbe63aa11e94.js +0 -1
  597. package/assets/esri/core/workers/chunks/571cf99c3eab8e517542.js +0 -1
  598. package/assets/esri/core/workers/chunks/5830deda121e4c95d199.js +0 -1
  599. package/assets/esri/core/workers/chunks/58e4aecabca047f1d229.js +0 -1
  600. package/assets/esri/core/workers/chunks/5c8f423812a23c02c1fd.js +0 -1
  601. package/assets/esri/core/workers/chunks/5e56a004b4407b8066eb.js +0 -1
  602. package/assets/esri/core/workers/chunks/5eb726317b6602f1e206.js +0 -1
  603. package/assets/esri/core/workers/chunks/6010799e05d239073de0.js +0 -1
  604. package/assets/esri/core/workers/chunks/69921d068add041b5dcb.js +0 -1
  605. package/assets/esri/core/workers/chunks/6df29716f75696434807.js +0 -1
  606. package/assets/esri/core/workers/chunks/6e2075bd4832ff0db68c.js +0 -1
  607. package/assets/esri/core/workers/chunks/7608de0d942b4c16b2f6.js +0 -1
  608. package/assets/esri/core/workers/chunks/7737ab739eba6d81282d.js +0 -1
  609. package/assets/esri/core/workers/chunks/7d9468e38f3bf006f86e.js +0 -1
  610. package/assets/esri/core/workers/chunks/7efc51324cfc8e08c756.js +0 -1
  611. package/assets/esri/core/workers/chunks/84dc2afd89263a311b81.js +0 -1
  612. package/assets/esri/core/workers/chunks/852649460d664b0a1a1d.js +0 -1
  613. package/assets/esri/core/workers/chunks/a322afbb48898ce35851.js +0 -1
  614. package/assets/esri/core/workers/chunks/ab332bd411d6c7d4190c.js +0 -1
  615. package/assets/esri/core/workers/chunks/b7809ef3e1dabd921339.js +0 -1
  616. package/assets/esri/core/workers/chunks/b82b523b6837ed1f28d3.js +0 -2
  617. package/assets/esri/core/workers/chunks/bc9b96a539f28afcb8cb.js +0 -1
  618. package/assets/esri/core/workers/chunks/be69e2dda75b079362b2.js +0 -1
  619. package/assets/esri/core/workers/chunks/bf9eba555aebca2c132b.js +0 -1
  620. package/assets/esri/core/workers/chunks/c18de0f6cbeecee4ce34.js +0 -1
  621. package/assets/esri/core/workers/chunks/c7b762bae945f383c723.js +0 -1
  622. package/assets/esri/core/workers/chunks/c9df18e9ff7367a004b6.js +0 -1
  623. package/assets/esri/core/workers/chunks/d33d08cb6856cd2eb35e.js +0 -1
  624. package/assets/esri/core/workers/chunks/e688e6e816824b53a25e.js +0 -1
  625. package/assets/esri/core/workers/chunks/ea068c797e3e462f4518.js +0 -1
  626. package/assets/esri/core/workers/chunks/eaf1d38f09744b7e84f5.js +0 -1
  627. package/assets/esri/core/workers/chunks/ef24fd6c0322e5de9fdf.js +0 -2
  628. package/assets/esri/core/workers/chunks/f219ba010c480bb75684.js +0 -1
  629. package/assets/esri/core/workers/chunks/f5e8ccbd6b4c0a386903.js +0 -1
  630. package/assets/esri/core/workers/chunks/f60d5ce49c173d5381ec.js +0 -1
  631. package/assets/esri/core/workers/chunks/f834aa732c3f06525089.js +0 -1
  632. package/assets/esri/core/workers/chunks/f9e5740b05de24ba81be.js +0 -1
  633. package/assets/esri/core/workers/chunks/fae14e30fa7d81bf706e.js +0 -1
  634. package/assets/esri/core/workers/chunks/fb6f1b562ee0983c8c6e.js +0 -1
  635. package/assets/esri/core/workers/chunks/fc1658eae7b312502fab.js +0 -1
  636. package/assets/esri/core/workers/chunks/fc622f9e33e3b48113c8.js +0 -1
  637. package/views/2d/engine/webgl/Utils.js +0 -2
  638. package/views/2d/layers/support/HighlightCounter.js +0 -2
  639. /package/assets/esri/core/workers/chunks/{476535cfb06ced74d611.js.LICENSE.txt → 430802108b63194b7ddd.js.LICENSE.txt} +0 -0
  640. /package/assets/esri/core/workers/chunks/{b82b523b6837ed1f28d3.js.LICENSE.txt → 7f2ac03efaa4a4898ba2.js.LICENSE.txt} +0 -0
  641. /package/assets/esri/core/workers/chunks/{ef24fd6c0322e5de9fdf.js.LICENSE.txt → bdcca906fdfb8e179abb.js.LICENSE.txt} +0 -0
  642. /package/assets/esri/core/workers/chunks/{1082bb0858585bd4fa21.js.LICENSE.txt → c5e288d57bacb8451e2d.js.LICENSE.txt} +0 -0
  643. /package/assets/esri/core/workers/chunks/{2e2349387a2b9903f13c.js.LICENSE.txt → d5e3f8e5b8d2576d3cb3.js.LICENSE.txt} +0 -0
  644. /package/assets/esri/core/workers/chunks/{411bbdecba340df11d95.js.LICENSE.txt → f465fb26541372fdc908.js.LICENSE.txt} +0 -0
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{EvaluateAmbientLighting as i}from"./EvaluateAmbientLighting.glsl.js";import{EvaluateAmbientOcclusion as n}from"./EvaluateAmbientOcclusion.glsl.js";import{Gamma as e}from"./Gamma.glsl.js";import{addMainLightDirection as t,addMainLightIntensity as a,applyShading as o}from"./MainLighting.glsl.js";import{PhysicallyBasedRendering as l}from"./PhysicallyBasedRendering.glsl.js";import{PiUtils as r}from"./PiUtils.glsl.js";import{ReadGlobalIllumination as c}from"./ReadGlobalIllumination.glsl.js";import{BooleanBindUniform as s}from"../../shaderModules/BooleanBindUniform.js";import{FloatBindUniform as d}from"../../shaderModules/FloatBindUniform.js";import{glsl as m,If as u}from"../../shaderModules/glsl.js";import{ambientBoost as g}from"../../../lighting/SceneLighting.js";import{BlackLevelLightSoftCompression as h}from"../../../shaders/BlackLevelLightSoftCompression.glsl.js";import{ToneMapping as p}from"../../../shaders/ToneMapping.glsl.js";function f(i){i.constants.add("ambientBoostFactor","float",g)}function v(i){i.uniforms.add(new d("lightingGlobalFactor",i=>i.lighting.globalFactor))}function b(g,b){const{pbrMode:L,spherical:I,hasColorTexture:C,receiveGlobalIllumination:D}=b;g.include(e),g.include(c,b),g.include(n,b),0!==L&&g.include(l,b),g.include(i,b),g.include(r),g.include(p,b);const R=!(2===L&&!C);R&&g.include(h),f(g),v(g),t(g),g.code.add(m`
2
+ import{EvaluateAmbientLighting as i}from"./EvaluateAmbientLighting.glsl.js";import{EvaluateAmbientOcclusion as e}from"./EvaluateAmbientOcclusion.glsl.js";import{Gamma as n}from"./Gamma.glsl.js";import{mainLightDirection as a,mainLightIntensity as t,applyShading as o}from"./MainLighting.glsl.js";import{PhysicallyBasedRendering as l}from"./PhysicallyBasedRendering.glsl.js";import{PiUtils as r}from"./PiUtils.glsl.js";import{ReadGlobalIllumination as c}from"./ReadGlobalIllumination.glsl.js";import{BooleanBindUniform as d}from"../../shaderModules/BooleanBindUniform.js";import{FloatBindUniform as s}from"../../shaderModules/FloatBindUniform.js";import{glsl as m,If as u}from"../../shaderModules/glsl.js";import{ambientBoost as g}from"../../../lighting/SceneLighting.js";import{BlackLevelLightSoftCompression as h}from"../../../shaders/BlackLevelLightSoftCompression.glsl.js";import{ToneMapping as p}from"../../../shaders/ToneMapping.glsl.js";function f(i){i.constants.add("ambientBoostFactor","float",g)}function v(i){i.uniforms.add(new s("lightingGlobalFactor",i=>i.lighting.globalFactor))}function b(g,b){const{pbrMode:L,spherical:I,hasColorTexture:C,receiveGlobalIllumination:D}=b;g.include(n),g.include(c,b),g.include(e,b),0!==L&&g.include(l,b),g.include(i,b),g.include(r),g.include(p,b);const S=!(2===L&&!C);S&&g.include(h),f(g),v(g),g.uniforms.add(a).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
  }
@@ -8,58 +8,55 @@ import{EvaluateAmbientLighting as i}from"./EvaluateAmbientLighting.glsl.js";impo
8
8
  float lightAlignment = dot(${I?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
- `),a(g),g.code.add(m`vec3 evaluateAdditionalLighting(float ambientOcclusion, vec3 vPosWorld) {
11
+ `),g.uniforms.add(t).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
- }`);const y=D?"globalIlluminationOcclusion":"ssao",A=D?.75:1,S=D?1.5:1;switch(D&&g.code.add(m`vec3 evaluateGlobalIlluminationOcclusion() {
14
+ }`);const R=D?"globalIlluminationOcclusion":"ssao";switch(g.constants.add("mainLightIrradianceScale","float",D?.75:1),g.constants.add("ambientIrradianceScale","float",D?1.5:1),D&&g.code.add(m`vec3 evaluateGlobalIlluminationOcclusion() {
15
15
  return min(1.2 * readGlobalIlluminationOcclusion(), 1.0);
16
16
  }
17
17
  vec3 evaluateGlobalIlluminationEmission(vec3 albedoLinear) {
18
18
  return 2.25 * (0.75 * albedoLinear + 0.25) * readGlobalIlluminationEmission().rgb;
19
19
  }`),L){case 0:case 4:case 3:g.include(o),g.code.add(m`
20
- vec3 evaluateSceneLighting(vec3 normalWorld, vec3 albedo, float shadow, float ssao, vec3 additionalLight) {
21
- ${u(D,m`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
22
-
23
- vec3 mainLighting = ${D?`${m.float(A)} * `:""}applyShading(normalWorld, shadow);
24
- vec3 ambientLighting = ${D?`${m.float(S)} * `:""}calculateAmbientIrradiance(normalWorld) * (1.0 - ${y});
25
- vec3 albedoLinear = linearizeGamma(albedo);
26
-
27
- vec3 totalLight = mainLighting + ambientLighting + additionalLight;
28
- totalLight = min(totalLight, vec3(PI));
29
- vec3 outColor = vec3((albedoLinear / PI) * totalLight);
30
- ${u(D,m`
31
- outColor += evaluateGlobalIlluminationEmission(albedoLinear);`)}
32
- return delinearizeGamma(outColor);
33
- }
34
- `);break;case 1:case 2:{const i=D?.35:.2;g.code.add(m`
20
+ vec3 evaluateSceneLighting(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
21
+ vec3 viewDirection, vec3 upDirection) {
22
+ ${u(D,m`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
23
+
24
+ vec3 mainLighting = mainLightIrradianceScale * applyShading(normal, shadow);
25
+ vec3 ambientLighting = ambientIrradianceScale * calculateAmbientIrradiance(normal) * (1.0 - ${R});
26
+ vec3 albedoLinear = linearizeGamma(albedo);
27
+
28
+ vec3 totalLight = mainLighting + ambientLighting + additionalLight;
29
+ totalLight = min(totalLight, vec3(PI));
30
+ vec3 linearColor = vec3((albedoLinear / PI) * totalLight);
31
+ ${u(D,"linearColor += evaluateGlobalIlluminationEmission(albedoLinear);")}
32
+ return delinearizeGamma(linearColor);
33
+ }
34
+ `);break;case 1:case 2:g.constants.add("groundReflectance","float",D?.35:.2),g.code.add(m`
35
35
  const float fillLightIntensity = 0.25;
36
36
  const float horizonLightDiffusion = 0.4;
37
- const float additionalAmbientIrradianceFactor = 0.02;
38
- const float groundReflectance = ${m.float(i)};
39
37
 
40
- vec3 evaluateSceneLightingPBR(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
41
- vec3 viewDirection, vec3 upDirection, vec3 mrr, float additionalAmbientIrradiance) {
38
+ vec3 evaluateSceneLighting(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
39
+ vec3 viewDirection, vec3 upDirection) {
42
40
  PBRShadingInfo inputs;
43
- calculatePBRInputs(inputs, normal, viewDirection, upDirection, albedo, mrr);
44
-
45
- ${u(D,m`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
46
- `),b.useFillLights?g.uniforms.add(new s("hasFillLights",i=>i.enableFillLights)):g.constants.add("hasFillLights","bool",!1),g.code.add(m`
41
+ calculatePBRInputs(inputs, normal, viewDirection, upDirection, albedo);
42
+ ${u(D,"vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();")}
43
+ `),b.useFillLights?g.uniforms.add(new d("hasFillLights",i=>i.enableFillLights)):g.constants.add("hasFillLights","bool",!1),g.code.add(m`
47
44
  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]);
48
45
  ambientDir = ambientDir != vec3(0.0) ? normalize(ambientDir) : normalize(vec3(5.0, -1.0, 0.0));
49
46
 
50
47
  inputs.NdotAmbDir = hasFillLights ? abs(dot(normal, ambientDir)) : 1.0;
51
48
 
52
49
  // Calculate the irradiance components: sun, fill lights and the sky.
53
- vec3 mainLightIrradianceComponent = ${m.float(A)} * inputs.NdotL * (1.0 - shadow) * mainLightIntensity;
50
+ vec3 mainLightIrradianceComponent = mainLightIrradianceScale * inputs.NdotL * (1.0 - shadow) * mainLightIntensity;
54
51
  vec3 fillLightsIrradianceComponent = inputs.NdotAmbDir * mainLightIntensity * fillLightIntensity;
55
52
  // calculate ambient irradiance for localView and additionalLight for globalView
56
- vec3 ambientLightIrradianceComponent = ${m.float(S)} * calculateAmbientIrradiance(normal) * (1.0 - ${y}) + additionalLight;
53
+ vec3 ambientLightIrradianceComponent = ambientIrradianceScale * calculateAmbientIrradiance(normal) * (1.0 - ${R}) + additionalLight;
57
54
 
58
55
  // Assemble the overall irradiance of the sky that illuminates the surface
59
56
  inputs.skyIrradianceToSurface = ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;
60
57
  // 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
61
58
  inputs.groundIrradianceToSurface = groundReflectance * ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;
62
- `),g.uniforms.add(new d("lightingSpecularStrength",i=>i.lighting.mainLight.specularStrength),new d("lightingEnvironmentStrength",i=>i.lighting.mainLight.environmentStrength)).code.add(m`
59
+ `),g.uniforms.add(new s("lightingSpecularStrength",i=>i.lighting.mainLight.specularStrength),new s("lightingEnvironmentStrength",i=>i.lighting.mainLight.environmentStrength)).code.add(m`
63
60
  vec3 horizonRingDir = inputs.RdotUP * upDirection - inputs.reflectedView;
64
61
  vec3 horizonRingH = normalize(horizonRingDir - viewDirection);
65
62
  inputs.NdotH_Horizon = dot(normal, horizonRingH);
@@ -68,7 +65,7 @@ return 2.25 * (0.75 * albedoLinear + 0.25) * readGlobalIlluminationEmission().rg
68
65
  vec3 horizonLightRadianceComponent = lightingEnvironmentStrength * normalDistribution(inputs.NdotH_Horizon, min(inputs.roughness + horizonLightDiffusion, 1.0)) * mainLightIntensity * fillLightIntensity;
69
66
 
70
67
  // calculateAmbientRadiance for localView and additionalLight for global view
71
- vec3 ambientLightRadianceComponent = lightingEnvironmentStrength * calculateAmbientRadiance() * (1.0 - ${y}) + additionalLight;
68
+ vec3 ambientLightRadianceComponent = lightingEnvironmentStrength * calculateAmbientRadiance() * (1.0 - ${R}) + additionalLight;
72
69
  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));
73
70
 
74
71
  // Assemble the overall radiance of the sky that illuminates the surface
@@ -79,45 +76,47 @@ return 2.25 * (0.75 * albedoLinear + 0.25) * readGlobalIlluminationEmission().rg
79
76
 
80
77
  // Calculate average ambient radiance - This is used in the gamut mapping process to determine the black level for compression
81
78
  inputs.averageAmbientRadiance = ambientLightIrradianceComponent[1] * (1.0 + groundReflectance);
82
- `),g.code.add(m`
79
+ `),g.constants.add("additionalAmbientIrradianceFactor","float",.02),g.code.add(m`
83
80
  vec3 reflectedColorComponent = evaluateEnvironmentIllumination(inputs);
81
+ float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
84
82
  vec3 additionalMaterialReflectanceComponent = inputs.albedoLinear * additionalAmbientIrradiance;
85
- vec3 outColorLinear = reflectedColorComponent + additionalMaterialReflectanceComponent;
83
+ vec3 linearColor = reflectedColorComponent + additionalMaterialReflectanceComponent;
86
84
 
87
- ${u(D,m`
88
- outColorLinear += evaluateGlobalIlluminationEmission(inputs.albedoLinear);`)}
85
+ ${u(D,"linearColor += evaluateGlobalIlluminationEmission(inputs.albedoLinear);")}
89
86
 
90
- ${R?m`vec3 adjustedOutColorLinear = blackLevelSoftCompression(outColorLinear, inputs.averageAmbientRadiance);`:m`vec3 adjustedOutColorLinear = max(vec3(0.0), outColorLinear - 0.005 * inputs.averageAmbientRadiance);`}
87
+ ${S?"linearColor = blackLevelSoftCompression(linearColor, inputs.averageAmbientRadiance);":"linearColor = max(vec3(0.0), linearColor - 0.005 * inputs.averageAmbientRadiance);"}
91
88
 
92
- return delinearizeGamma(adjustedOutColorLinear);
89
+ return delinearizeGamma(linearColor);
93
90
  }
94
- `);break}case 5:case 6:{const i=D?.35:.5,n=D?.75:1,e=D?1.5:1;t(g),a(g),g.code.add(m`
95
- const float roughnessTerrain = 0.5;
96
- const float specularityTerrain = ${m.float(i)};
91
+ `);break;case 5:case 6:g.constants.add("terrainSpecularity","float",D?.35:.5),g.uniforms.add(a,t).code.add(m`
92
+ const float roughnessTerrain = 0.5;
97
93
 
98
- vec3 evaluatePBRSimplifiedLighting(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight, vec3 viewDirection, vec3 upDirection) {
99
- PBRShadingInfo inputs;
100
- calculateSimplifiedInputs(inputs, normal, viewDirection, upDirection, albedo);
94
+ vec3 evaluateSceneLighting(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
95
+ vec3 viewDirection, vec3 upDirection) {
96
+ PBRShadingInfo inputs;
97
+ calculateSimplifiedInputs(inputs, normal, viewDirection, upDirection, albedo);
101
98
 
102
- ${u(D,m`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
99
+ ${u(D,"vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();")}
103
100
 
104
- vec3 mainLightIrradianceComponent = ${m.float(n)} * (1.0 - shadow) * inputs.NdotL * mainLightIntensity;
105
- vec3 ambientLightIrradianceComponent = ${m.float(e)} * calculateAmbientIrradiance(normal) * (1.0 - ${y}) + additionalLight;
106
- vec3 ambientSky = ambientLightIrradianceComponent + mainLightIrradianceComponent;
101
+ vec3 mainLightIrradianceComponent = mainLightIrradianceScale * (1.0 - shadow) * inputs.NdotL * mainLightIntensity;
102
+ vec3 ambientLightIrradianceComponent = ambientIrradianceScale * calculateAmbientIrradiance(normal) * (1.0 - ${R}) + additionalLight;
103
+ vec3 ambientSky = ambientLightIrradianceComponent + mainLightIrradianceComponent;
107
104
 
108
- vec3 indirectDiffuse = ((1.0 - inputs.NdotUP) * mainLightIrradianceComponent + (1.0 + inputs.NdotUP ) * ambientSky) * 0.5;
109
- vec3 outDiffColor = inputs.albedoLinear * (1.0 - inputs.f0) * indirectDiffuse / PI;
105
+ vec3 indirectDiffuse = ((1.0 - inputs.NdotUP) * mainLightIrradianceComponent + (1.0 + inputs.NdotUP ) * ambientSky) * 0.5;
106
+ vec3 diffuseColor = inputs.albedoLinear * (1.0 - inputs.f0) * indirectDiffuse / PI;
110
107
 
111
- vec3 mainLightRadianceComponent = normalDistribution(inputs.NdotH, roughnessTerrain) * mainLightIntensity;
112
- vec2 dfg = prefilteredDFGAnalytical(roughnessTerrain, inputs.NdotV);
113
- vec3 specularColor = inputs.f0 * dfg.x + inputs.f90 * dfg.y;
114
- vec3 specularComponent = specularityTerrain * specularColor * mainLightRadianceComponent;
108
+ vec3 mainLightRadianceComponent = normalDistribution(inputs.NdotH, roughnessTerrain) * mainLightIntensity;
109
+ vec2 dfg = prefilteredDFGAnalytical(roughnessTerrain, inputs.NdotV);
110
+ vec3 specularColor = inputs.f0 * dfg.x + inputs.f90 * dfg.y;
111
+ vec3 specularComponent = terrainSpecularity * specularColor * mainLightRadianceComponent;
115
112
 
116
- vec3 outColorLinear = outDiffColor + specularComponent;
113
+ vec3 linearColor = diffuseColor + specularComponent;
117
114
 
118
- ${u(D,m`
119
- outColorLinear += evaluateGlobalIlluminationEmission(inputs.albedoLinear);`)}
115
+ ${u(D,"linearColor += evaluateGlobalIlluminationEmission(inputs.albedoLinear);")}
120
116
 
121
- return delinearizeGamma(outColorLinear);
122
- }
123
- `);break}}}export{b as EvaluateSceneLighting,f as addAmbientBoostFactor,v as addLightingGlobalFactor};
117
+ return delinearizeGamma(linearColor);
118
+ }
119
+ `);break;case 7:g.code.add(m`vec3 evaluateSceneLighting(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
120
+ vec3 viewDirection, vec3 upDirection) {
121
+ return albedo;
122
+ }`)}}export{b as EvaluateSceneLighting,f as addAmbientBoostFactor,v as addLightingGlobalFactor};
@@ -35,7 +35,7 @@ return worldToScreenPerDistanceRatio / segmentDistanceToCamera;
35
35
  }
36
36
  return vec2(startPseudoScreen, startPseudoScreen + segmentLengthPseudoScreen);
37
37
  }
38
- `),v.uniforms.add(new n("stipplePatternTexture",e=>e.stippleTexture),new a("stipplePatternPixelSizeInv",e=>1/S(e))),c.stippleOffColorEnabled&&v.uniforms.add(new r("stippleOffColor",e=>f(e.stippleOffColor))),d.include(t),c.worldSizedImagePattern?(d.varyings.add("vStippleV","float"),d.fragment.include(e),v.code.add(p`vec4 getStippleColor(out bool isClamped) {
38
+ `),v.uniforms.add(new n("stipplePatternTexture",e=>e.stippleTexture),new a("stipplePatternPixelSizeInv",e=>1/S(e))),c.stippleOffColorEnabled&&v.uniforms.add(new r("stippleOffColor",e=>f(e.stippleOffColor))),d.include(t);const h=c.worldSized&&c.imagePattern,C=!c.worldSized;h?(d.varyings.add("vStippleV","float"),d.fragment.include(e),v.code.add(p`vec4 getStippleColor(out bool isClamped) {
39
39
  vec2 aaCorrectedLimits = vStippleDistanceLimits + vec2(1.0, -1.0) / gl_FragCoord.w;
40
40
  isClamped = vStippleDistance < aaCorrectedLimits.x || vStippleDistance > aaCorrectedLimits.y;
41
41
  float u = vStippleDistance * stipplePatternPixelSizeInv;
@@ -61,13 +61,15 @@ float opacity = mixExternalOpacity(color.a, 1.0, stippleColor.a, mixMode);
61
61
  return vec4(col, opacity);
62
62
  }`)):v.code.add(p`
63
63
  float getStippleSDF(out bool isClamped) {
64
- float stippleDistanceClamped = noPerspectiveRead(clamp(vStippleDistance, vStippleDistanceLimits.x, vStippleDistanceLimits.y));
64
+ float stippleDistance = noPerspectiveRead(${C?"clamp(vStippleDistance, vStippleDistanceLimits.x, vStippleDistanceLimits.y)":"vStippleDistance"});
65
65
  float lineSizeInv = noPerspectiveRead(vLineSizeInv);
66
66
 
67
+ ${C?p`
67
68
  vec2 aaCorrectedLimits = vStippleDistanceLimits + vec2(1.0, -1.0) / gl_FragCoord.w;
68
69
  isClamped = vStippleDistance < aaCorrectedLimits.x || vStippleDistance > aaCorrectedLimits.y;
70
+ `:p`isClamped = false;`}
69
71
 
70
- float u = stippleDistanceClamped * stipplePatternPixelSizeInv * lineSizeInv;
72
+ float u = stippleDistance * stipplePatternPixelSizeInv * lineSizeInv;
71
73
  u = fract(u);
72
74
 
73
75
  float sdf = texture(stipplePatternTexture, vec2(u, 0.5)).r;
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{Float3BindUniform as i}from"../../shaderModules/Float3BindUniform.js";import{glsl as n}from"../../shaderModules/glsl.js";function t(n){n.uniforms.add(new i("mainLightDirection",i=>i.lighting.mainLight.direction))}function o(n){n.uniforms.add(new i("mainLightIntensity",i=>i.lighting.mainLight.intensity))}function a(i){t(i),o(i),i.code.add(n`vec3 applyShading(vec3 shadingNormal, float shadow) {
2
+ import{Float3BindUniform as i}from"../../shaderModules/Float3BindUniform.js";import{glsl as n}from"../../shaderModules/glsl.js";const t=new i("mainLightDirection",i=>i.lighting.mainLight.direction),o=new i("mainLightIntensity",i=>i.lighting.mainLight.intensity);function a(i){i.uniforms.add(t,o),i.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{t as addMainLightDirection,o as addMainLightIntensity,a as applyShading};
5
+ }`)}export{a as applyShading,t as mainLightDirection,o as mainLightIntensity};
@@ -1,18 +1,19 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{markerSizePerLineWidth as e}from"../../../../support/engineContent/marker.js";import{addPixelRatio as r}from"../util/View.glsl.js";import{FloatBindUniform as t}from"../../shaderModules/FloatBindUniform.js";import{If as o,glsl as a}from"../../shaderModules/glsl.js";function i(i,n){const d=i.vertex,l=n.hasScreenSizePerspective;r(d),null==d.uniforms.get("markerScale")&&d.constants.add("markerScale","float",1),d.constants.add("markerSizePerLineWidth","float",e).code.add(a`
3
- float getLineWidth(${o(l,"vec3 pos")}) {
4
- return max(getSize(${o(l,"pos")}), 1.0) * pixelRatio;
2
+ import{markerSizePerLineWidth as e}from"../../../../support/engineContent/marker.js";import{addPixelRatio as r}from"../util/View.glsl.js";import{FloatBindUniform as o}from"../../shaderModules/FloatBindUniform.js";import{If as t,glsl as a}from"../../shaderModules/glsl.js";function i(i,n){const d=i.vertex,l=n.hasScreenSizePerspective,s=n.worldSized;r(d),s&&d.uniforms.add(new o("worldToScreenRatio",e=>1/e.screenToPCSRatio)),null==d.uniforms.get("markerScale")&&d.constants.add("markerScale","float",1),d.constants.add("markerSizePerLineWidth","float",e).code.add(a`
3
+ float getLineWidth(${t(l,"vec3 pos")}) {
4
+ float size = max(getSize(${t(l,"pos")}), 1.0);
5
+ return ${t(s,"size * pixelRatio * worldToScreenRatio","size * pixelRatio")};
5
6
  }
6
7
 
7
8
  float getScreenMarkerSize(float lineWidth) {
8
9
  return markerScale * markerSizePerLineWidth * lineWidth;
9
10
  }
10
- `),2===n.space&&(d.constants.add("maxSegmentLengthFraction","float",.45),d.uniforms.add(new t("perRenderPixelRatio",e=>e.camera.perRenderPixelRatio)),d.code.add(a`
11
+ `),2===n.space&&(d.constants.add("maxSegmentLengthFraction","float",.45),d.uniforms.add(new o("perRenderPixelRatio",e=>e.camera.perRenderPixelRatio)),d.code.add(a`
11
12
  bool areWorldMarkersHidden(vec3 pos, vec3 other) {
12
13
  vec3 midPoint = mix(pos, other, 0.5);
13
14
  float distanceToCamera = length(midPoint);
14
15
  float screenToWorldRatio = perRenderPixelRatio * distanceToCamera * 0.5;
15
- float worldMarkerSize = getScreenMarkerSize(getLineWidth(${o(l,"pos")})) * screenToWorldRatio;
16
+ float worldMarkerSize = getScreenMarkerSize(getLineWidth(${t(l,"pos")})) * screenToWorldRatio;
16
17
  float segmentLen = length(pos - other);
17
18
  return worldMarkerSize > maxSegmentLengthFraction * segmentLen;
18
19
  }
@@ -20,6 +21,6 @@ import{markerSizePerLineWidth as e}from"../../../../support/engineContent/marker
20
21
  float getWorldMarkerSize(vec3 pos) {
21
22
  float distanceToCamera = length(pos);
22
23
  float screenToWorldRatio = perRenderPixelRatio * distanceToCamera * 0.5;
23
- return getScreenMarkerSize(getLineWidth(${o(l,"pos")})) * screenToWorldRatio;
24
+ return getScreenMarkerSize(getLineWidth(${t(l,"pos")})) * screenToWorldRatio;
24
25
  }
25
26
  `))}export{i as MarkerSizing};
@@ -1,10 +1,10 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{glsl as e}from"../../shaderModules/glsl.js";function r(r,{spherical:n}){r.vertex.code.add(n?"vec3 getLocalUp(in vec3 pos, in vec3 origin) { return normalize(pos + origin); }":"vec3 getLocalUp(in vec3 pos, in vec3 origin) { return vec3(0.0, 0.0, 1.0); }"),n?r.vertex.code.add(e`mat3 getTBNMatrix(in vec3 n) {
2
+ import{glsl as e}from"../../shaderModules/glsl.js";function n(n,{spherical:c}){n.code.add(c?"vec3 getLocalUp(in vec3 pos, in vec3 origin) { return normalize(pos + origin); }\n vec3 getLocalUp(in vec3 pos) { return normalize(pos); }":"vec3 getLocalUp(in vec3 pos, in vec3 origin) { return vec3(0.0, 0.0, 1.0); }\n vec3 getLocalUp(in vec3 pos) { return vec3(0.0, 0.0, 1.0); }"),c?n.code.add(e`mat3 getTBNMatrix(in vec3 n) {
3
3
  vec3 t = normalize(cross(vec3(0.0, 0.0, 1.0), n));
4
4
  vec3 b = normalize(cross(n, t));
5
5
  return mat3(t, b, n);
6
- }`):r.vertex.code.add(e`mat3 getTBNMatrix(in vec3 n) {
6
+ }`):n.code.add(e`mat3 getTBNMatrix(in vec3 n) {
7
7
  vec3 t = vec3(1.0, 0.0, 0.0);
8
8
  vec3 b = normalize(cross(n, t));
9
9
  return mat3(t, b, n);
10
- }`)}export{r as NormalUtils};
10
+ }`)}export{n as NormalUtils};
@@ -1,11 +1,6 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{glsl as a}from"../../shaderModules/glsl.js";function r(r,e){const m=r.fragment;switch(m.code.add(a`struct ShadingNormalParameters {
3
- vec3 normalView;
4
- vec3 viewDirection;
5
- } shadingParams;`),e.doubleSidedMode){case 0:m.code.add(a`vec3 shadingNormal(ShadingNormalParameters params) {
6
- return normalize(params.normalView);
7
- }`);break;case 1:m.code.add(a`vec3 shadingNormal(ShadingNormalParameters params) {
8
- return dot(params.normalView, params.viewDirection) > 0.0 ? normalize(-params.normalView) : normalize(params.normalView);
9
- }`);break;case 2:m.code.add(a`vec3 shadingNormal(ShadingNormalParameters params) {
10
- return gl_FrontFacing ? normalize(params.normalView) : normalize(-params.normalView);
11
- }`);break;default:e.doubleSidedMode;case 3:}}export{r as Normals};
2
+ import{glsl as e}from"../../shaderModules/glsl.js";function o(o,r){const i=o.fragment;switch(r.doubleSidedMode){case 0:i.code.add("vec3 shadingNormal(vec3 normalView, vec3 viewDirection) { return normalize(normalView); }");break;case 1:i.code.add(e`vec3 shadingNormal(vec3 normalView, vec3 viewDirection) {
3
+ return dot(normalView, viewDirection) > 0.0 ? normalize(-normalView) : normalize(normalView);
4
+ }`);break;case 2:i.code.add(e`vec3 shadingNormal(vec3 normalView, vec3 viewDirection) {
5
+ return gl_FrontFacing ? normalize(normalView) : normalize(-normalView);
6
+ }`);break;default:r.doubleSidedMode;case 3:}}export{o as Normals};
@@ -1,48 +1,17 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{AnalyticalSkyModel as e}from"./AnalyticalSkyModel.glsl.js";import{Gamma as o}from"./Gamma.glsl.js";import{PiUtils as t}from"./PiUtils.glsl.js";import{glsl as n}from"../../shaderModules/glsl.js";function a(a,i){a.include(o),a.include(t),1!==i.pbrMode&&2!==i.pbrMode&&5!==i.pbrMode&&6!==i.pbrMode||(a.code.add(n`float normalDistribution(float NdotH, float roughness)
2
+ import{AnalyticalSkyModel as e}from"./AnalyticalSkyModel.glsl.js";import{Gamma as o}from"./Gamma.glsl.js";import{pbrGlobals as t}from"./pbrGlobals.glsl.js";import{pbrShadingInfo as n}from"./pbrShadingInfo.glsl.js";import{PiUtils as r}from"./PiUtils.glsl.js";import{glsl as a}from"../../shaderModules/glsl.js";function i(i,l){i.include(o),i.include(r),i.include(n),i.include(t),1!==l.pbrMode&&2!==l.pbrMode&&5!==l.pbrMode&&6!==l.pbrMode||(i.code.add(a`float normalDistribution(float NdotH, float roughness)
3
3
  {
4
4
  float a = NdotH * roughness;
5
5
  float b = roughness / (1.0 - NdotH * NdotH + a * a);
6
6
  return b * b * INV_PI;
7
- }`),a.code.add(n`const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);
7
+ }`),i.code.add(a`const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);
8
8
  const vec4 c1 = vec4( 1.0, 0.0425, 1.040, -0.040);
9
9
  const vec2 c2 = vec2(-1.04, 1.04);
10
10
  vec2 prefilteredDFGAnalytical(float roughness, float NdotV) {
11
11
  vec4 r = roughness * c0 + c1;
12
12
  float a004 = min(r.x * r.x, exp2(-9.28 * NdotV)) * r.x + r.y;
13
13
  return c2 * a004 + r.zw;
14
- }`),a.code.add(n`struct PBRShadingInfo
15
- {
16
- float NdotV;
17
- float NdotL;
18
- float LdotH;
19
- float NdotUP;
20
- float RdotUP;
21
- float NdotAmbDir;
22
- float NdotH_Horizon;
23
- float NdotH;
24
- vec3 skyRadianceToSurface;
25
- vec3 groundRadianceToSurface;
26
- vec3 skyIrradianceToSurface;
27
- vec3 groundIrradianceToSurface;
28
- vec3 reflectedView;
29
- float averageAmbientRadiance;
30
- vec3 albedoLinear;
31
- vec3 f0;
32
- vec3 f90;
33
- vec3 diffuseColor;
34
- float metalness;
35
- float roughness;
36
- };`),a.code.add(n`void calculateCommonInputs(out PBRShadingInfo inputs, vec3 normal, vec3 viewDirection, vec3 upDirection, vec3 albedo) {
37
- vec3 h = normalize(mainLightDirection - viewDirection);
38
- inputs.NdotV = clamp(abs(dot(normal, -viewDirection)), 0.001, 1.0);
39
- inputs.NdotUP = clamp(dot(normal, upDirection), -1.0, 1.0);
40
- inputs.reflectedView = normalize(reflect(-viewDirection, normal));
41
- inputs.RdotUP = clamp(dot(inputs.reflectedView, upDirection), -1.0, 1.0);
42
- inputs.albedoLinear = linearizeGamma(albedo);
43
- inputs.NdotH = clamp(dot(normal, h), 0.0, 1.0);
44
- inputs.NdotL = clamp(dot(normal, mainLightDirection), 0.001, 1.0);
45
- }`)),1!==i.pbrMode&&2!==i.pbrMode||(a.include(e),a.code.add(n`vec3 evaluateEnvironmentIllumination(PBRShadingInfo inputs) {
14
+ }`)),1!==l.pbrMode&&2!==l.pbrMode||(i.include(e),i.code.add(a`vec3 evaluateEnvironmentIllumination(PBRShadingInfo inputs) {
46
15
  vec3 indirectDiffuse = evaluateDiffuseIlluminationHemisphere(inputs.groundIrradianceToSurface, inputs.skyIrradianceToSurface, inputs.NdotUP);
47
16
  vec3 indirectSpecular = evaluateSpecularIlluminationHemisphere(inputs.groundRadianceToSurface, inputs.skyRadianceToSurface, inputs.RdotUP, inputs.roughness);
48
17
  vec3 diffuseComponent = inputs.diffuseColor * indirectDiffuse * INV_PI;
@@ -50,20 +19,13 @@ vec2 dfg = prefilteredDFGAnalytical(inputs.roughness, inputs.NdotV);
50
19
  vec3 specularColor = inputs.f0 * dfg.x + inputs.f90 * dfg.y;
51
20
  vec3 specularComponent = specularColor * indirectSpecular;
52
21
  return (diffuseComponent + specularComponent);
53
- }`),a.code.add(n`void calculatePBRInputs(out PBRShadingInfo inputs, vec3 normal, vec3 viewDirection, vec3 upDirection, vec3 albedo, vec3 mrr) {
54
- calculateCommonInputs(inputs, normal, viewDirection, upDirection, albedo);
55
- inputs.metalness = mrr[0];
56
- inputs.roughness = clamp(mrr[1] * mrr[1], 0.001, 0.99);
57
- inputs.f0 = (0.16 * mrr[2] * mrr[2]) * (1.0 - inputs.metalness) + inputs.albedoLinear * inputs.metalness;
58
- inputs.f90 = vec3(clamp(dot(inputs.f0, vec3(50.0 * 0.33)), 0.0, 1.0));
59
- inputs.diffuseColor = inputs.albedoLinear * (vec3(1.0) - inputs.f0) * (1.0 - inputs.metalness);
60
- }`)),5!==i.pbrMode&&6!==i.pbrMode||a.code.add(n`const vec3 fresnelReflectionSimplified = vec3(0.04);
22
+ }`)),5!==l.pbrMode&&6!==l.pbrMode||i.code.add(a`const vec3 fresnelReflectionSimplified = vec3(0.04);
61
23
  void calculateSimplifiedInputs(out PBRShadingInfo inputs, vec3 normal, vec3 viewDirection, vec3 upDirection, vec3 albedo) {
62
24
  calculateCommonInputs(inputs, normal, viewDirection, upDirection, albedo);
63
25
  float lightness = 0.3 * inputs.albedoLinear[0] + 0.5 * inputs.albedoLinear[1] + 0.2 * inputs.albedoLinear[2];
64
26
  inputs.f0 = (0.85 * lightness + 0.15) * fresnelReflectionSimplified;
65
27
  inputs.f90 = vec3(clamp(dot(inputs.f0, vec3(50.0 * 0.33)), 0.0, 1.0));
66
- }`)}function i(e,o){e.include(t),e.code.add(n`
28
+ }`)}function l(e,o){e.include(r),e.code.add(a`
67
29
  struct PBRShadingWater {
68
30
  float NdotL; // cos angle between normal and light direction
69
31
  float NdotV; // cos angle between normal and view direction
@@ -74,16 +36,16 @@ inputs.f90 = vec3(clamp(dot(inputs.f0, vec3(50.0 * 0.33)), 0.0, 1.0));
74
36
  };
75
37
 
76
38
  float dtrExponent = ${o.useCustomDTRExponentForWater?"2.2":"2.0"};
77
- `),e.code.add(n`vec3 fresnelReflection(float angle, vec3 f0, float f90) {
39
+ `),e.code.add(a`vec3 fresnelReflection(float angle, vec3 f0, float f90) {
78
40
  return f0 + (f90 - f0) * pow(1.0 - angle, 5.0);
79
- }`),e.code.add(n`float normalDistributionWater(float NdotH, float roughness) {
41
+ }`),e.code.add(a`float normalDistributionWater(float NdotH, float roughness) {
80
42
  float r2 = roughness * roughness;
81
43
  float NdotH2 = NdotH * NdotH;
82
44
  float denom = pow((NdotH2 * (r2 - 1.0) + 1.0), dtrExponent) * PI;
83
45
  return r2 / denom;
84
- }`),e.code.add(n`float geometricOcclusionKelemen(float LoH) {
46
+ }`),e.code.add(a`float geometricOcclusionKelemen(float LoH) {
85
47
  return 0.25 / (LoH * LoH);
86
- }`),e.code.add(n`vec3 brdfSpecularWater(in PBRShadingWater props, float roughness, vec3 F0, float F0Max) {
48
+ }`),e.code.add(a`vec3 brdfSpecularWater(in PBRShadingWater props, float roughness, vec3 F0, float F0Max) {
87
49
  vec3 F = fresnelReflection(props.VdotH, F0, F0Max);
88
50
  float dSun = normalDistributionWater(props.NdotH, roughness);
89
51
  float V = geometricOcclusionKelemen(props.LdotH);
@@ -91,4 +53,4 @@ float diffusionSunHaze = mix(roughness + 0.045, roughness + 0.385, 1.0 - props.V
91
53
  float strengthSunHaze = 1.2;
92
54
  float dSunHaze = normalDistributionWater(props.NdotH, diffusionSunHaze) * strengthSunHaze;
93
55
  return ((dSun + dSunHaze) * V) * F;
94
- }`)}export{a as PhysicallyBasedRendering,i as PhysicallyBasedRenderingWater};
56
+ }`)}export{i as PhysicallyBasedRendering,l as PhysicallyBasedRenderingWater};
@@ -1,26 +1,20 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{VertexTextureCoordinates as e}from"../attributes/VertexTextureCoordinates.glsl.js";import{Float3DrawUniform as o}from"../../shaderModules/Float3DrawUniform.js";import{Float3PassUniform as s}from"../../shaderModules/Float3PassUniform.js";import{glsl as r,If as t}from"../../shaderModules/glsl.js";import{Texture2DDrawUniform as c}from"../../shaderModules/Texture2DDrawUniform.js";import{Texture2DPassUniform as a}from"../../shaderModules/Texture2DPassUniform.js";import{schematicMRRFactors as l}from"../../../materials/pbrUtils.js";import{NoParameters as u}from"../../../../../webgl/NoParameters.js";class i extends u{constructor(e,o){super(),this.textureOcclusion=e,this.textureMetallicRoughness=o,this.mrrFactors=l}}function n(l,u){const i=u.pbrMode,n=l.fragment;switch(i){case 5:case 3:case 4:case 6:return void n.code.add(r`void applyPBRFactors() {}`);case 0:case 7:return void n.code.add(r`void applyPBRFactors() {}
3
- float getBakedOcclusion() { return 1.0; }`);case 2:return void n.code.add(r`vec3 mrr = vec3(0.0, 0.6, 0.2);
4
- float occlusion = 1.0;
2
+ import{VertexTextureCoordinates as e}from"../attributes/VertexTextureCoordinates.glsl.js";import{pbrGlobals as o}from"./pbrGlobals.glsl.js";import{Float3DrawUniform as s}from"../../shaderModules/Float3DrawUniform.js";import{Float3PassUniform as r}from"../../shaderModules/Float3PassUniform.js";import{glsl as t,If as c}from"../../shaderModules/glsl.js";import{Texture2DDrawUniform as a}from"../../shaderModules/Texture2DDrawUniform.js";import{Texture2DPassUniform as l}from"../../shaderModules/Texture2DPassUniform.js";import{schematicMRRFactors as u}from"../../../materials/pbrUtils.js";import{NoParameters as i}from"../../../../../webgl/NoParameters.js";class n extends i{constructor(e,o){super(),this.textureOcclusion=e,this.textureMetallicRoughness=o,this.mrrFactors=u}}function d(u,i){const n=i.pbrMode,d=u.fragment;switch(n){case 5:case 3:case 4:case 6:return void d.code.add(t`void applyPBRFactors() {}`);case 0:case 7:return void d.code.add(t`void applyPBRFactors() {}
3
+ float getBakedOcclusion() { return 1.0; }`);case 2:return void d.code.add(t`float occlusion = 1.0;
5
4
  void applyPBRFactors() {}
6
- float getBakedOcclusion() { return 1.0; }`);case 1:{const{hasMetallicRoughnessTexture:i,hasMetallicRoughnessTextureTransform:d,hasOcclusionTexture:m,hasOcclusionTextureTransform:p,bindType:h}=u;(i||m)&&l.include(e,u),n.code.add(r`vec3 mrr;
7
- float occlusion;`),i&&n.uniforms.add(1===h?new a("texMetallicRoughness",e=>e.textureMetallicRoughness):new c("texMetallicRoughness",e=>e.textureMetallicRoughness)),m&&n.uniforms.add(1===h?new a("texOcclusion",e=>e.textureOcclusion):new c("texOcclusion",e=>e.textureOcclusion)),n.uniforms.add(1===h?new s("mrrFactors",e=>e.mrrFactors):new o("mrrFactors",e=>e.mrrFactors)),n.code.add(r`
8
- ${t(i,r`void applyMetallicRoughness(vec2 uv) {
9
- vec3 metallicRoughness = textureLookup(texMetallicRoughness, uv).rgb;
10
- mrr[0] *= metallicRoughness.b;
11
- mrr[1] *= metallicRoughness.g;
12
- }`)}
5
+ float getBakedOcclusion() { return 1.0; }`);case 1:{const{hasMetallicRoughnessTexture:n,hasMetallicRoughnessTextureTransform:m,hasOcclusionTexture:p,hasOcclusionTextureTransform:h,bindType:f}=i;(n||p)&&u.include(e,i),d.code.add("float occlusion;"),n&&d.uniforms.add(1===f?new l("texMetallicRoughness",e=>e.textureMetallicRoughness):new a("texMetallicRoughness",e=>e.textureMetallicRoughness)),p&&d.uniforms.add(1===f?new l("texOcclusion",e=>e.textureOcclusion):new a("texOcclusion",e=>e.textureOcclusion)),d.uniforms.add(1===f?new r("mrrFactors",e=>e.mrrFactors):new s("mrrFactors",e=>e.mrrFactors)),d.include(o),n&&d.code.add(t`void applyMetallicRoughness(vec2 uv) {
6
+ vec3 metallicRoughness = textureLookup(texMetallicRoughness, uv).rgb;
7
+ mrr[0] *= metallicRoughness.b;
8
+ mrr[1] *= metallicRoughness.g;
9
+ }`),p&&d.code.add("void applyOcclusion(vec2 uv) { occlusion *= textureLookup(texOcclusion, uv).r; }"),d.code.add(t`
10
+ float getBakedOcclusion() {
11
+ return ${p?"occlusion":"1.0"};
12
+ }
13
13
 
14
- ${t(m,"void applyOcclusion(vec2 uv) { occlusion *= textureLookup(texOcclusion, uv).r; }")}
14
+ void applyPBRFactors() {
15
+ mrr = mrrFactors;
16
+ occlusion = 1.0;
15
17
 
16
- float getBakedOcclusion() {
17
- return ${m?"occlusion":"1.0"};
18
- }
19
-
20
- void applyPBRFactors() {
21
- mrr = mrrFactors;
22
- occlusion = 1.0;
23
-
24
- ${t(i,`applyMetallicRoughness(${d?"metallicRoughnessUV":"vuv0"});`)}
25
- ${t(m,`applyOcclusion(${p?"occlusionUV":"vuv0"});`)}
26
- }`)}}}export{i as PBRRenderingParameters,n as PhysicallyBasedRenderingParameters};
18
+ ${c(n,`applyMetallicRoughness(${m?"metallicRoughnessUV":"vuv0"});`)}
19
+ ${c(p,`applyOcclusion(${h?"occlusionUV":"vuv0"});`)}
20
+ }`)}}}export{n as PBRRenderingParameters,d as PhysicallyBasedRenderingParameters};
@@ -1,18 +1,18 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{create as a}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ForwardLinearDepthToReadShadowMap as o}from"../ForwardLinearDepthToReadShadowMap.glsl.js";import{calculateUVZShadowPass as e,calculateUVZShadowDraw as t,ReadShadowMapOrigin as r}from"./calculateUVZShadow.glsl.js";import{ShadowmapFiltering as d}from"./ShadowmapFiltering.glsl.js";import{FloatBindUniform as i}from"../../shaderModules/FloatBindUniform.js";import{If as n,glsl as s}from"../../shaderModules/glsl.js";import{Texture2DBindUniform as l}from"../../shaderModules/Texture2DBindUniform.js";import{Texture2DShadowBindUniform as h}from"../../shaderModules/Texture2DShadowBindUniform.js";import{NoParameters as c}from"../../../../../webgl/NoParameters.js";class u extends r{}class w extends c{constructor(){super(...arguments),this.origin=a()}}function f(a,o){o.receiveShadows&&a.fragment.include(e),g(a,o)}function m(a,o){o.receiveShadows&&a.fragment.include(t),g(a,o)}function g(a,e){a.fragment.uniforms.add(new i("lightingGlobalFactor",a=>a.lighting.globalFactor));const{hasShadowHighlights:t,receiveShadows:r,spherical:d}=e;a.include(o,e),r&&p(a.fragment,t),a.fragment.code.add(s`
2
+ import{__decorate as o}from"tslib";import{ForwardLinearDepthConfiguration as a}from"../ForwardLinearDepth.glsl.js";import{ForwardLinearDepthToReadShadowMap as e}from"../ForwardLinearDepthToReadShadowMap.glsl.js";import{calculateUVZShadowPass as t,calculateUVZShadowDraw as d,ReadShadowMapOrigin as r}from"./calculateUVZShadow.glsl.js";import{ShadowmapFiltering as i}from"./ShadowmapFiltering.glsl.js";import{FloatBindUniform as s}from"../../shaderModules/FloatBindUniform.js";import{If as h,glsl as n}from"../../shaderModules/glsl.js";import{Texture2DBindUniform as l}from"../../shaderModules/Texture2DBindUniform.js";import{Texture2DShadowBindUniform as c}from"../../shaderModules/Texture2DShadowBindUniform.js";import{parameter as u}from"../../shaderTechnique/ShaderTechniqueConfiguration.js";class w extends r{}class g extends r{}class f extends a{constructor(){super(...arguments),this.hasShadowHighlights=!1}}function m(o,a){a.receiveShadows&&o.fragment.include(t),S(o,a)}function p(o,a){a.receiveShadows&&o.fragment.include(d),S(o,a)}function S(o,a){o.include(e,a);const{hasShadowHighlights:t,receiveShadows:d,spherical:r}=a;d&&v(o.fragment,t),o.fragment.uniforms.add(new s("lightingGlobalFactor",({lighting:o})=>o.globalFactor)).code.add(n`
3
3
  float readShadow(float additionalAmbientScale, vec3 vpos) {
4
- return ${r?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), readShadowMap(vpos, linearDepth))":n(d,"lightingGlobalFactor * (1.0 - additionalAmbientScale)","0.0")};
4
+ return ${d?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), readShadowMap(vpos, linearDepth))":h(r,"lightingGlobalFactor * (1.0 - additionalAmbientScale)","0.0")};
5
5
  }
6
- `)}function p(a,o){v(a,o),S(a)}function S(a){a.code.add(s`float readShadowMap(const in vec3 _worldPos, float _linearDepth) {
6
+ `)}function v(o,a){x(o,a),M(o)}function M(o){o.code.add(n`float readShadowMap(const in vec3 _worldPos, float _linearDepth) {
7
7
  vec3 uvzShadow = calculateUVZShadow(_worldPos, _linearDepth, textureSize(shadowMap, 0));
8
8
  return readShadowMaps(uvzShadow);
9
- }`)}function v(a,o){a.include(d),a.uniforms.add(M()),o&&a.uniforms.add(new l("shadowHighlight",({shadowHighlight:a})=>a?.getTexture())),a.code.add(s`
9
+ }`)}function x(o,a){o.include(i),o.uniforms.add(F()),a&&o.uniforms.add(new l("shadowHighlight",({shadowHighlight:o})=>o?.getTexture())),o.code.add(n`
10
10
  float readShadowMaps(const in vec3 uvzShadow) {
11
11
  if (uvzShadow.z < 0.0) {
12
12
  return 0.0;
13
13
  }
14
14
 
15
15
  float shadow1 = readShadowMapUVZ(uvzShadow, shadowMap);
16
- ${n(o,"float shadow2 = texelFetch(shadowHighlight, ivec2(gl_FragCoord.xy), 0).r;\n return shadow1 > shadow2 ? shadow1 : shadow2;","return shadow1;")}
16
+ ${h(a,"float shadow2 = texelFetch(shadowHighlight, ivec2(gl_FragCoord.xy), 0).r;\n return shadow1 > shadow2 ? shadow1 : shadow2;","return shadow1;")}
17
17
  }
18
- `)}function M(){return new h("shadowMap",({shadowMap:a})=>a.getOutput(5)??a.getOutput(7))}export{m as ReadShadowMapDrawFragment,u as ReadShadowMapDrawParameters,f as ReadShadowMapPassFragment,w as ReadShadowMapPassParameters,v as readShadowMapsFragment};
18
+ `)}function F(){return new c("shadowMap",({shadowMap:o})=>o.getOutput(5)??o.getOutput(7))}o([u()],f.prototype,"hasShadowHighlights",void 0);export{f as ReadShadowMapConfiguration,p as ReadShadowMapDrawFragment,w as ReadShadowMapDrawParameters,m as ReadShadowMapPassFragment,g as ReadShadowMapPassParameters,x as readShadowMapsFragment};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{create as a}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{Float4BindUniform as e}from"../../shaderModules/Float4BindUniform.js";import{glsl as o}from"../../shaderModules/glsl.js";import{IntegerBindUniform as s}from"../../shaderModules/IntegerBindUniform.js";import{Matrix4sDrawUniform as i}from"../../shaderModules/Matrix4sDrawUniform.js";import{Matrix4sPassUniform as t}from"../../shaderModules/Matrix4sPassUniform.js";import{NoParameters as r}from"../../../../../webgl/NoParameters.js";class d extends r{constructor(){super(...arguments),this.origin=a()}}function c(a){a.uniforms.add(new t("shadowMapMatrix",(a,e)=>e.shadowMap.getShadowMapMatrices(a.origin),4)),a.include(l)}function n(a){a.uniforms.add(new i("shadowMapMatrix",(a,e)=>e.shadowMap.getShadowMapMatrices(a.origin),4)),a.include(l)}function l(a){a.uniforms.add(new e("cascadeDistances",a=>a.shadowMap.cascadeDistances),new s("numCascades",a=>a.shadowMap.numCascades)),a.code.add(p)}const p=o`const vec3 invalidShadowmapUVZ = vec3(0.0, 0.0, -1.0);
2
+ import{create as a}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{Float4BindUniform as e}from"../../shaderModules/Float4BindUniform.js";import{glsl as o}from"../../shaderModules/glsl.js";import{IntegerBindUniform as s}from"../../shaderModules/IntegerBindUniform.js";import{Matrix4sDrawUniform as i}from"../../shaderModules/Matrix4sDrawUniform.js";import{Matrix4sPassUniform as r}from"../../shaderModules/Matrix4sPassUniform.js";import{NoParameters as t}from"../../../../../webgl/NoParameters.js";class d extends t{constructor(){super(...arguments),this.origin=a()}}function c(a){a.uniforms.add(new r("shadowMapMatrix",({origin:a},e)=>e.shadowMap.getShadowMapMatrices(a),4)),a.include(l)}function n(a){a.uniforms.add(new i("shadowMapMatrix",({origin:a},e)=>e.shadowMap.getShadowMapMatrices(a),4)),a.include(l)}function l(a){a.uniforms.add(new e("cascadeDistances",a=>a.shadowMap.cascadeDistances),new s("numCascades",a=>a.shadowMap.numCascades)).code.add(o`const vec3 invalidShadowmapUVZ = vec3(0.0, 0.0, -1.0);
3
3
  vec3 lightSpacePosition(vec3 _vpos, mat4 mat) {
4
4
  vec4 lv = mat * vec4(_vpos, 1.0);
5
5
  lv.xy /= lv.w;
@@ -10,7 +10,9 @@ float xScale = float(textureSize.y) / float(textureSize.x);
10
10
  return vec2((float(i) + lvpos.x) * xScale, lvpos.y);
11
11
  }
12
12
  vec3 calculateUVZShadow(in vec3 _worldPos, in float _linearDepth, in ivec2 shadowMapSize) {
13
- int i = _linearDepth < cascadeDistances[1] ? 0 : _linearDepth < cascadeDistances[2] ? 1 : _linearDepth < cascadeDistances[3] ? 2 : 3;
13
+ int i = _linearDepth < cascadeDistances[1] ? 0 :
14
+ _linearDepth < cascadeDistances[2] ? 1 :
15
+ _linearDepth < cascadeDistances[3] ? 2 : 3;
14
16
  if (i >= numCascades) {
15
17
  return invalidShadowmapUVZ;
16
18
  }
@@ -21,4 +23,4 @@ return invalidShadowmapUVZ;
21
23
  }
22
24
  vec2 uvShadow = cascadeCoordinates(i, shadowMapSize, lvpos);
23
25
  return vec3(uvShadow, lvpos.z);
24
- }`;export{d as ReadShadowMapOrigin,n as calculateUVZShadowDraw,c as calculateUVZShadowPass};
26
+ }`)}export{d as ReadShadowMapOrigin,n as calculateUVZShadowDraw,c as calculateUVZShadowPass};
@@ -0,0 +1,19 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{Gamma as i}from"./Gamma.glsl.js";import{mainLightDirection as e}from"./MainLighting.glsl.js";import{pbrShadingInfo as n}from"./pbrShadingInfo.glsl.js";import{glsl as t}from"../../shaderModules/glsl.js";function o(o){o.include(n),o.include(i),o.uniforms.add(e).code.add(t`void calculateCommonInputs(out PBRShadingInfo inputs, vec3 normal, vec3 viewDirection, vec3 upDirection, vec3 albedo) {
3
+ vec3 h = normalize(mainLightDirection - viewDirection);
4
+ inputs.NdotV = clamp(abs(dot(normal, -viewDirection)), 0.001, 1.0);
5
+ inputs.NdotUP = clamp(dot(normal, upDirection), -1.0, 1.0);
6
+ inputs.reflectedView = normalize(reflect(-viewDirection, normal));
7
+ inputs.RdotUP = clamp(dot(inputs.reflectedView, upDirection), -1.0, 1.0);
8
+ inputs.albedoLinear = linearizeGamma(albedo);
9
+ inputs.NdotH = clamp(dot(normal, h), 0.0, 1.0);
10
+ inputs.NdotL = clamp(dot(normal, mainLightDirection), 0.001, 1.0);
11
+ }`),o.code.add(t`vec3 mrr = vec3(0.0, 0.6, 0.2);
12
+ void calculatePBRInputs(out PBRShadingInfo inputs, vec3 normal, vec3 viewDirection, vec3 upDirection, vec3 albedo) {
13
+ calculateCommonInputs(inputs, normal, viewDirection, upDirection, albedo);
14
+ inputs.metalness = mrr[0];
15
+ inputs.roughness = clamp(mrr[1] * mrr[1], 0.001, 0.99);
16
+ inputs.f0 = (0.16 * mrr[2] * mrr[2]) * (1.0 - inputs.metalness) + inputs.albedoLinear * inputs.metalness;
17
+ inputs.f90 = vec3(clamp(dot(inputs.f0, vec3(50.0 * 0.33)), 0.0, 1.0));
18
+ inputs.diffuseColor = inputs.albedoLinear * (vec3(1.0) - inputs.f0) * (1.0 - inputs.metalness);
19
+ }`)}export{o as pbrGlobals};
@@ -0,0 +1,24 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{glsl as o}from"../../shaderModules/glsl.js";function e(e){e.code.add(o`struct PBRShadingInfo
3
+ {
4
+ float NdotV;
5
+ float NdotL;
6
+ float LdotH;
7
+ float NdotUP;
8
+ float RdotUP;
9
+ float NdotAmbDir;
10
+ float NdotH_Horizon;
11
+ float NdotH;
12
+ vec3 skyRadianceToSurface;
13
+ vec3 groundRadianceToSurface;
14
+ vec3 skyIrradianceToSurface;
15
+ vec3 groundIrradianceToSurface;
16
+ vec3 reflectedView;
17
+ float averageAmbientRadiance;
18
+ vec3 albedoLinear;
19
+ vec3 f0;
20
+ vec3 f90;
21
+ vec3 diffuseColor;
22
+ float metalness;
23
+ float roughness;
24
+ };`)}export{e as pbrShadingInfo};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{create as e}from"../../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{hasArea as o,width as r,height as t}from"../../../../../../geometry/support/aaBoundingRect.js";import{isColor as l}from"../ShaderOutput.js";import{addMainLightDirection as i,addMainLightIntensity as a}from"../shading/MainLighting.glsl.js";import{WaterColor as c}from"../shading/WaterColor.glsl.js";import{BlendColorsPremultiplied as n}from"../util/BlendColorsPremultiplied.glsl.js";import{Float4DrawUniform as s}from"../../shaderModules/Float4DrawUniform.js";import{FloatPassUniform as v}from"../../shaderModules/FloatPassUniform.js";import{glsl as d}from"../../shaderModules/glsl.js";import{Texture2DPassUniform as u}from"../../shaderModules/Texture2DPassUniform.js";import{Texture2DUintPassUniform as x}from"../../shaderModules/Texture2DUintPassUniform.js";import{Uniform as m}from"../../../../../webgl/Uniform.js";function p(e,o){const{vertex:r,fragment:t}=e;r.uniforms.add(new s("overlayTexOffset",(e,r)=>T(o.spherical,e,r)),new s("overlayTexScale",(e,r)=>V(o.spherical,e,r))),t.uniforms.add(new s("overlayTexOffset",(e,r)=>T(o.spherical,e,r)),new s("overlayTexScale",(e,r)=>V(o.spherical,e,r))),t.constants.add("overlayOpacity","float",1),t.uniforms.add(new u("ovColorTex",(e,o)=>y(e,o))),O(e,o)}function y(e,o){const r=f(e,o);return null!=r?o.overlay?.getTexture(r):null}function f(e,o){return 0===e.identifier?l(o.output)?!e.occludedGround||o.overlay?.allSourcesOccluders?1:4:3===o.output||4===o.output?1:11===o.output?5:null:2===e.identifier?2:null}function C(e,o){const{vertex:r,fragment:t}=e;r.uniforms.add(new w("overlayTexOffset"),new w("overlayTexScale")),t.uniforms.add(new v("overlayOpacity",e=>e.overlayOpacity)),10!==o.output&&t.uniforms.add(new u("ovColorTex",(e,o)=>o.overlay?.getTexture(e.overlayContent))),O(e,o)}function g(e,o){switch(e){case 0:case 1:case 2:return 9!==o.slot||o.overlay?.allSourcesOccluders?0:4;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 O(e,o){const{hasWater:r,output:t}=o;r&&e.include(c,o);const{vertex:l,fragment:s,varyings:v}=e;v.add("vtcOverlay","vec4");const u=10===t;l.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 o,width as r,height as t}from"../../../../../../geometry/support/aaBoundingRect.js";import{isColor as l}from"../ShaderOutput.js";import{mainLightDirection as i,mainLightIntensity as a}from"../shading/MainLighting.glsl.js";import{WaterColor as c}from"../shading/WaterColor.glsl.js";import{BlendColorsPremultiplied as n}from"../util/BlendColorsPremultiplied.glsl.js";import{Float4DrawUniform as s}from"../../shaderModules/Float4DrawUniform.js";import{FloatPassUniform as v}from"../../shaderModules/FloatPassUniform.js";import{glsl as d}from"../../shaderModules/glsl.js";import{Texture2DPassUniform as u}from"../../shaderModules/Texture2DPassUniform.js";import{Texture2DUintPassUniform as x}from"../../shaderModules/Texture2DUintPassUniform.js";import{Uniform as m}from"../../../../../webgl/Uniform.js";function p(e,o){const{vertex:r,fragment:t}=e;r.uniforms.add(new s("overlayTexOffset",(e,r)=>T(o.spherical,e,r)),new s("overlayTexScale",(e,r)=>V(o.spherical,e,r))),t.uniforms.add(new s("overlayTexOffset",(e,r)=>T(o.spherical,e,r)),new s("overlayTexScale",(e,r)=>V(o.spherical,e,r))),t.constants.add("overlayOpacity","float",1),t.uniforms.add(new u("ovColorTex",(e,o)=>y(e,o))),O(e,o)}function y(e,o){const r=f(e,o);return null!=r?o.overlay?.getTexture(r):null}function f(e,o){return 0===e.identifier?l(o.output)?!e.occludedGround||o.overlay?.allSourcesOccluders?1:4:3===o.output||4===o.output?1:11===o.output?5:null:2===e.identifier?2:null}function C(e,o){const{vertex:r,fragment:t}=e;r.uniforms.add(new w("overlayTexOffset"),new w("overlayTexScale")),t.uniforms.add(new v("overlayOpacity",e=>e.overlayOpacity)),10!==o.output&&t.uniforms.add(new u("ovColorTex",(e,o)=>o.overlay?.getTexture(e.overlayContent))),O(e,o)}function g(e,o){switch(e){case 0:case 1:case 2:return 9!==o.slot||o.overlay?.allSourcesOccluders?0:4;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 O(e,o){const{hasWater:r,output:t}=o;r&&e.include(c,o);const{vertex:l,fragment:s,varyings:v}=e;v.add("vtcOverlay","vec4");const u=10===t;l.code.add(d`void setOverlayVTC(in vec2 uv) {
3
3
  vtcOverlay = vec4(uv, uv) * overlayTexScale + overlayTexOffset;
4
4
  }`),s.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);
@@ -51,10 +51,10 @@ return mix(color1 * float(isValid1), color0, float(isValid0));
51
51
  }
52
52
  vec4 getOverlayColorTexel() {
53
53
  return getOverlayColorTexel(vtcOverlay);
54
- }`)),r&&(i(s),a(s),s.code.add(d`vec4 getOverlayWaterColor(vec4 maskInput, vec4 colorInput, vec3 vposEyeDir,
54
+ }`)),r&&s.uniforms.add(i,a).code.add(d`vec4 getOverlayWaterColor(vec4 maskInput, vec4 colorInput, vec3 vposEyeDir,
55
55
  float shadow, vec3 localUp, mat3 tbn, vec3 position, vec3 positionWorld) {
56
56
  vec3 n = normalize(tbn * (2.0 * maskInput.rgb - vec3(1.0)));
57
57
  vec3 v = vposEyeDir;
58
58
  vec3 final = getWaterColor(n, v, mainLightDirection, colorInput.rgb, mainLightIntensity, localUp, 1.0 - shadow, maskInput.w, position, positionWorld);
59
59
  return vec4(final, colorInput.w);
60
- }`))}function h(e,o){return e.overlay?.overlays[o]?.extent}function T(e,l,i){const a=b,c=e&&!l.useENUForGlobalOverlayUV,n=c?0:l.toMapSpace[0],s=c?0:l.toMapSpace[1],v=(e,l)=>{const c=h(i,l);o(c)&&(a[e+0]=(n-c[0])/r(c),a[e+1]=(s-c[1])/t(c))};return v(0,0),v(2,1),a}function V(e,l,i){const a=b,c=e&&!l.useENUForGlobalOverlayUV,n=c?1:l.toMapSpace[2],s=c?1:l.toMapSpace[3],v=(e,l)=>{const c=h(i,l);o(c)&&(a[e+0]=n/r(c),a[e+1]=s/t(c))};return v(0,0),v(2,1),a}const b=e();class w extends m{constructor(e){super(e,"vec4")}}export{p as OverlayIM,C as OverlayTerrain,y as getIMColorTexture,g as getOverlayContentForOutputTerrain};
60
+ }`)}function h(e,o){return e.overlay?.overlays[o]?.extent}function T(e,l,i){const a=b,c=e&&!l.useENUForGlobalOverlayUV,n=c?0:l.toMapSpace[0],s=c?0:l.toMapSpace[1],v=(e,l)=>{const c=h(i,l);o(c)&&(a[e+0]=(n-c[0])/r(c),a[e+1]=(s-c[1])/t(c))};return v(0,0),v(2,1),a}function V(e,l,i){const a=b,c=e&&!l.useENUForGlobalOverlayUV,n=c?1:l.toMapSpace[2],s=c?1:l.toMapSpace[3],v=(e,l)=>{const c=h(i,l);o(c)&&(a[e+0]=n/r(c),a[e+1]=s/t(c))};return v(0,0),v(2,1),a}const b=e();class w extends m{constructor(e){super(e,"vec4")}}export{p as OverlayIM,C as OverlayTerrain,y as getIMColorTexture,g as getOverlayContentForOutputTerrain};