@arcgis/core 4.33.0-next.20250416 → 4.33.0-next.20250418

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 (352) hide show
  1. package/analysis/Analysis.js +1 -1
  2. package/analysis/AreaMeasurementAnalysis.js +1 -1
  3. package/analysis/DimensionAnalysis.js +1 -1
  4. package/analysis/DirectLineMeasurementAnalysis.js +1 -1
  5. package/analysis/LengthDimension.js +1 -1
  6. package/analysis/LineOfSightAnalysis.js +1 -1
  7. package/analysis/SliceAnalysis.js +1 -1
  8. package/analysis/Viewshed.js +1 -1
  9. package/analysis/ViewshedAnalysis.js +1 -1
  10. package/assets/components/assets/icon/browserJoin16.json +1 -0
  11. package/assets/components/assets/icon/browserJoin24.json +1 -0
  12. package/assets/components/assets/icon/browserJoin32.json +1 -0
  13. package/assets/components/assets/icon/browserPlus16.json +1 -0
  14. package/assets/components/assets/icon/browserPlus24.json +1 -0
  15. package/assets/components/assets/icon/browserPlus32.json +1 -0
  16. package/assets/components/assets/icon/check16.json +1 -1
  17. package/assets/components/assets/icon/check24.json +1 -1
  18. package/assets/components/assets/icon/check32.json +1 -1
  19. package/assets/components/assets/icon/classroomGis16.json +1 -0
  20. package/assets/components/assets/icon/classroomGis24.json +1 -0
  21. package/assets/components/assets/icon/classroomGis32.json +1 -0
  22. package/assets/components/assets/icon/documentLearning16.json +1 -0
  23. package/assets/components/assets/icon/documentLearning24.json +1 -0
  24. package/assets/components/assets/icon/documentLearning32.json +1 -0
  25. package/assets/components/assets/icon/doubleFloatSet16.json +1 -0
  26. package/assets/components/assets/icon/doubleFloatSet24.json +1 -0
  27. package/assets/components/assets/icon/doubleFloatSet32.json +1 -0
  28. package/assets/components/assets/icon/eLearningGis16.json +1 -0
  29. package/assets/components/assets/icon/eLearningGis24.json +1 -0
  30. package/assets/components/assets/icon/eLearningGis32.json +1 -0
  31. package/assets/components/assets/icon/language216.json +1 -0
  32. package/assets/components/assets/icon/language224.json +1 -0
  33. package/assets/components/assets/icon/language232.json +1 -0
  34. package/assets/components/assets/icon/layerSet16.json +1 -0
  35. package/assets/components/assets/icon/layerSet24.json +1 -0
  36. package/assets/components/assets/icon/layerSet32.json +1 -0
  37. package/assets/components/assets/icon/learningGisWorkflow16.json +1 -0
  38. package/assets/components/assets/icon/learningGisWorkflow24.json +1 -0
  39. package/assets/components/assets/icon/learningGisWorkflow32.json +1 -0
  40. package/assets/components/assets/icon/learningSteps16.json +1 -0
  41. package/assets/components/assets/icon/learningSteps24.json +1 -0
  42. package/assets/components/assets/icon/learningSteps32.json +1 -0
  43. package/assets/components/assets/icon/learningWebCourse16.json +1 -0
  44. package/assets/components/assets/icon/learningWebCourse24.json +1 -0
  45. package/assets/components/assets/icon/learningWebCourse32.json +1 -0
  46. package/assets/components/assets/icon/mapInformation16.json +1 -0
  47. package/assets/components/assets/icon/mapInformation24.json +1 -0
  48. package/assets/components/assets/icon/mapInformation32.json +1 -0
  49. package/assets/components/assets/icon/mooc16.json +1 -0
  50. package/assets/components/assets/icon/mooc24.json +1 -0
  51. package/assets/components/assets/icon/mooc32.json +1 -0
  52. package/assets/components/assets/icon/multipleVariablesSet16.json +1 -0
  53. package/assets/components/assets/icon/multipleVariablesSet24.json +1 -0
  54. package/assets/components/assets/icon/multipleVariablesSet32.json +1 -0
  55. package/assets/components/assets/icon/parameters16.json +1 -0
  56. package/assets/components/assets/icon/parameters24.json +1 -0
  57. package/assets/components/assets/icon/parameters32.json +1 -0
  58. package/assets/components/assets/icon/parametersGear16.json +1 -0
  59. package/assets/components/assets/icon/parametersGear24.json +1 -0
  60. package/assets/components/assets/icon/parametersGear32.json +1 -0
  61. package/assets/components/assets/icon/parametersPlus16.json +1 -0
  62. package/assets/components/assets/icon/parametersPlus24.json +1 -0
  63. package/assets/components/assets/icon/parametersPlus32.json +1 -0
  64. package/assets/components/assets/icon/storymapExperience16.json +1 -0
  65. package/assets/components/assets/icon/storymapExperience24.json +1 -0
  66. package/assets/components/assets/icon/storymapExperience32.json +1 -0
  67. package/assets/components/assets/icon/stringSet16.json +1 -0
  68. package/assets/components/assets/icon/stringSet24.json +1 -0
  69. package/assets/components/assets/icon/stringSet32.json +1 -0
  70. package/assets/components/assets/icon/tableSet16.json +1 -0
  71. package/assets/components/assets/icon/tableSet24.json +1 -0
  72. package/assets/components/assets/icon/tableSet32.json +1 -0
  73. package/assets/components/assets/icon/variablePlus16.json +1 -0
  74. package/assets/components/assets/icon/variablePlus24.json +1 -0
  75. package/assets/components/assets/icon/variablePlus32.json +1 -0
  76. package/assets/components/assets/icon/videoLearning16.json +1 -0
  77. package/assets/components/assets/icon/videoLearning24.json +1 -0
  78. package/assets/components/assets/icon/videoLearning32.json +1 -0
  79. package/assets/esri/core/workers/RemoteClient.js +1 -1
  80. package/assets/esri/core/workers/chunks/02176f84d6d57f1bc1c8.js +2 -0
  81. package/assets/esri/core/workers/chunks/{75e01c6404cbd51daabc.js.LICENSE.txt → 02176f84d6d57f1bc1c8.js.LICENSE.txt} +1 -1
  82. package/assets/esri/core/workers/chunks/05cba30c0d3855de7a65.js +1 -0
  83. package/assets/esri/core/workers/chunks/{7ef9bcd58af499a14a08.js → 089a19381b66cd074425.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{984c5047ab1fa632ca09.js → 0a7cba60a5286ba621d4.js} +1 -1
  85. package/assets/esri/core/workers/chunks/0be7a0f4c4f4f91d1957.js +1 -0
  86. package/assets/esri/core/workers/chunks/0c6f2808c57ff820bfdd.js +2 -0
  87. package/assets/esri/core/workers/chunks/{baed733a29aa65efc2a0.js.LICENSE.txt → 0c6f2808c57ff820bfdd.js.LICENSE.txt} +7 -1
  88. package/assets/esri/core/workers/chunks/103c78c8bfdb56227bc0.js +1 -0
  89. package/assets/esri/core/workers/chunks/184d7c8ea818bec5c462.js +1 -0
  90. package/assets/esri/core/workers/chunks/{4523ba4a3c8987abca56.js → 1c75f7e4d2e9c8e377e7.js} +1 -1
  91. package/assets/esri/core/workers/chunks/1e1c3243ac82c969bb1f.js +1 -0
  92. package/assets/esri/core/workers/chunks/22f604726529ee6f8c25.js +1 -0
  93. package/assets/esri/core/workers/chunks/244d2196bac5ef279436.js +1 -0
  94. package/assets/esri/core/workers/chunks/25142d431dd1e5e82234.js +1 -0
  95. package/assets/esri/core/workers/chunks/25e19bd171eeb5634a4f.js +1 -0
  96. package/assets/esri/core/workers/chunks/26924d2f03b8a1b7a9b2.js +1 -0
  97. package/assets/esri/core/workers/chunks/27482132abb939a1cdb7.js +1 -0
  98. package/assets/esri/core/workers/chunks/2ae1dbdac9f24f4a3c84.js +1 -0
  99. package/assets/esri/core/workers/chunks/31b2ceed80796c7f6c03.js +1 -0
  100. package/assets/esri/core/workers/chunks/32f2e0c88046b39916cc.js +1 -0
  101. package/assets/esri/core/workers/chunks/3521a53f826f0ce6ac33.js +1 -0
  102. package/assets/esri/core/workers/chunks/3697ec74522cc5059098.js +1 -0
  103. package/assets/esri/core/workers/chunks/{60472225a228e499b1a2.js → 38557792ff9516fc991b.js} +1 -1
  104. package/assets/esri/core/workers/chunks/388a763da712ca71ccf4.js +1 -0
  105. package/assets/esri/core/workers/chunks/38f9ede26098eb03ca2d.js +2 -0
  106. package/assets/esri/core/workers/chunks/{239821543abbd63c5787.js.LICENSE.txt → 38f9ede26098eb03ca2d.js.LICENSE.txt} +3 -3
  107. package/assets/esri/core/workers/chunks/3f3a2c6ce48d832bf2f1.js +1 -0
  108. package/assets/esri/core/workers/chunks/{82493f51a2182f76dd2f.js → 459e3e507e8ea3e7e6ab.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{f4111bb5e5a4910b684a.js → 4867a515ddbdab97cc61.js} +1 -1
  110. package/assets/esri/core/workers/chunks/51b5dfc7085272d26b89.js +1 -0
  111. package/assets/esri/core/workers/chunks/536d7986ebb710a8a452.js +1 -0
  112. package/assets/esri/core/workers/chunks/53eaad20c4f55dae21e0.js +1 -0
  113. package/assets/esri/core/workers/chunks/55eff05354069f34bb1d.js +1 -0
  114. package/assets/esri/core/workers/chunks/569e9ec636199d1f1744.js +1 -0
  115. package/assets/esri/core/workers/chunks/598fade09fa4da759ac2.js +1 -0
  116. package/assets/esri/core/workers/chunks/5ac3096139e3eafd0e1d.js +1 -0
  117. package/assets/esri/core/workers/chunks/{93d06a1a0b700ddb3807.js → 5bdd5ae2d2f23ef6b331.js} +1 -1
  118. package/assets/esri/core/workers/chunks/5db336767959507c07e5.js +2 -0
  119. package/assets/esri/core/workers/chunks/{c03bffa13841e4f80379.js.LICENSE.txt → 5db336767959507c07e5.js.LICENSE.txt} +2 -2
  120. package/assets/esri/core/workers/chunks/5e5225623977e61fd0ef.js +1 -0
  121. package/assets/esri/core/workers/chunks/642a595353a86f3717e3.js +1 -0
  122. package/assets/esri/core/workers/chunks/64640051f1fd787a3362.js +1 -0
  123. package/assets/esri/core/workers/chunks/6d230c55cde66ee905b3.js +1 -0
  124. package/assets/esri/core/workers/chunks/{c1bd47cde53918f454ca.js → 729407e372c8353cf871.js} +1 -1
  125. package/assets/esri/core/workers/chunks/{29283c19e1ccdc6cfbde.js → 736a11e64e5f03e3936b.js} +34 -33
  126. package/assets/esri/core/workers/chunks/769b66cca8347f0f84db.js +1 -0
  127. package/assets/esri/core/workers/chunks/7c4746f60332620f75c5.js +1 -0
  128. package/assets/esri/core/workers/chunks/{b6dd25bccb9f6e19c18e.js → 7c7ff11246479382974c.js} +1 -1
  129. package/assets/esri/core/workers/chunks/7fce62ef3f0b011e0d35.js +1 -0
  130. package/assets/esri/core/workers/chunks/814d72abbfdd4552e4ec.js +2 -0
  131. package/assets/esri/core/workers/chunks/{373782e9f5d61616fde4.js.LICENSE.txt → 814d72abbfdd4552e4ec.js.LICENSE.txt} +1 -6
  132. package/assets/esri/core/workers/chunks/{07f206719763173faa8d.js → 873327fc41edd3830afa.js} +4 -4
  133. package/assets/esri/core/workers/chunks/8ea182c2fc20dba79ef2.js +1 -0
  134. package/assets/esri/core/workers/chunks/{d58fae2fc9d148e015ae.js → 90dc783a617ff053e862.js} +1 -1
  135. package/assets/esri/core/workers/chunks/93e9dfd1ba8f393c6c47.js +1 -0
  136. package/assets/esri/core/workers/chunks/93f792f5b94f3745b57d.js +2 -0
  137. package/assets/esri/core/workers/chunks/{3845e1d47bb51c06682e.js.LICENSE.txt → 93f792f5b94f3745b57d.js.LICENSE.txt} +1 -1
  138. package/assets/esri/core/workers/chunks/a197c86d42cc9ce21924.js +1 -0
  139. package/assets/esri/core/workers/chunks/a276980c06d5d311a37e.js +1 -0
  140. package/assets/esri/core/workers/chunks/a600194cfe26aedc21dd.js +1 -0
  141. package/assets/esri/core/workers/chunks/{a4239e301728d594afa5.js → a6b14665a46c2af5ac11.js} +1 -1
  142. package/assets/esri/core/workers/chunks/ae13bd77a25ce8b54631.js +1 -0
  143. package/assets/esri/core/workers/chunks/ae156b99e60a2bf940e4.js +1 -0
  144. package/assets/esri/core/workers/chunks/b2f1d1721a9dd88a1adf.js +1 -0
  145. package/assets/esri/core/workers/chunks/{4275dcec730a11173661.js → b7fc99ec15e2c86a6425.js} +1 -1
  146. package/assets/esri/core/workers/chunks/b8248939373e25a8d6db.js +1 -0
  147. package/assets/esri/core/workers/chunks/bbaadce582df7e20397b.js +1 -0
  148. package/assets/esri/core/workers/chunks/{18404cd87d29b2bdc7bf.js → c4dba6cf17aece714d22.js} +1 -1
  149. package/assets/esri/core/workers/chunks/c5d786166a5609b85276.js +2 -0
  150. package/assets/esri/core/workers/chunks/{e4d522ade82192f32d54.js.LICENSE.txt → c5d786166a5609b85276.js.LICENSE.txt} +1 -1
  151. package/assets/esri/core/workers/chunks/{c589d32f8efcca6bf712.js → c6b08fdc0421258efcf5.js} +1 -1
  152. package/assets/esri/core/workers/chunks/c779335f5d5455c77a62.js +1 -0
  153. package/assets/esri/core/workers/chunks/{eb61e484f090fca28937.js → cb2be1a81bdd3443f758.js} +1 -1
  154. package/assets/esri/core/workers/chunks/ccc50f28f217e50cc2c3.js +1 -0
  155. package/assets/esri/core/workers/chunks/cd2927b922444880566d.js +1 -0
  156. package/assets/esri/core/workers/chunks/{df1225a3e751a662c182.js → d04efa51da9b4eb3a8a7.js} +1 -1
  157. package/assets/esri/core/workers/chunks/d28e2c9bdf514236b011.js +1 -0
  158. package/assets/esri/core/workers/chunks/d434d44916d32d4b10d5.js +1 -0
  159. package/assets/esri/core/workers/chunks/{50c1753ee3dc0d28ffd7.js → d696abbb1b13ac1a689b.js} +1 -1
  160. package/assets/esri/core/workers/chunks/dbaa4b8d37aab40d7bd1.js +2 -0
  161. package/assets/esri/core/workers/chunks/dbaa4b8d37aab40d7bd1.js.LICENSE.txt +3 -0
  162. package/assets/esri/core/workers/chunks/{4a15308b54734247f38e.js → dd8e72d6784a8ebc115d.js} +1 -1
  163. package/assets/esri/core/workers/chunks/de0784474d2e9e504a91.js +1 -0
  164. package/assets/esri/core/workers/chunks/{aca3ccb9599bcc444617.js → e1472af8f5d64c057d04.js} +1 -1
  165. package/assets/esri/core/workers/chunks/e27fa1e84f16b7f19a90.js +1 -0
  166. package/assets/esri/core/workers/chunks/e2cd6038d9c7167b128e.js +1 -0
  167. package/assets/esri/core/workers/chunks/{0252d853419adc203f04.js → ef6e805c49e1afdf966b.js} +1 -1
  168. package/assets/esri/core/workers/chunks/f2bc75a718a10065011d.js +1 -0
  169. package/assets/esri/core/workers/chunks/{1263391920fbb8926ced.js → f34ce3c37a385b341631.js} +1 -1
  170. package/assets/esri/core/workers/chunks/{e3d25d027885eb1a415f.js → f458a40e1f8fce3ad23c.js} +1 -1
  171. package/assets/esri/core/workers/chunks/f65b720b750aebca1bcd.js +1 -0
  172. package/assets/esri/core/workers/chunks/fdcbd28f38bc485ac5e3.js +1 -0
  173. package/assets/esri/themes/dark/main.css +1 -1
  174. package/assets/esri/themes/light/main.css +1 -1
  175. package/assets/esri/themes/light/view.css +1 -1
  176. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  177. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  178. package/chunks/BloomComposition.glsl.js +25 -19
  179. package/chunks/ChapmanAtmosphere.glsl.js +1 -1
  180. package/chunks/ComponentShader.glsl.js +14 -14
  181. package/chunks/DefaultMaterial.glsl.js +6 -6
  182. package/chunks/Fog.glsl.js +3 -3
  183. package/chunks/Haze.glsl.js +1 -1
  184. package/chunks/OITBlend.glsl.js +1 -0
  185. package/chunks/Path.glsl.js +3 -3
  186. package/chunks/RealisticTree.glsl.js +5 -5
  187. package/chunks/SSAO.glsl.js +5 -4
  188. package/chunks/Viewshed.glsl.js +1 -1
  189. package/core/promiseUtils.d.ts +1 -0
  190. package/core/urlUtils.d.ts +4 -0
  191. package/identity/IdentityModal.js +1 -1
  192. package/interfaces.d.ts +335 -42
  193. package/intl/date.js +1 -1
  194. package/intl/messages.js +1 -1
  195. package/intl/number.js +1 -1
  196. package/layers/FeatureLayer.js +1 -1
  197. package/layers/ParquetLayer.js +1 -1
  198. package/layers/VideoLayer.js +1 -1
  199. package/layers/ViewshedLayer.js +1 -1
  200. package/layers/graphics/sources/ParquetSource.js +1 -1
  201. package/layers/save/featureLayerUtils.js +1 -1
  202. package/layers/support/ParquetEncodingBase.js +5 -0
  203. package/layers/support/ParquetEncodingLocation.js +5 -0
  204. package/layers/support/ParquetEncodingWkb.js +5 -0
  205. package/layers/support/domainUtils.js +1 -1
  206. package/layers/support/fieldUtils.js +1 -1
  207. package/layers/support/labelingInfo.js +1 -1
  208. package/layers/support/layerUtils.js +1 -1
  209. package/layers/support/parquetUtils.js +5 -0
  210. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  211. package/layers/video/VideoController.js +1 -1
  212. package/layers/video/videoUtils.js +1 -1
  213. package/libs/parquet/parquet.js +1 -1
  214. package/networks/UtilityNetwork.js +1 -1
  215. package/package.json +2 -2
  216. package/portal/PortalItem.js +1 -1
  217. package/portal/PortalUser.js +1 -1
  218. package/portal/support/portalItemUtils.js +1 -1
  219. package/rest/featureService/FeatureService.js +1 -1
  220. package/rest/networks/support/NetworkElement.js +1 -1
  221. package/rest/networks/support/TelecomNetworkElement.js +5 -0
  222. package/rest/networks/trace.js +1 -1
  223. package/rest/print.js +1 -1
  224. package/support/TablesMixin.js +1 -1
  225. package/support/modeUtils.js +5 -0
  226. package/support/revision.js +1 -1
  227. package/views/2d/engine/webgl/FeatureTile.js +1 -1
  228. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  229. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  230. package/views/2d/layers/VideoLayerView2D.js +1 -1
  231. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  232. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  233. package/views/2d/layers/features/sources/strategies/ParquetLoadStrategy.js +1 -1
  234. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  235. package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
  236. package/views/3d/analysis/Viewshed/ViewshedComputedData.js +1 -1
  237. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  238. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  239. package/views/3d/analysis/Viewshed/ViewshedVisualization.js +1 -1
  240. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  241. package/views/3d/environment/ChapmanAtmosphereTechniqueConfiguration.js +1 -1
  242. package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
  243. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentMove.js +1 -1
  244. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentRotate.js +1 -1
  245. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
  246. package/views/3d/interactive/visualElements/ViewshedShapeVisualElement.js +1 -1
  247. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  248. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  249. package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +1 -1
  250. package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +8 -8
  251. package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
  252. package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechniqueConfiguration.js +5 -0
  253. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  254. package/views/3d/webgl-engine/effects/haze/HazeTechniqueConfiguration.js +1 -1
  255. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  256. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  257. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  258. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  259. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  260. package/views/3d/webgl-engine/shaders/ToneMapping.glsl.js +20 -2
  261. package/views/ToolViewManager.js +1 -1
  262. package/views/analysis/analysisViewUtils.js +1 -1
  263. package/views/draw/support/HighlightHelper.js +1 -1
  264. package/views/interactive/InteractiveToolBase.js +1 -1
  265. package/views/interactive/Tooltip.js +1 -1
  266. package/views/interactive/interactiveToolUtils.js +1 -1
  267. package/views/interactive/keybindings.js +1 -1
  268. package/views/ui/UI.js +1 -1
  269. package/webdoc/support/saveUtils.js +1 -1
  270. package/webdoc/support/webdocSaveUtils.js +1 -1
  271. package/widgets/Editor.js +1 -1
  272. package/widgets/ElevationProfile/support/chartUtils.js +1 -1
  273. package/widgets/Feature/FeatureMedia.js +1 -1
  274. package/widgets/Feature/support/featureUtils.js +1 -1
  275. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
  276. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  277. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  278. package/widgets/FeatureTable.js +1 -1
  279. package/widgets/Legend/support/sizeRampUtils.js +1 -1
  280. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  281. package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +1 -1
  282. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  283. package/widgets/OrientedImageryViewer.js +1 -1
  284. package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js +1 -1
  285. package/widgets/Slider/SliderViewModel.js +1 -1
  286. package/widgets/Slider.js +1 -1
  287. package/widgets/TimeSlider.js +1 -1
  288. package/widgets/support/AnalysisViewModel.js +1 -1
  289. package/widgets/support/InteractiveAnalysisViewModel.js +1 -1
  290. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  291. package/widgets/support/widget.js +1 -1
  292. package/assets/esri/core/workers/chunks/0297e55a49ca0d1231ef.js +0 -1
  293. package/assets/esri/core/workers/chunks/04008648c59031bca8ea.js +0 -1
  294. package/assets/esri/core/workers/chunks/067dda58592fbf4fb812.js +0 -1
  295. package/assets/esri/core/workers/chunks/0b4e63e705db09dbe171.js +0 -1
  296. package/assets/esri/core/workers/chunks/1072b4f37eacbbfda2c8.js +0 -1
  297. package/assets/esri/core/workers/chunks/1b87fa15470cce26feea.js +0 -1
  298. package/assets/esri/core/workers/chunks/239821543abbd63c5787.js +0 -2
  299. package/assets/esri/core/workers/chunks/272a309760dacb13dee3.js +0 -1
  300. package/assets/esri/core/workers/chunks/2791f1f2791087d0217f.js +0 -1
  301. package/assets/esri/core/workers/chunks/35dccd3883d2e466c42e.js +0 -1
  302. package/assets/esri/core/workers/chunks/364860a42edc0c3b8d5b.js +0 -1
  303. package/assets/esri/core/workers/chunks/373782e9f5d61616fde4.js +0 -2
  304. package/assets/esri/core/workers/chunks/37e49d1a1407c193dcd0.js +0 -1
  305. package/assets/esri/core/workers/chunks/37e4f588a6896f98bce3.js +0 -1
  306. package/assets/esri/core/workers/chunks/3845e1d47bb51c06682e.js +0 -2
  307. package/assets/esri/core/workers/chunks/3f6dc811b5d515c2725c.js +0 -1
  308. package/assets/esri/core/workers/chunks/42aab2a336ee22fd9055.js +0 -1
  309. package/assets/esri/core/workers/chunks/4ba34124054752b363c0.js +0 -1
  310. package/assets/esri/core/workers/chunks/4baef5262ce401bf81bb.js +0 -1
  311. package/assets/esri/core/workers/chunks/593396b4c210da77a131.js +0 -1
  312. package/assets/esri/core/workers/chunks/5b32c2a1b276352593dc.js +0 -1
  313. package/assets/esri/core/workers/chunks/5df4e73905c0ae75e37c.js +0 -1
  314. package/assets/esri/core/workers/chunks/5fb9bb3ac2f60dbd59c4.js +0 -1
  315. package/assets/esri/core/workers/chunks/66e90f7d473d1f688254.js +0 -1
  316. package/assets/esri/core/workers/chunks/68d7babbe7e0d934e056.js +0 -1
  317. package/assets/esri/core/workers/chunks/6e6b60779c11efc128af.js +0 -1
  318. package/assets/esri/core/workers/chunks/759c12b0715279e3c0f6.js +0 -1
  319. package/assets/esri/core/workers/chunks/75e01c6404cbd51daabc.js +0 -2
  320. package/assets/esri/core/workers/chunks/77660e18ea793ae85f83.js +0 -1
  321. package/assets/esri/core/workers/chunks/7f36cffc6ed984b7e467.js +0 -1
  322. package/assets/esri/core/workers/chunks/7f86c9ec45f4fae1fb49.js +0 -1
  323. package/assets/esri/core/workers/chunks/879d672d12f9ef2e1b50.js +0 -1
  324. package/assets/esri/core/workers/chunks/90442f47c9f31f26b453.js +0 -1
  325. package/assets/esri/core/workers/chunks/91439b59260b0fb04be9.js +0 -1
  326. package/assets/esri/core/workers/chunks/96978d039f183565bffa.js +0 -1
  327. package/assets/esri/core/workers/chunks/999a4f7ca581f28cc1c4.js +0 -1
  328. package/assets/esri/core/workers/chunks/af41dcc8006cd0f451c2.js +0 -1
  329. package/assets/esri/core/workers/chunks/af9fda47d02c51a2c7da.js +0 -1
  330. package/assets/esri/core/workers/chunks/baed733a29aa65efc2a0.js +0 -2
  331. package/assets/esri/core/workers/chunks/c03bffa13841e4f80379.js +0 -2
  332. package/assets/esri/core/workers/chunks/c7ab674764312d65348f.js +0 -1
  333. package/assets/esri/core/workers/chunks/ca0572fe5614005acceb.js +0 -1
  334. package/assets/esri/core/workers/chunks/d2c7067bb6654c0e2793.js +0 -1
  335. package/assets/esri/core/workers/chunks/d46c82a55219b27c301b.js +0 -1
  336. package/assets/esri/core/workers/chunks/d89f105b8a0b13dd8e5f.js +0 -1
  337. package/assets/esri/core/workers/chunks/e13caf9691f556071e31.js +0 -1
  338. package/assets/esri/core/workers/chunks/e14449f07ed3386f4f2b.js +0 -1
  339. package/assets/esri/core/workers/chunks/e31bb256921807464715.js +0 -1
  340. package/assets/esri/core/workers/chunks/e4d522ade82192f32d54.js +0 -2
  341. package/assets/esri/core/workers/chunks/e5713b757f770a138b8c.js +0 -1
  342. package/assets/esri/core/workers/chunks/e6544e966f14fb410157.js +0 -1
  343. package/assets/esri/core/workers/chunks/e792603b7cc3ddd133f3.js +0 -1
  344. package/assets/esri/core/workers/chunks/e7cb4003c45e42b48ea6.js +0 -1
  345. package/assets/esri/core/workers/chunks/eb011e8b14db37ddb110.js +0 -1
  346. package/assets/esri/core/workers/chunks/efb0f3ec2344adcb24f3.js +0 -1
  347. package/assets/esri/core/workers/chunks/f0c864425f000ab87a7b.js +0 -1
  348. package/assets/esri/core/workers/chunks/f7d33d18bf1bd4db9df8.js +0 -1
  349. package/assets/esri/core/workers/chunks/f9396af9cbfd165e72e2.js +0 -1
  350. package/assets/esri/core/workers/chunks/fa2d836d4a844b26b84e.js +0 -1
  351. package/layers/support/parquetLayerUtils.js +0 -5
  352. package/support/themeUtils.js +0 -5
@@ -1 +1 @@
1
- {"title":"Oriented imagery viewer","currentFootprint":"Current footprint","accuracy":"Accuracy","accuracyInformation":"Accuracy is calculated using the Orientation Accuracy property defined in the oriented imagery layer's service.","additionalFootprints":"Additional footprints","additionalCameraLocations":"Additional camera locations","groundArea":"Ground area","groundDistance":"Ground distance","imageAttributes":"Image attributes","imageEnhancement":"Image enhancement","imageGallery":"Image gallery","float":"Float","dock":"Dock","footprint":"Footprint","heightAboveGround":"Height above ground","groundLocation":"Ground location","noImageError":"No image available for the selected location.","onLoadMessage":"Select a location on map to view imagery.","imageLoadError":"Error occurred while loading the image.","measurementTools":"Image measurement tools","measurementTable":"Measurement table","mapImageConversionTool":"Map-image location tool","brightness":"Brightness","contrast":"Contrast","sharpness":"Sharpness","navigationTool":"Navigation tool","noLocalPort":"A value for local port is not provided. Local port is required to load local images.","noAttachment":"No image or attachment available for the selected location.","currentFootprintTooltip":"Toggle visibility of the displayed image's footprint.","additionalFootprintsTooltip":"Toggle visibility of all additional footprints containing the location of interest.","additionalCameraLocationsTooltip":"Toggle visibility of all additional camera locations of images containing the location of interest.","navigationTooltip":"Explore returned images in relation to the location of interest.","imageEnhancementTooltip":"Adjust image brightness, contrast, and sharpening.","imageGalleryTooltip":"Explore thumbnails of all images depicting the location of interest.","mapImageConversionTooltip":"Click on the image to see where that location is on the map, and vice versa.","newMeasurement":"New measurement","unsupportedPanoramicImageryError":"Viewer currently does not support visualizing {datasetFormat} 360-degree imagery.","showPopups":"Show pop-ups","startMeasurement":"Start measuring","overlayCameraLocations":"Overlay camera locations","overlayMapFeatures":"Overlay map features","imageOverlays":"Image overlays","invalidCameraHeadingWarningTitle":"Invalid CameraHeading","invalidCameraHeadingWarningDescription":"CameraHeading value is invalid for the selected image. All the oriented imagery viewer tools using CameraHeading value are disabled. Assign a valid value for the field in the attribute table to enable the tools.","createFeaturesFromImage":"Create features from image","value":"Value"}
1
+ {"title":"Oriented imagery viewer","currentFootprint":"Current footprint","accuracy":"Accuracy","accuracyInformation":"Accuracy is calculated using the Orientation Accuracy property defined in the oriented imagery layer's service.","additionalFootprints":"Additional footprints","additionalCameraLocations":"Additional camera locations","basemap":"Basemap","groundArea":"Ground area","groundDistance":"Ground distance","imageAttributes":"Image attributes","imageEnhancement":"Image enhancement","imageGallery":"Image gallery","float":"Float","dock":"Dock","footprint":"Footprint","heightAboveGround":"Height above ground","groundLocation":"Ground location","noImageError":"No image available for the selected location.","onLoadMessage":"Select a location on map to view imagery.","imageLoadError":"Error occurred while loading the image.","measurementTools":"Image measurement tools","measurementTable":"Measurement table","mapImageConversionTool":"Map-image location tool","brightness":"Brightness","contrast":"Contrast","sharpness":"Sharpness","navigationTool":"Navigation tool","noLocalPort":"A value for local port is not provided. Local port is required to load local images.","noAttachment":"No image or attachment available for the selected location.","currentFootprintTooltip":"Toggle visibility of the displayed image's footprint.","additionalFootprintsTooltip":"Toggle visibility of all additional footprints containing the location of interest.","additionalCameraLocationsTooltip":"Toggle visibility of all additional camera locations of images containing the location of interest.","navigationTooltip":"Explore returned images in relation to the location of interest.","imageEnhancementTooltip":"Adjust image brightness, contrast, and sharpening.","imageGalleryTooltip":"Explore thumbnails of all images depicting the location of interest.","mapImageConversionTooltip":"Click on the image to see where that location is on the map, and vice versa.","newMeasurement":"New measurement","unsupportedPanoramicImageryError":"Viewer currently does not support visualizing {datasetFormat} 360-degree imagery.","showPopups":"Show pop-ups","startMeasurement":"Start measuring","selectUnitSystem":"Select Unit System","overlayCameraLocations":"Overlay camera locations","overlayMapFeatures":"Overlay map features","imageOverlays":"Image overlays","invalidCameraHeadingWarningTitle":"Invalid CameraHeading","invalidCameraHeadingWarningDescription":"CameraHeading value is invalid for the selected image. All the oriented imagery viewer tools using CameraHeading value are disabled. Assign a valid value for the field in the attribute table to enable the tools.","createFeaturesFromImage":"Create features from image","value":"Value","xy":"XY","x":"X","y":"Y","z":"Z","type":"Type"}
@@ -1 +1 @@
1
- {"title":"Oriented imagery viewer","currentFootprint":"Current footprint","accuracy":"Accuracy","accuracyInformation":"Accuracy is calculated using the Orientation Accuracy property defined in the oriented imagery layer's service.","additionalFootprints":"Additional footprints","additionalCameraLocations":"Additional camera locations","groundArea":"Ground area","groundDistance":"Ground distance","imageAttributes":"Image attributes","imageEnhancement":"Image enhancement","imageGallery":"Image gallery","float":"Float","dock":"Dock","footprint":"Footprint","heightAboveGround":"Height above ground","groundLocation":"Ground location","noImageError":"No image available for the selected location.","onLoadMessage":"Select a location on map to view imagery.","imageLoadError":"Error occurred while loading the image.","measurementTools":"Image measurement tools","measurementTable":"Measurement table","mapImageConversionTool":"Map-image location tool","brightness":"Brightness","contrast":"Contrast","sharpness":"Sharpness","navigationTool":"Navigation tool","noLocalPort":"A value for local port is not provided. Local port is required to load local images.","noAttachment":"No image or attachment available for the selected location.","currentFootprintTooltip":"Toggle visibility of the displayed image's footprint.","additionalFootprintsTooltip":"Toggle visibility of all additional footprints containing the location of interest.","additionalCameraLocationsTooltip":"Toggle visibility of all additional camera locations of images containing the location of interest.","navigationTooltip":"Explore returned images in relation to the location of interest.","imageEnhancementTooltip":"Adjust image brightness, contrast, and sharpening.","imageGalleryTooltip":"Explore thumbnails of all images depicting the location of interest.","mapImageConversionTooltip":"Click on the image to see where that location is on the map, and vice versa.","newMeasurement":"New measurement","unsupportedPanoramicImageryError":"Viewer currently does not support visualizing {datasetFormat} 360-degree imagery.","showPopups":"Show pop-ups","startMeasurement":"Start measuring","overlayCameraLocations":"Overlay camera locations","overlayMapFeatures":"Overlay map features","imageOverlays":"Image overlays","invalidCameraHeadingWarningTitle":"Invalid CameraHeading","invalidCameraHeadingWarningDescription":"CameraHeading value is invalid for the selected image. All the oriented imagery viewer tools using CameraHeading value are disabled. Assign a valid value for the field in the attribute table to enable the tools.","createFeaturesFromImage":"Create features from image","value":"Value"}
1
+ {"title":"Oriented imagery viewer","currentFootprint":"Current footprint","accuracy":"Accuracy","accuracyInformation":"Accuracy is calculated using the Orientation Accuracy property defined in the oriented imagery layer's service.","additionalFootprints":"Additional footprints","additionalCameraLocations":"Additional camera locations","basemap":"Basemap","groundArea":"Ground area","groundDistance":"Ground distance","imageAttributes":"Image attributes","imageEnhancement":"Image enhancement","imageGallery":"Image gallery","float":"Float","dock":"Dock","footprint":"Footprint","heightAboveGround":"Height above ground","groundLocation":"Ground location","noImageError":"No image available for the selected location.","onLoadMessage":"Select a location on map to view imagery.","imageLoadError":"Error occurred while loading the image.","measurementTools":"Image measurement tools","measurementTable":"Measurement table","mapImageConversionTool":"Map-image location tool","brightness":"Brightness","contrast":"Contrast","sharpness":"Sharpness","navigationTool":"Navigation tool","noLocalPort":"A value for local port is not provided. Local port is required to load local images.","noAttachment":"No image or attachment available for the selected location.","currentFootprintTooltip":"Toggle visibility of the displayed image's footprint.","additionalFootprintsTooltip":"Toggle visibility of all additional footprints containing the location of interest.","additionalCameraLocationsTooltip":"Toggle visibility of all additional camera locations of images containing the location of interest.","navigationTooltip":"Explore returned images in relation to the location of interest.","imageEnhancementTooltip":"Adjust image brightness, contrast, and sharpening.","imageGalleryTooltip":"Explore thumbnails of all images depicting the location of interest.","mapImageConversionTooltip":"Click on the image to see where that location is on the map, and vice versa.","newMeasurement":"New measurement","unsupportedPanoramicImageryError":"Viewer currently does not support visualizing {datasetFormat} 360-degree imagery.","showPopups":"Show pop-ups","startMeasurement":"Start measuring","selectUnitSystem":"Select Unit System","overlayCameraLocations":"Overlay camera locations","overlayMapFeatures":"Overlay map features","imageOverlays":"Image overlays","invalidCameraHeadingWarningTitle":"Invalid CameraHeading","invalidCameraHeadingWarningDescription":"CameraHeading value is invalid for the selected image. All the oriented imagery viewer tools using CameraHeading value are disabled. Assign a valid value for the field in the attribute table to enable the tools.","createFeaturesFromImage":"Create features from image","value":"Value","xy":"XY","x":"X","y":"Y","z":"Z","type":"Type"}
@@ -2,22 +2,28 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ScreenSpacePass as o}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DPassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{defaultExposure as m,lodFactorsPresets as n}from"../views/3d/webgl-engine/effects/bloom/BloomPresets.glsl.js";import{NoParameters as u}from"../views/webgl/NoParameters.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";class i extends u{constructor(o=m,e=n.sunny.far,r=n.sunny.near){super(),this.exposure=o,this.lodFactors=e,this.lodFactorsFront=r}}const b=new i;class g extends i{constructor(){super(...arguments),this.bloomLod=-1}}function f(){const m=new c,n=m.fragment;return m.include(o),m.include(r),n.include(e),n.uniforms.add(new d("colorTexture",(o=>o.color)),new d("bloomTexture0",(o=>o.bloomTexture0)),new d("bloomTexture1",(o=>o.bloomTexture1)),new d("bloomTexture2",(o=>o.bloomTexture2)),new d("bloomTexture3",(o=>o.bloomTexture3)),new d("bloomTexture4",(o=>o.bloomTexture4)),new l("exposure",(o=>o.exposure)),new a("bloomLod",(o=>o.bloomLod)),new s("lodFactors",(o=>o.lodFactors),5),new s("lodFactorsFront",(o=>o.lodFactorsFront),5)).code.add(t`vec3 simpleExposureTonemap(vec3 hdrColor, float exposure) {
6
- vec3 mapped = vec3(1.0) - exp(-hdrColor * exposure);
7
- return mapped;
8
- }`).main.add(t`vec4 color = texture(colorTexture, uv);
9
- color = vec4(linearizeGamma(color.rgb), color.a);
10
- vec4 lod0 = texture(bloomTexture0, uv);
11
- vec4 lod1 = texture(bloomTexture1, uv);
12
- vec4 lod2 = texture(bloomTexture2, uv);
13
- vec4 lod3 = texture(bloomTexture3, uv);
14
- vec4 lod4 = texture(bloomTexture4, uv);
15
- fragColor = lodFactors[0] * lod0;
16
- fragColor += lodFactors[1] * lod1;
17
- fragColor += lodFactors[2] * lod2;
18
- fragColor += lodFactors[3] * lod3;
19
- fragColor += lodFactors[4] * lod4;
20
- fragColor = bloomLod == 0 ? lodFactors[0] * lod0 : bloomLod == 1 ? lodFactors[1] * lod1 : bloomLod == 2 ? lodFactors[2] * lod2 : bloomLod == 3 ? lodFactors[3] * lod3 : bloomLod == 4 ? lodFactors[4] * lod4 : fragColor;
21
- fragColor = vec4(simpleExposureTonemap(fragColor.rgb, exposure), fragColor.a);
22
- fragColor += color;
23
- fragColor = delinearizeGamma(fragColor);`),m}const p=Object.freeze(Object.defineProperty({__proto__:null,BloomCompositionPassParameters:g,build:f,defaultCompositionParameters:b},Symbol.toStringTag,{value:"Module"}));export{g as B,p as a,f as b,b as d};
5
+ import{ScreenSpacePass as o}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DPassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{defaultExposure as d,lodFactorsPresets as i}from"../views/3d/webgl-engine/effects/bloom/BloomPresets.glsl.js";import{ToneMapping as m,ToneMappingFunction as u}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{NoParameters as c}from"../views/webgl/NoParameters.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";class b extends c{constructor(o=d,e=i.sunny.far,r=i.sunny.near){super(),this.exposure=o,this.lodFactors=e,this.lodFactorsFront=r}}const f=new b;class p extends b{constructor(){super(...arguments),this.bloomLod=-1}}function w(d){const i=new g,c=i.fragment;i.include(o),i.include(r),c.include(e),c.include(m,d);const b=d.toneMapping;return c.uniforms.add(new n("colorTexture",(o=>o.color)),new n("bloomTexture0",(o=>o.bloomTexture0)),new n("bloomTexture1",(o=>o.bloomTexture1)),new n("bloomTexture2",(o=>o.bloomTexture2)),new n("bloomTexture3",(o=>o.bloomTexture3)),new n("bloomTexture4",(o=>o.bloomTexture4)),new l("exposure",(o=>o.exposure)),new a("bloomLod",(o=>o.bloomLod)),new s("lodFactors",(o=>o.lodFactors),5),new s("lodFactorsFront",(o=>o.lodFactorsFront),5)).main.add(t`
6
+ vec4 color = texture(colorTexture, uv);
7
+ color = vec4(linearizeGamma(color.rgb), color.a);
8
+
9
+ vec4 lod0 = texture(bloomTexture0, uv);
10
+ vec4 lod1 = texture(bloomTexture1, uv);
11
+ vec4 lod2 = texture(bloomTexture2, uv);
12
+ vec4 lod3 = texture(bloomTexture3, uv);
13
+ vec4 lod4 = texture(bloomTexture4, uv);
14
+
15
+ fragColor = lodFactors[0] * lod0;
16
+ fragColor += lodFactors[1] * lod1;
17
+ fragColor += lodFactors[2] * lod2;
18
+ fragColor += lodFactors[3] * lod3;
19
+ fragColor += lodFactors[4] * lod4;
20
+
21
+ // only for bloom editor lod debugging
22
+ fragColor = bloomLod == 0 ? lodFactors[0] * lod0 : bloomLod == 1 ? lodFactors[1] * lod1 : bloomLod == 2 ? lodFactors[2] * lod2 : bloomLod == 3 ? lodFactors[3] * lod3 : bloomLod == 4 ? lodFactors[4] * lod4 : fragColor;
23
+
24
+ // tonemapping is only applied to the emissive part since main color values are not in HDR.
25
+ fragColor = vec4(
26
+ ${b===u.KronosNeutral?"tonemapKhronosNeutral(fragColor.rgb, exposure)":b===u.ACES?"tonemapACES(fragColor.rgb)":"tonemapSimpleExposure(fragColor.rgb, exposure)"}, fragColor.a);
27
+ fragColor += color;
28
+ fragColor = delinearizeGamma(fragColor);
29
+ `),i}const x=Object.freeze(Object.defineProperty({__proto__:null,BloomCompositionPassParameters:p,build:w,defaultCompositionParameters:f},Symbol.toStringTag,{value:"Module"}));export{p as B,x as a,w as b,f as d};
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ChapmanRaymarching as e}from"../views/3d/environment/ChapmanRaymarching.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{addMainLightDirection as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Float3PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as o,If as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ScreenSpacePassAtmosphere as s}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as c}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as m}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";function g(g){const h=new d;h.include(s);const{reduced:p}=g,{fragment:u}=h;return a(u),h.include(r),u.include(c),u.include(m),u.include(e,!1),u.uniforms.add(new t("backgroundColor",(e=>e.backgroundColor)),new i("innerFadeDistance",(e=>e.innerFadeDistance)),new i("altitudeFade",(e=>e.altitudeFade)),new l("depthTexture",(e=>e.mainDepth))).code.add(o`vec4 applyUndergroundAtmosphere(vec3 rayDir, vec3 lightDirection, vec4 fragColor) {
5
+ import{ChapmanRaymarching as e}from"../views/3d/environment/ChapmanRaymarching.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{addMainLightDirection as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Float3PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as o,If as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ScreenSpacePassAtmosphere as s}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as c}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as m}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";function g(g){const h=new d;h.include(s);const{reduced:p}=g,{fragment:u}=h;return a(u),h.include(r),u.include(c),u.include(m,g),u.include(e,!1),u.uniforms.add(new t("backgroundColor",(e=>e.backgroundColor)),new i("innerFadeDistance",(e=>e.innerFadeDistance)),new i("altitudeFade",(e=>e.altitudeFade)),new l("depthTexture",(e=>e.mainDepth))).code.add(o`vec4 applyUndergroundAtmosphere(vec3 rayDir, vec3 lightDirection, vec4 fragColor) {
6
6
  float rayPlanetDistance = heightParameters[1] - radii[0] * radii[0];
7
7
  vec2 rayPlanetIntersect = sphereIntersect(cameraPosition, rayDir, rayPlanetDistance);
8
8
  if (!((rayPlanetIntersect.x <= rayPlanetIntersect.y) && rayPlanetIntersect.y > 0.0)) {
@@ -2,12 +2,12 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";import{OverlayContent as a}from"../views/3d/terrain/OverlayContent.js";import{ComponentData as i,ComponentDataType as l}from"../views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js";import{VertexDiscardMode as t}from"../views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardMode.js";import{ForwardLinearDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as d,isColorOrColorEmission as s}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as g}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as h}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as w}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{computeFragmentNormals as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTexture as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as y,addLightingGlobalFactor as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PBRMode as j,PhysicallyBasedRenderingParameters as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPass as N}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as T}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{OverlayIM as M,getIMColorTexture as $}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{EllipsoidMode as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/EllipsoidMode.js";import{If as W,glsl as P}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as B}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as R}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{outputColorHighlightOID as z}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as E}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as I}from"../webscene/support/AlphaCutoff.js";function V(V){const F=new E,{vertex:H,fragment:_}=F;F.include(u,V),F.include(v,V),F.include(c,V),F.include(m,V),F.include(n,V),F.include(i,V),F.include(A,V),_.include(g,V),F.include(S,V),F.include(T,V);const{output:G,pbrMode:k,hasNormalTexture:U,snowCover:q,receiveShadows:J,spherical:K,ellipsoidMode:Q,overlayEnabled:X,componentData:Y,vertexDiscardMode:Z}=V,ee=k===j.Normal||k===j.Schematic;ee&&(F.include(O,V),U&&F.include(f,V));const oe=G===d.Shadow||G===d.ShadowHighlight||G===d.ShadowExcludeHighlight,re=oe&&Y===l.Varying;if(X){F.include(y,V),F.include(M,V);const a=Q===D.Earth,i=Q===D.Earth,l=a?e.radius:i?o.radius:r.radius;H.code.add(`\n ${W(K,`const float invRadius = ${P.float(1/l)};`)}\n vec2 projectOverlay(vec3 pos) { return pos.xy ${W(K,"/ (1.0 + invRadius * pos.z);")}; }`)}const ae=X&&s(G)&&k===j.WaterOnIntegratedMesh;ae&&(F.varyings.add("tbnTangent","vec3"),F.varyings.add("tbnBiTangent","vec3"),F.varyings.add("groundNormal","vec3"));const ie=Z===t.None,le=Z===t.Opaque,te=1-1/255;if(H.main.add(P`
5
+ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";import{OverlayContent as a}from"../views/3d/terrain/OverlayContent.js";import{ComponentData as i,ComponentDataType as l}from"../views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js";import{VertexDiscardMode as t}from"../views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardMode.js";import{ForwardLinearDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as d,isColorOrColorEmission as s}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as g}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as h}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as w}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{computeFragmentNormals as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTexture as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as y,addLightingGlobalFactor as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PBRMode as j,PhysicallyBasedRenderingParameters as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPass as N}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as T}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{OverlayIM as $,getIMColorTexture as M}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{EllipsoidMode as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/EllipsoidMode.js";import{If as W,glsl as P}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as B}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as R}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{outputColorHighlightOID as z}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as E}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as I}from"../webscene/support/AlphaCutoff.js";function V(V){const F=new E,{vertex:H,fragment:_}=F;F.include(u,V),F.include(v,V),F.include(c,V),F.include(m,V),F.include(n,V),F.include(i,V),F.include(A,V),_.include(g,V),F.include(S,V),F.include(T,V);const{output:G,pbrMode:k,hasNormalTexture:U,snowCover:q,receiveShadows:J,spherical:K,ellipsoidMode:Q,overlayEnabled:X,componentData:Y,vertexDiscardMode:Z,hasBloom:ee}=V,oe=k===j.Normal||k===j.Schematic;oe&&(F.include(O,V),U&&F.include(f,V));const re=G===d.Shadow||G===d.ShadowHighlight||G===d.ShadowExcludeHighlight,ae=re&&Y===l.Varying;if(X){F.include(y,V),F.include($,V);const a=Q===D.Earth,i=Q===D.Earth,l=a?e.radius:i?o.radius:r.radius;H.code.add(`\n ${W(K,`const float invRadius = ${P.float(1/l)};`)}\n vec2 projectOverlay(vec3 pos) { return pos.xy ${W(K,"/ (1.0 + invRadius * pos.z);")}; }`)}const ie=X&&s(G)&&k===j.WaterOnIntegratedMesh;ie&&(F.varyings.add("tbnTangent","vec3"),F.varyings.add("tbnBiTangent","vec3"),F.varyings.add("groundNormal","vec3"));const le=Z===t.None,te=Z===t.Opaque,ne=1-1/255;if(H.main.add(P`
6
6
  bool castShadows;
7
7
  vec4 externalColor = forwardExternalColor(castShadows);
8
- ${W(re,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
8
+ ${W(ae,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
9
9
 
10
- ${W(!ie,`{ if (externalColor.a ${le?">":"<="} ${P.float(te)}) { gl_Position = vec4(vec3(1e38), 1.0); return; } }`)}
10
+ ${W(!le,`{ if (externalColor.a ${te?">":"<="} ${P.float(ne)}) { gl_Position = vec4(vec3(1e38), 1.0); return; } }`)}
11
11
 
12
12
  ${W(G===d.ObjectAndLayerIdColor,"externalColor.a = 1.0;")}
13
13
 
@@ -18,7 +18,7 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
18
18
  forwardVertexColor();
19
19
  forwardLinearDepth();
20
20
  forwardObjectAndLayerIdColor();
21
- ${W(ae,K?P`
21
+ ${W(ie,K?P`
22
22
  groundNormal = normalize(positionWorld());
23
23
  tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), groundNormal));
24
24
  tbnBiTangent = normalize(cross(groundNormal, tbnTangent));`:P`
@@ -35,7 +35,7 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
35
35
  `),s(G))return F.include(C,V),F.include(b,V),F.include(y,V),F.include(z,V),J&&F.include(N,V),_.code.add(P`
36
36
  float evaluateShadow() {
37
37
  return ${J?"readShadowMap(vPositionWorldCameraRelative, linearDepth)":"0.0"};
38
- }`),X&&_.uniforms.add(new R("ovColorTex",((e,o)=>$(e,o)))),_.main.add(P`
38
+ }`),X&&_.uniforms.add(new R("ovColorTex",((e,o)=>M(e,o)))),_.main.add(P`
39
39
  discardBySlice(vPositionWorldCameraRelative);
40
40
  discardByTerrainDepth();
41
41
 
@@ -48,7 +48,7 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
48
48
 
49
49
  vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
50
50
  ${W(X,P`vec4 overlayColor = getOverlayColor(ovColorTex, vtcOverlay);`)}
51
- `),ee?(L(_),K&&x(_),_.main.add(P`
51
+ `),oe?(L(_),K&&x(_),_.main.add(P`
52
52
  applyPBRFactors();
53
53
  ${W(k===j.Normal,P`if (externalColorMixMode == 3) {
54
54
  mrr = vec3(0.0, 0.6, 0.2);
@@ -67,11 +67,11 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
67
67
  ${W(X,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
68
68
 
69
69
  vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
70
- vec4 emission = getEmissions(materialColor.rgb);
70
+ vec4 emission = ${ee?"vec4(0.0)":"getEmissions(materialColor.rgb)"};
71
71
  ${W(K,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
72
72
  ${K?P`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`:"float shadow = evaluateShadow();"}
73
73
  vec4 shadedColor = vec4(evaluateSceneLightingPBR(shadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDir, normalGround, mrr, emission, additionalIrradiance), materialColor.a);
74
- `)):(K&&x(_),ae&&_.uniforms.add(new B("ovNormalTex",(e=>e.overlay?.getTexture(a.WaterNormal)))),_.main.add(P`
74
+ `)):(K&&x(_),ie&&_.uniforms.add(new B("ovNormalTex",(e=>e.overlay?.getTexture(a.WaterNormal)))),_.main.add(P`
75
75
  ${W(K,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
76
76
  float shadow = ${J?K?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())":"evaluateShadow()":K?"lightingGlobalFactor * (1.0 - additionalAmbientScale)":"0.0"};
77
77
 
@@ -85,7 +85,7 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
85
85
  ${W(X,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
86
86
 
87
87
  vec4 shadedColor = vec4(evaluateSceneLighting(fragmentShadingNormal, materialColor.rgb, shadow, ssao, additionalLight), materialColor.a);
88
- ${W(ae,P`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, vtcOverlay);
88
+ ${W(ie,P`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, vtcOverlay);
89
89
  float waterNormalLength = length(overlayWaterMask);
90
90
  if (waterNormalLength > 0.95) {
91
91
  mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, groundNormal);
@@ -94,13 +94,13 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
94
94
  // un-gamma the ground color to mix in linear space
95
95
  shadedColor = mix(shadedColor, waterColorNonLinear, waterColorLinear.w);
96
96
  }`)}
97
- `)),_.main.add("outputColorHighlightOID(shadedColor, vPositionWorldCameraRelative, materialColor.rgb);"),F;const ne=G===d.Normal,de=G===d.ObjectAndLayerIdColor,se=G===d.Highlight,ge=oe||G===d.ViewshedShadow;return ge&&F.include(h,V),ne&&F.include(b,V),X&&F.include(p,V),F.include(w,V),_.main.add(P`
97
+ `)),_.main.add("outputColorHighlightOID(shadedColor, vPositionWorldCameraRelative, materialColor.rgb);"),F;const de=G===d.Normal,se=G===d.ObjectAndLayerIdColor,ge=G===d.Highlight,me=re||G===d.ViewshedShadow;return me&&F.include(h,V),de&&F.include(b,V),X&&F.include(p,V),F.include(w,V),_.main.add(P`
98
98
  discardBySlice(vPositionWorldCameraRelative);
99
99
 
100
100
  vec4 textureColor = readBaseColorTexture();
101
101
  discardOrAdjustAlpha(textureColor);
102
102
 
103
- ${W(ge,"outputDepth(linearDepth);")}
104
- ${W(ne,P`fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, 1.0);`)}
105
- ${W(de,X?"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
106
- ${W(se,W(X,P`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,P`calculateOcclusionAndOutputHighlight();`))}`),F}const F=Object.freeze(Object.defineProperty({__proto__:null,build:V},Symbol.toStringTag,{value:"Module"}));export{F as C,V as b};
103
+ ${W(me,"outputDepth(linearDepth);")}
104
+ ${W(de,P`fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, 1.0);`)}
105
+ ${W(se,X?"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
106
+ ${W(ge,W(X,P`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,P`calculateOcclusionAndOutputHighlight();`))}`),F}const F=Object.freeze(Object.defineProperty({__proto__:null,build:V},Symbol.toStringTag,{value:"Module"}));export{F as C,V as b};
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ONES as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{ForwardLinearDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as o}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as a}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as l}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as n,NormalType as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as b}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ComputeNormalTexture as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as h,addAmbientBoostFactor as p,addLightingGlobalFactor as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{PhysicallyBasedRendering as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as C,PBRMode as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as P,ReadShadowMapDraw as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as N}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{colorTextureUV as S,normalTextureUV as T,emissiveTextureUV as V,occlusionTextureUV as A,metallicRoughnessTextureUV as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as $}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as E}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as I,addCameraPosition as U}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as B}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as F}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as _}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as R,If as z}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as G}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as W}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as k}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as H}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as q}from"../webscene/support/AlphaCutoff.js";function J(J){const K=new H,{attributes:Q,vertex:X,fragment:Y,varyings:Z}=K,{output:ee,normalType:re,offsetBackfaces:oe,instancedColor:ie,spherical:ae,receiveShadows:le,snowCover:se,pbrMode:ne,textureAlphaPremultiplied:te,instancedDoublePrecision:de,hasVertexColors:ce,hasVertexTangents:me,hasColorTexture:ge,hasNormalTexture:ve,hasNormalTextureTransform:be,hasColorTextureTransform:ue}=J;if(I(X,J),Q.add(W.POSITION,"vec3"),Z.add("vpos","vec3",{invariant:!0}),K.include($,J),K.include(s,J),K.include(v,J),K.include(S,J),!i(ee))return K.include(b,J),K;K.include(T,J),K.include(V,J),K.include(A,J),K.include(M,J),U(X,J),K.include(n,J),K.include(l,J);const we=re===t.Attribute||re===t.Compressed;return we&&oe&&K.include(o),K.include(u,J),K.include(g,J),ie&&K.attributes.add(W.INSTANCECOLOR,"vec4"),Z.add("vPositionLocal","vec3"),K.include(c,J),K.include(r,J),K.include(d,J),K.include(m,J),X.uniforms.add(new F("externalColor",(r=>"ignore"===r.colorMixMode?e:r.externalColor))),Z.add("vcolorExt","vec4"),K.include(N,J),X.main.add(R`
5
+ import{ONES as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{ForwardLinearDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as o}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as a}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as l}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as n,NormalType as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as b}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ComputeNormalTexture as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as h,addAmbientBoostFactor as p,addLightingGlobalFactor as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{PhysicallyBasedRendering as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as C,PBRMode as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as P,ReadShadowMapDraw as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as N}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{colorTextureUV as S,normalTextureUV as T,emissiveTextureUV as V,occlusionTextureUV as A,metallicRoughnessTextureUV as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as $}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as E}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as I,addCameraPosition as B}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as U}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as F}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as _}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as R,If as z}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as G}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as W}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as k}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as H}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as q}from"../webscene/support/AlphaCutoff.js";function J(J){const K=new H,{attributes:Q,vertex:X,fragment:Y,varyings:Z}=K,{output:ee,normalType:re,offsetBackfaces:oe,instancedColor:ie,spherical:ae,receiveShadows:le,snowCover:se,pbrMode:ne,textureAlphaPremultiplied:te,instancedDoublePrecision:de,hasVertexColors:ce,hasVertexTangents:me,hasColorTexture:ge,hasNormalTexture:ve,hasNormalTextureTransform:be,hasColorTextureTransform:ue,hasBloom:we}=J;if(I(X,J),Q.add(W.POSITION,"vec3"),Z.add("vpos","vec3",{invariant:!0}),K.include($,J),K.include(s,J),K.include(v,J),K.include(S,J),!i(ee))return K.include(b,J),K;K.include(T,J),K.include(V,J),K.include(A,J),K.include(M,J),B(X,J),K.include(n,J),K.include(l,J);const he=re===t.Attribute||re===t.Compressed;return he&&oe&&K.include(o),K.include(u,J),K.include(g,J),ie&&K.attributes.add(W.INSTANCECOLOR,"vec4"),Z.add("vPositionLocal","vec3"),K.include(c,J),K.include(r,J),K.include(d,J),K.include(m,J),X.uniforms.add(new F("externalColor",(r=>"ignore"===r.colorMixMode?e:r.externalColor))),Z.add("vcolorExt","vec4"),K.include(N,J),X.main.add(R`
6
6
  forwardNormalizedVertexColor();
7
7
  vcolorExt = externalColor;
8
8
  ${z(ie,"vcolorExt *= instanceColor * 0.003921568627451;")}
@@ -13,11 +13,11 @@ import{ONES as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{Forw
13
13
  vpos = getVertexInLocalOriginSpace();
14
14
  vPositionLocal = vpos - view[3].xyz;
15
15
  vpos = subtractOrigin(vpos);
16
- ${z(we,"vNormalWorld = dpNormal(vvLocalNormal(normalModel()));")}
16
+ ${z(he,"vNormalWorld = dpNormal(vvLocalNormal(normalModel()));")}
17
17
  vpos = addVerticalOffset(vpos, localOrigin);
18
18
  ${z(me,"vTangent = dpTransformVertexTangent(tangent);")}
19
19
  gl_Position = transformPosition(proj, view, vpos);
20
- ${z(we&&oe,"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);")}
20
+ ${z(he&&oe,"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);")}
21
21
 
22
22
  forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
23
23
  forwardLinearDepth();
@@ -31,7 +31,7 @@ import{ONES as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{Forw
31
31
  if (vcolorExt.a < ${R.float(q)}) {
32
32
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
33
33
  }
34
- `),K.include(h,J),K.include(w,J),K.include(D,J),K.include(de?P:O,J),K.fragment.include(a,J),K.include(k,J),U(Y,J),Y.uniforms.add(X.uniforms.get("localOrigin"),new B("ambient",(e=>e.ambient)),new B("diffuse",(e=>e.diffuse)),new _("opacity",(e=>e.opacity)),new _("layerOpacity",(e=>e.layerOpacity))),ge&&Y.uniforms.add(new G("tex",(e=>e.texture))),K.include(C,J),K.include(L,J),Y.include(E),K.include(y,J),p(Y),f(Y),x(Y),Y.main.add(R`
34
+ `),K.include(h,J),K.include(w,J),K.include(D,J),K.include(de?P:O,J),K.fragment.include(a,J),K.include(k,J),B(Y,J),Y.uniforms.add(X.uniforms.get("localOrigin"),new U("ambient",(e=>e.ambient)),new U("diffuse",(e=>e.diffuse)),new _("opacity",(e=>e.opacity)),new _("layerOpacity",(e=>e.layerOpacity))),ge&&Y.uniforms.add(new G("tex",(e=>e.texture))),K.include(C,J),K.include(L,J),Y.include(E),K.include(y,J),p(Y),f(Y),x(Y),Y.main.add(R`
35
35
  discardBySlice(vpos);
36
36
  discardByTerrainDepth();
37
37
  ${ge?R`
@@ -65,8 +65,8 @@ import{ONES as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{Forw
65
65
 
66
66
  ${ne===j.Normal||ne===j.Schematic?R`
67
67
  float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
68
- ${z(se,R`mrr = mix(mrr, vec3(0.0, 1.0, 0.04), snow);`)}
69
- vec4 emission = ${se?"mix(getEmissions(albedo), vec4(0.0), snow)":"getEmissions(albedo)"};
68
+ vec4 emission = ${we?"vec4(0.0)":"getEmissions(albedo)"};
69
+ ${z(se,"mrr = mix(mrr, vec3(0.0, 1.0, 0.04), snow);\n emission = mix(emission, vec4(0.0), snow);")}
70
70
  vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);`:R`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
71
71
  vec4 finalColor = vec4(shadedColor, opacity_);
72
72
  outputColorHighlightOID(finalColor, vpos, albedo);
@@ -2,12 +2,12 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{ReadDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{Float3BindUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as i}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ScreenSpacePassAtmosphere as m}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as l}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as d}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{NoParameters as g}from"../views/webgl/NoParameters.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";class c extends g{constructor(){super(...arguments),this.color=e(),this.strength=4e-6,this.atmosphereC=1,this.amount=0}}function f(){const e=new p;e.include(m,{needUVs:!0,needEyeDirection:!0});const g=e.fragment;return g.uniforms.add(new s("atmosphereC",(e=>e.atmosphereC)),new a("cameraPosition",(e=>e.camera.eye)),new n("depthTexture",(e=>e.mainDepth)),new s("fogStrength",(e=>e.strength)),new s("fogAmount",(e=>e.amount)),new t("fogColor",(e=>e.color))),e.include(o),g.include(l),g.include(d),g.include(r),g.code.add(i`float getFogAmount(float dist, vec3 rayDir) {
5
+ import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{ReadDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{Float3BindUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as i}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ScreenSpacePassAtmosphere as m}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as l}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as d,ToneMappingFunction as g}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{NoParameters as p}from"../views/webgl/NoParameters.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";class f extends p{constructor(){super(...arguments),this.color=e(),this.strength=4e-6,this.atmosphereC=1,this.amount=0}}function h(){const e=new c;e.include(m,{needUVs:!0,needEyeDirection:!0});const p=e.fragment;return p.uniforms.add(new s("atmosphereC",(e=>e.atmosphereC)),new a("cameraPosition",(e=>e.camera.eye)),new n("depthTexture",(e=>e.mainDepth)),new s("fogStrength",(e=>e.strength)),new s("fogAmount",(e=>e.amount)),new t("fogColor",(e=>e.color))),e.include(o),p.include(l),p.include(d,{toneMapping:g.ACES}),p.include(r),p.code.add(i`float getFogAmount(float dist, vec3 rayDir) {
6
6
  if(dist == -1.0){
7
7
  dist = 0.055 * sphereIntersect(cameraPosition, rayDir, atmosphereC).y;
8
8
  }
9
9
  return fogAmount * (1.0 - exp(-dist * fogStrength));
10
- }`),g.main.add(i`vec3 rayDir = normalize(worldRay);
10
+ }`),p.main.add(i`vec3 rayDir = normalize(worldRay);
11
11
  float terrainDepth = -1.0;
12
12
  float depthSample = depthFromTexture(depthTexture, uv);
13
13
  if(depthSample < 1.0 && depthSample > 0.0){
@@ -18,4 +18,4 @@ terrainDepth = max(0.0, length(cameraSpaceRay));
18
18
  }
19
19
  float fogAmount = getFogAmount(terrainDepth, rayDir);
20
20
  vec4 fog = vec4(fogColor, 1.0) * fogAmount;
21
- fragColor = delinearizeGamma(vec4(tonemapACES(fog.rgb), fog.a));`),e}const h=Object.freeze(Object.defineProperty({__proto__:null,FogPassParameters:c,build:f},Symbol.toStringTag,{value:"Module"}));export{c as F,h as a,f as b};
21
+ fragColor = delinearizeGamma(vec4(tonemapACES(fog.rgb), fog.a));`),e}const u=Object.freeze(Object.defineProperty({__proto__:null,FogPassParameters:f,build:h},Symbol.toStringTag,{value:"Module"}));export{f as F,u as a,h as b};
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ChapmanRaymarching as e}from"../views/3d/environment/ChapmanRaymarching.glsl.js";import{ReadDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{addMainLightDirection as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as n,If as o}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ScreenSpacePassAtmosphere as d}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as s}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as p}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";function h(h){const m=new c,{fragment:g}=m;m.include(d),a(g),m.include(t),g.include(r),g.include(s),g.include(p),g.include(e,!0),g.uniforms.add(new l("depthTexture",(e=>e.mainDepth)),new i("hazeStrength",(e=>e.hazeStrength)));const{reduced:u}=h;return u&&g.code.add(n`float getDepth(vec2 uv){
5
+ import{ChapmanRaymarching as e}from"../views/3d/environment/ChapmanRaymarching.glsl.js";import{ReadDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{addMainLightDirection as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as n,If as o}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{ScreenSpacePassAtmosphere as d}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as s}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as p}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";function h(h){const m=new c,{fragment:g}=m;m.include(d),a(g),m.include(t),g.include(r),g.include(s),g.include(p,h),g.include(e,!0),g.uniforms.add(new l("depthTexture",(e=>e.mainDepth)),new i("hazeStrength",(e=>e.hazeStrength)));const{reduced:u}=h;return u&&g.code.add(n`float getDepth(vec2 uv){
6
6
  return linearDepthFromTexture(depthTexture, uv);
7
7
  }
8
8
  float textureBilinear(vec2 uv) {
@@ -6,6 +6,7 @@ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/Scr
6
6
  float srcAlpha = texture(alphaTexture, uv).r;
7
7
  if(srcAlpha == 0.0){
8
8
  fragColor = vec4(0.0);
9
+ ${o(i,"fragEmission = vec4(0.0);")}
9
10
  return;
10
11
  }
11
12
 
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ForwardLinearDepth as e,addNearFar as i}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{isColorOrColorEmission as a,ShaderOutput as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as l}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{PathVertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{OutputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as m,addAmbientBoostFactor as g,addLightingGlobalFactor as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRenderingParameters as b,PBRMode as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapDraw as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as L,addViewNormal as P,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as O}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as A,If as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOID as I}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as B}from"../views/webgl/ShaderBuilder.js";function F(F){const V=new B,{vertex:_,fragment:x,varyings:z}=V;L(_,F),z.add("vpos","vec3",{invariant:!0}),V.include(s,F);const{output:M,spherical:H,pbrMode:N,receiveShadows:k}=F,E=a(M);switch((E||M===o.ObjectAndLayerIdColor)&&(V.include(l,F),V.include(f,F),V.include(e,F),V.include(n,F),V.include(y,F),z.add("vnormal","vec3"),z.add("vcolor","vec4"),_.main.add(A`
5
+ import{ForwardLinearDepth as e,addNearFar as i}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{isColorOrColorEmission as a,ShaderOutput as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as l}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{PathVertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{OutputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as m,addAmbientBoostFactor as g,addLightingGlobalFactor as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRenderingParameters as b,PBRMode as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapDraw as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as L,addViewNormal as P,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as O}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as A,If as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOID as I}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as B}from"../views/webgl/ShaderBuilder.js";function F(F){const V=new B,{vertex:_,fragment:x,varyings:z}=V;L(_,F),z.add("vpos","vec3",{invariant:!0}),V.include(s,F);const{output:M,spherical:H,pbrMode:N,receiveShadows:$,hasBloom:k}=F,E=a(M);switch((E||M===o.ObjectAndLayerIdColor)&&(V.include(l,F),V.include(f,F),V.include(e,F),V.include(n,F),V.include(y,F),z.add("vnormal","vec3"),z.add("vcolor","vec4"),_.main.add(A`
6
6
  vpos = calculateVPos();
7
7
  vnormal = normalize(localNormal());
8
8
  forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
@@ -26,12 +26,12 @@ import{ForwardLinearDepth as e,addNearFar as i}from"../views/3d/webgl-engine/cor
26
26
 
27
27
  float additionalAmbientScale = additionalDirectedAmbientLight(posWorld);
28
28
  vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
29
- float shadow = ${k?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), readShadowMap(vpos, linearDepth));":H?"lightingGlobalFactor * (1.0 - additionalAmbientScale);":"0.0;"}
29
+ float shadow = ${$?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), readShadowMap(vpos, linearDepth));":H?"lightingGlobalFactor * (1.0 - additionalAmbientScale);":"0.0;"}
30
30
  vec3 albedo = vcolor.rgb * max(ambient, diffuse); // combine the old material parameters into a single one
31
31
  float combinedOpacity = vcolor.a * opacity;
32
32
  albedo += 0.25 * specular; // don't completely ignore specular for now
33
33
 
34
- ${D(N===w.Schematic,"float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];\n vec4 emission = getEmissions(albedo);")}
34
+ ${D(N===w.Schematic,`float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];\n vec4 emission = ${k?"vec4(0.0)":"getEmissions(albedo)"};`)}
35
35
 
36
36
  vec3 shadedColor = ${N===w.Schematic?"evaluateSceneLightingPBR(normal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);":"evaluateSceneLighting(normal, albedo, shadow, 1.0 - ssao, additionalLight);"}
37
37
  vec4 finalColor = vec4(shadedColor, combinedOpacity);
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as o}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as g}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{EvaluateAmbientOcclusion as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as v,addAmbientBoostFactor as b,addLightingGlobalFactor as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightDirection as p,addMainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRendering as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PBRMode as f,PhysicallyBasedRenderingParameters as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as y,ReadShadowMapDraw as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as P}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as M,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as A}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as F,If as N}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as $}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as I}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as V}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as T}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as B}from"../webscene/support/AlphaCutoff.js";function R(R){const _=new T,{attributes:z,vertex:k,fragment:G,varyings:U}=_,{output:W,offsetBackfaces:H,instancedColor:q,pbrMode:J,snowCover:K,spherical:Q}=R,X=J===f.Normal||J===f.Schematic;if(M(k,R),z.add(I.POSITION,"vec3"),U.add("vpos","vec3",{invariant:!0}),_.include(j,R),_.include(l,R),_.include(c,R),_.include(L,R),r(W)&&(S(_.vertex,R),_.include(t,R),_.include(a,R),H&&_.include(o),q&&_.attributes.add(I.INSTANCECOLOR,"vec4"),U.add("vNormalWorld","vec3"),U.add("localvpos","vec3",{invariant:!0}),_.include(n,R),_.include(e,R),_.include(s,R),_.include(d,R),k.uniforms.add(new E("externalColor",(e=>e.externalColor))),U.add("vcolorExt","vec4"),k.main.add(F`
5
+ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as o}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as g}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{EvaluateAmbientOcclusion as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as v,addAmbientBoostFactor as b,addLightingGlobalFactor as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightDirection as h,addMainLightIntensity as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRendering as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PBRMode as f,PhysicallyBasedRenderingParameters as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as y,ReadShadowMapDraw as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as P}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as M,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as A}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as F,If as N}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as $}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as I}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as V}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as T}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as B}from"../webscene/support/AlphaCutoff.js";function R(R){const _=new T,{attributes:z,vertex:k,fragment:G,varyings:U}=_,{output:W,offsetBackfaces:H,instancedColor:q,pbrMode:J,snowCover:K,spherical:Q,hasBloom:X}=R,Y=J===f.Normal||J===f.Schematic;if(M(k,R),z.add(I.POSITION,"vec3"),U.add("vpos","vec3",{invariant:!0}),_.include(j,R),_.include(l,R),_.include(c,R),_.include(L,R),r(W)&&(S(_.vertex,R),_.include(t,R),_.include(a,R),H&&_.include(o),q&&_.attributes.add(I.INSTANCECOLOR,"vec4"),U.add("vNormalWorld","vec3"),U.add("localvpos","vec3",{invariant:!0}),_.include(n,R),_.include(e,R),_.include(s,R),_.include(d,R),k.uniforms.add(new E("externalColor",(e=>e.externalColor))),U.add("vcolorExt","vec4"),k.main.add(F`
6
6
  forwardNormalizedVertexColor();
7
7
  vcolorExt = externalColor;
8
8
  ${N(q,"vcolorExt *= instanceColor * 0.003921568627451;")}
@@ -24,7 +24,7 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
24
24
 
25
25
  gl_Position = alphaCut ? vec4(1e38, 1e38, 1e38, 1.0) :
26
26
  ${N(H,"offsetBackfacingClipPosition(basePosition, vpos, vNormalWorld, cameraPosition);","basePosition;")}
27
- `)),r(W)){const{hasColorTexture:e,hasColorTextureTransform:o,receiveShadows:r}=R;_.include(v,R),_.include(m,R),_.include(O,R),_.include(R.instancedDoublePrecision?y:C,R),_.fragment.include(i,R),_.include(V,R),S(_.fragment,R),p(G),b(G),w(G),G.uniforms.add(k.uniforms.get("localOrigin"),k.uniforms.get("view"),new A("ambient",(e=>e.ambient)),new A("diffuse",(e=>e.diffuse)),new D("opacity",(e=>e.opacity)),new D("layerOpacity",(e=>e.layerOpacity))),e&&G.uniforms.add(new $("tex",(e=>e.texture))),_.include(x,R),_.include(u,R),G.include(P),h(G),G.main.add(F`
27
+ `)),r(W)){const{hasColorTexture:e,hasColorTextureTransform:o,receiveShadows:r}=R;_.include(v,R),_.include(m,R),_.include(O,R),_.include(R.instancedDoublePrecision?y:C,R),_.fragment.include(i,R),_.include(V,R),S(_.fragment,R),h(G),b(G),w(G),G.uniforms.add(k.uniforms.get("localOrigin"),k.uniforms.get("view"),new A("ambient",(e=>e.ambient)),new A("diffuse",(e=>e.diffuse)),new D("opacity",(e=>e.opacity)),new D("layerOpacity",(e=>e.layerOpacity))),e&&G.uniforms.add(new $("tex",(e=>e.texture))),_.include(x,R),_.include(u,R),G.include(P),p(G),G.main.add(F`
28
28
  discardBySlice(vpos);
29
29
  discardByTerrainDepth();
30
30
  vec4 texColor = ${e?`texture(tex, ${o?"colorUV":"vuv0"})`:" vec4(1.0)"};
@@ -50,10 +50,10 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
50
50
  float treeRadialFalloff = vColor.r;
51
51
  float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);
52
52
  additionalLight += backLightFactor * mainLightIntensity;`}
53
- ${N(X,`vec3 normalGround = ${Q?"normalize(vpos + localOrigin)":"vec3(0.0, 0.0, 1.0)"};`)}
54
- ${X?F`float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
53
+ ${N(Y,`vec3 normalGround = ${Q?"normalize(vpos + localOrigin)":"vec3(0.0, 0.0, 1.0)"};`)}
54
+ ${Y?F`float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
55
55
  ${N(K,F`mrr = vec3(0.0, 1.0, 0.04);`)}
56
- vec4 emission = ${K?"vec4(0.0)":"getEmissions(albedo)"};
56
+ vec4 emission = ${K||X?"vec4(0.0)":"getEmissions(albedo)"};
57
57
  vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);`:F`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
58
58
  vec4 finalColor = vec4(shadedColor, opacity_);
59
59
  outputColorHighlightOID(finalColor, vpos, albedo);`)}return _.include(g,R),_}const _=Object.freeze(Object.defineProperty({__proto__:null,build:R},Symbol.toStringTag,{value:"Module"}));export{_ as R,R as b};
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as r}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ScreenSpacePass as t}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{CameraSpace as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{Float2BindUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float2PassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{FloatBindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";const d=16;function m(){const r=new f,m=r.fragment;return r.include(t),r.include(a),m.include(o),m.uniforms.add(new s("radius",(e=>v(e.camera)))).code.add(l`vec3 sphere[16] = vec3[16](
5
+ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as r}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ScreenSpacePass as t}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{CameraSpace as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{Float2BindUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float2PassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{FloatBindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";const d=16;function m(){const r=new f,m=r.fragment;return r.include(t),r.include(a),m.include(o),m.uniforms.add(new s("radius",(e=>v(e.camera)))).code.add(l`vec3 sphere[16] = vec3[16](
6
6
  vec3(0.186937, 0.0, 0.0),
7
7
  vec3(0.700542, 0.0, 0.0),
8
8
  vec3(-0.864858, -0.481795, -0.111713),
@@ -28,7 +28,7 @@ vec3 v = Q - C;
28
28
  float vv = dot(v, v);
29
29
  float vn = dot(normalize(v), n_C);
30
30
  return fallOffFunction(vv, vn, 0.1);
31
- }`),m.uniforms.add(new u("normalMap",(e=>e.normalTexture)),new u("depthMap",(e=>e.depthTexture)),new c("projScale",(e=>e.projScale)),new u("rnm",(e=>e.noiseTexture)),new i("rnmScale",((r,t)=>e(p,t.camera.fullWidth/r.noiseTexture.descriptor.width,t.camera.fullHeight/r.noiseTexture.descriptor.height))),new c("intensity",(e=>e.intensity)),new n("screenSize",(r=>e(p,r.camera.fullWidth,r.camera.fullHeight)))),r.outputs.add("fragOcclusion","float"),m.main.add(l`
31
+ }`),m.uniforms.add(new u("normalMap",(e=>e.normalTexture)),new u("depthMap",(e=>e.depthTexture)),new c("projScale",(e=>e.projScale)),new u("rnm",(e=>e.noiseTexture)),new n("rnmScale",((r,t)=>e(p,t.camera.fullWidth/r.noiseTexture.descriptor.width,t.camera.fullHeight/r.noiseTexture.descriptor.height))),new c("intensity",(e=>e.intensity)),new i("screenSize",(r=>e(p,r.camera.fullWidth,r.camera.fullHeight)))),r.outputs.add("fragOcclusion","float"),m.main.add(l`
32
32
  float depth = depthFromTexture(depthMap, uv);
33
33
 
34
34
  // Early out if depth is out of range, such as in the sky
@@ -38,12 +38,13 @@ return fallOffFunction(vv, vn, 0.1);
38
38
  }
39
39
 
40
40
  // get the normal of current fragment
41
- vec4 norm4 = texture(normalMap, uv);
41
+ ivec2 iuv = ivec2(uv * vec2(textureSize(normalMap, 0)));
42
+ vec4 norm4 = texelFetch(normalMap, iuv, 0);
42
43
  if(norm4.a != 1.0) {
43
44
  fragOcclusion = 1.0;
44
45
  return;
45
46
  }
46
- vec3 norm = vec3(-1.0) + 2.0 * norm4.xyz;
47
+ vec3 norm = normalize(norm4.xyz * 2.0 - 1.0);
47
48
 
48
49
  float currentPixelDepth = linearizeDepth(depth);
49
50
  vec3 currentPixelPos = reconstructPosition(gl_FragCoord.xy, currentPixelDepth);
@@ -102,7 +102,7 @@ return false;
102
102
  }
103
103
  float normalCosAngle(float linearDepth, vec3 localPosition) {
104
104
  vec4 normal4 = texture(normalMap, uv);
105
- vec3 normalN = vec3(-1.0) + 2.0 * normal4.xyz;
105
+ vec3 normalN = normalize(normal4.xyz * 2.0 - 1.0);
106
106
  vec3 normal = normalize((inverseViewNormalMatrix * vec4(normalN, 1.0)).xyz);
107
107
  vec3 viewingDir = normalize(localPosition);
108
108
  return dot(normal, viewingDir);
@@ -4,4 +4,5 @@ export const createAbortError: __esri.promiseUtils["createAbortError"];
4
4
  export const debounce: __esri.promiseUtils["debounce"];
5
5
  export const eachAlways: __esri.promiseUtils["eachAlways"];
6
6
  export const filter: __esri.promiseUtils["filter"];
7
+ export const ignoreAbortErrors: __esri.promiseUtils["ignoreAbortErrors"];
7
8
  export const isAbortError: __esri.promiseUtils["isAbortError"];
@@ -1,6 +1,10 @@
1
1
  import "../interfaces";
2
2
 
3
3
  export const addProxyRule: __esri.urlUtils["addProxyRule"];
4
+ export const dataToArrayBuffer: __esri.urlUtils["dataToArrayBuffer"];
5
+ export const dataToBlob: __esri.urlUtils["dataToBlob"];
6
+ export const downloadBlobAsFile: __esri.urlUtils["downloadBlobAsFile"];
7
+ export const downloadDataAsFile: __esri.urlUtils["downloadDataAsFile"];
4
8
  export const getProxyRule: __esri.urlUtils["getProxyRule"];
5
9
  export const isDataProtocol: __esri.urlUtils["isDataProtocol"];
6
10
  export const isHTTPSProtocol: __esri.urlUtils["isHTTPSProtocol"];
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../chunks/tslib.es6.js";import"../intl.js";import{property as e}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import s from"../widgets/Widget.js";import{loadCalciteComponents as i}from"../widgets/support/componentsUtils.js";import{setFocus as n}from"../widgets/support/widgetUtils.js";import{messageBundle as r}from"../widgets/support/decorators/messageBundle.js";import{tsx as l}from"../widgets/support/jsxFactory.js";import{getCalciteThemeClass as a}from"../support/themeUtils.js";import{substitute as c}from"../intl/substitute.js";const p="esri-identity-modal",u={base:p,info:`${p}__info`,notice:`${p}__notice`},d="ArcGIS Online";let m=class extends s{constructor(t,e){super(t,e),this.container=document.createElement("div"),this.error=null,this.oAuthPrompt=!1,this.open=!1,this.signingIn=!1,this.server=null,this.resource=null,this._usernameInputNode=null,this._passwordInputNode=null,document.body.appendChild(this.container)}loadDependencies(){return i({button:()=>import("@esri/calcite-components/dist/components/calcite-button"),dialog:()=>import("@esri/calcite-components/dist/components/calcite-dialog"),input:()=>import("@esri/calcite-components/dist/components/calcite-input"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice")})}get title(){return this.commonMessages?.auth.signIn}render(){const{open:t,title:e,messages:o,signingIn:s,oAuthPrompt:i,server:n,resource:r,error:p}=this,{info:m,oAuthInfo:h,lblItem:g,invalidUser:b,noAuthService:f,lblUser:v,lblPwd:_,lblCancel:y,lblSigning:I,lblOk:w}=o;return l("div",{class:this.classes(u.base,a())},l("form",{bind:this,onsubmit:this._submit},l("calcite-dialog",{bind:this,heading:e,modal:!0,open:t,outsideCloseDisabled:!0,scale:"s",widthScale:"s",onCalciteDialogClose:this._cancel,onCalciteDialogOpen:this._focusUsernameInput},l("div",{class:u.info},c(i?h:m,{server:n&&/\.arcgis\.com/i.test(n)?d:n,resource:`(${r||g})`})),p?l("calcite-notice",{class:u.notice,icon:"exclamation-mark-triangle",kind:"danger",open:!0},l("div",{slot:"message"},p.details?.httpStatus?b:f)):null,i?null:[l("calcite-label",null,v,l("calcite-input",{afterCreate:t=>this._usernameInputNode=t,autocomplete:"off",bind:this,name:"username",required:!0,spellcheck:!1,type:"text",value:""})),l("calcite-label",null,_,l("calcite-input",{afterCreate:t=>this._passwordInputNode=t,bind:this,name:"password",required:!0,type:"password",value:""}))],l("calcite-button",{appearance:"outline",bind:this,onclick:this._cancel,slot:"footer-end",type:"button"},y),l("calcite-button",{loading:!!s,slot:"footer-end",type:"submit"},s?I:w))))}_focusUsernameInput(){return n((()=>this._usernameInputNode))}_cancel(){this._set("signingIn",!1),this.open=!1,this._usernameInputNode&&(this._usernameInputNode.value=""),this._passwordInputNode&&(this._passwordInputNode.value=""),this.emit("cancel")}_submit(t){t.preventDefault(),this._set("signingIn",!0);const e=this.oAuthPrompt?{}:{username:this._usernameInputNode?.value,password:this._passwordInputNode?.value};this.emit("submit",e)}};t([e({readOnly:!0})],m.prototype,"container",void 0),t([e(),r("esri/t9n/common")],m.prototype,"commonMessages",void 0),t([e()],m.prototype,"error",void 0),t([e(),r("esri/identity/t9n/identity")],m.prototype,"messages",void 0),t([e()],m.prototype,"oAuthPrompt",void 0),t([e()],m.prototype,"open",void 0),t([e()],m.prototype,"signingIn",void 0),t([e()],m.prototype,"server",void 0),t([e({readOnly:!0})],m.prototype,"title",null),t([e()],m.prototype,"resource",void 0),m=t([o("esri.identity.IdentityModal")],m);const h=m;export{h as default};
5
+ import{_ as t}from"../chunks/tslib.es6.js";import"../intl.js";import{property as e}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import s from"../widgets/Widget.js";import{loadCalciteComponents as i}from"../widgets/support/componentsUtils.js";import{setFocus as n}from"../widgets/support/widgetUtils.js";import{messageBundle as r}from"../widgets/support/decorators/messageBundle.js";import{tsx as l}from"../widgets/support/jsxFactory.js";import{getCalciteModeClass as a}from"../support/modeUtils.js";import{substitute as c}from"../intl/substitute.js";const p="esri-identity-modal",d={base:p,info:`${p}__info`,notice:`${p}__notice`},u="ArcGIS Online";let m=class extends s{constructor(t,e){super(t,e),this.container=document.createElement("div"),this.error=null,this.oAuthPrompt=!1,this.open=!1,this.signingIn=!1,this.server=null,this.resource=null,this._usernameInputNode=null,this._passwordInputNode=null,document.body.appendChild(this.container)}loadDependencies(){return i({button:()=>import("@esri/calcite-components/dist/components/calcite-button"),dialog:()=>import("@esri/calcite-components/dist/components/calcite-dialog"),input:()=>import("@esri/calcite-components/dist/components/calcite-input"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice")})}get title(){return this.commonMessages?.auth.signIn}render(){const{open:t,title:e,messages:o,signingIn:s,oAuthPrompt:i,server:n,resource:r,error:p}=this,{info:m,oAuthInfo:h,lblItem:g,invalidUser:b,noAuthService:f,lblUser:v,lblPwd:_,lblCancel:y,lblSigning:I,lblOk:w}=o;return l("div",{class:this.classes(d.base,a())},l("form",{bind:this,onsubmit:this._submit},l("calcite-dialog",{bind:this,heading:e,modal:!0,open:t,outsideCloseDisabled:!0,scale:"s",widthScale:"s",onCalciteDialogClose:this._cancel,onCalciteDialogOpen:this._focusUsernameInput},l("div",{class:d.info},c(i?h:m,{server:n&&/\.arcgis\.com/i.test(n)?u:n,resource:`(${r||g})`})),p?l("calcite-notice",{class:d.notice,icon:"exclamation-mark-triangle",kind:"danger",open:!0},l("div",{slot:"message"},p.details?.httpStatus?b:f)):null,i?null:[l("calcite-label",null,v,l("calcite-input",{afterCreate:t=>this._usernameInputNode=t,autocomplete:"off",bind:this,name:"username",required:!0,spellcheck:!1,type:"text",value:""})),l("calcite-label",null,_,l("calcite-input",{afterCreate:t=>this._passwordInputNode=t,bind:this,name:"password",required:!0,type:"password",value:""}))],l("calcite-button",{appearance:"outline",bind:this,onclick:this._cancel,slot:"footer-end",type:"button"},y),l("calcite-button",{loading:!!s,slot:"footer-end",type:"submit"},s?I:w))))}_focusUsernameInput(){return n((()=>this._usernameInputNode))}_cancel(){this._set("signingIn",!1),this.open=!1,this._usernameInputNode&&(this._usernameInputNode.value=""),this._passwordInputNode&&(this._passwordInputNode.value=""),this.emit("cancel")}_submit(t){t.preventDefault(),this._set("signingIn",!0);const e=this.oAuthPrompt?{}:{username:this._usernameInputNode?.value,password:this._passwordInputNode?.value};this.emit("submit",e)}};t([e({readOnly:!0})],m.prototype,"container",void 0),t([e(),r("esri/t9n/common")],m.prototype,"commonMessages",void 0),t([e()],m.prototype,"error",void 0),t([e(),r("esri/identity/t9n/identity")],m.prototype,"messages",void 0),t([e()],m.prototype,"oAuthPrompt",void 0),t([e()],m.prototype,"open",void 0),t([e()],m.prototype,"signingIn",void 0),t([e()],m.prototype,"server",void 0),t([e({readOnly:!0})],m.prototype,"title",null),t([e()],m.prototype,"resource",void 0),m=t([o("esri.identity.IdentityModal")],m);const h=m;export{h as default};