@babylonjs/viewer 7.41.0-alpha → 7.41.0

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 (619) hide show
  1. package/configuration/configuration.d.ts +107 -0
  2. package/configuration/configuration.js +16 -0
  3. package/configuration/configuration.js.map +1 -0
  4. package/configuration/configurationCompatibility.d.ts +8 -0
  5. package/configuration/configurationCompatibility.js +66 -0
  6. package/configuration/configurationCompatibility.js.map +1 -0
  7. package/configuration/configurationContainer.d.ts +10 -0
  8. package/configuration/configurationContainer.js +10 -0
  9. package/configuration/configurationContainer.js.map +1 -0
  10. package/configuration/globals.d.ts +6 -0
  11. package/configuration/globals.js +18 -0
  12. package/configuration/globals.js.map +1 -0
  13. package/configuration/index.d.ts +2 -0
  14. package/configuration/index.js +4 -0
  15. package/configuration/index.js.map +1 -0
  16. package/configuration/interfaces/cameraConfiguration.d.ts +31 -0
  17. package/configuration/interfaces/cameraConfiguration.js +2 -0
  18. package/configuration/interfaces/cameraConfiguration.js.map +1 -0
  19. package/configuration/interfaces/colorGradingConfiguration.d.ts +81 -0
  20. package/configuration/interfaces/colorGradingConfiguration.js +2 -0
  21. package/configuration/interfaces/colorGradingConfiguration.js.map +1 -0
  22. package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +20 -0
  23. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +2 -0
  24. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +1 -0
  25. package/configuration/interfaces/environmentMapConfiguration.d.ts +22 -0
  26. package/configuration/interfaces/environmentMapConfiguration.js +2 -0
  27. package/configuration/interfaces/environmentMapConfiguration.js.map +1 -0
  28. package/configuration/interfaces/groundConfiguration.d.ts +24 -0
  29. package/configuration/interfaces/groundConfiguration.js +2 -0
  30. package/configuration/interfaces/groundConfiguration.js.map +1 -0
  31. package/configuration/interfaces/imageProcessingConfiguration.d.ts +45 -0
  32. package/configuration/interfaces/imageProcessingConfiguration.js +2 -0
  33. package/configuration/interfaces/imageProcessingConfiguration.js.map +1 -0
  34. package/configuration/interfaces/index.d.ts +15 -0
  35. package/configuration/interfaces/index.js +16 -0
  36. package/configuration/interfaces/index.js.map +1 -0
  37. package/configuration/interfaces/lightConfiguration.d.ts +60 -0
  38. package/configuration/interfaces/lightConfiguration.js +2 -0
  39. package/configuration/interfaces/lightConfiguration.js.map +1 -0
  40. package/configuration/interfaces/modelAnimationConfiguration.d.ts +26 -0
  41. package/configuration/interfaces/modelAnimationConfiguration.js +2 -0
  42. package/configuration/interfaces/modelAnimationConfiguration.js.map +1 -0
  43. package/configuration/interfaces/modelConfiguration.d.ts +65 -0
  44. package/configuration/interfaces/modelConfiguration.js +2 -0
  45. package/configuration/interfaces/modelConfiguration.js.map +1 -0
  46. package/configuration/interfaces/observersConfiguration.d.ts +5 -0
  47. package/configuration/interfaces/observersConfiguration.js +2 -0
  48. package/configuration/interfaces/observersConfiguration.js.map +1 -0
  49. package/configuration/interfaces/sceneConfiguration.d.ts +48 -0
  50. package/configuration/interfaces/sceneConfiguration.js +2 -0
  51. package/configuration/interfaces/sceneConfiguration.js.map +1 -0
  52. package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +23 -0
  53. package/configuration/interfaces/sceneOptimizerConfiguration.js +2 -0
  54. package/configuration/interfaces/sceneOptimizerConfiguration.js.map +1 -0
  55. package/configuration/interfaces/skyboxConfiguration.d.ts +21 -0
  56. package/configuration/interfaces/skyboxConfiguration.js +2 -0
  57. package/configuration/interfaces/skyboxConfiguration.js.map +1 -0
  58. package/configuration/interfaces/templateConfiguration.d.ts +67 -0
  59. package/configuration/interfaces/templateConfiguration.js +2 -0
  60. package/configuration/interfaces/templateConfiguration.js.map +1 -0
  61. package/configuration/interfaces/vrConfiguration.d.ts +16 -0
  62. package/configuration/interfaces/vrConfiguration.js +2 -0
  63. package/configuration/interfaces/vrConfiguration.js.map +1 -0
  64. package/configuration/loader.d.ts +4 -0
  65. package/configuration/loader.js +17 -0
  66. package/configuration/loader.js.map +1 -0
  67. package/configuration/mappers.d.ts +43 -0
  68. package/configuration/mappers.js +193 -0
  69. package/configuration/mappers.js.map +1 -0
  70. package/configuration/renderOnlyLoader.d.ts +33 -0
  71. package/configuration/renderOnlyLoader.js +162 -0
  72. package/configuration/renderOnlyLoader.js.map +1 -0
  73. package/configuration/types/default.d.ts +6 -0
  74. package/configuration/types/default.js +121 -0
  75. package/configuration/types/default.js.map +1 -0
  76. package/configuration/types/environmentMap.d.ts +5 -0
  77. package/configuration/types/environmentMap.js +14 -0
  78. package/configuration/types/environmentMap.js.map +1 -0
  79. package/configuration/types/extended.d.ts +6 -0
  80. package/configuration/types/extended.js +317 -0
  81. package/configuration/types/extended.js.map +1 -0
  82. package/configuration/types/index.d.ts +14 -0
  83. package/configuration/types/index.js +51 -0
  84. package/configuration/types/index.js.map +1 -0
  85. package/configuration/types/minimal.d.ts +6 -0
  86. package/configuration/types/minimal.js +43 -0
  87. package/configuration/types/minimal.js.map +1 -0
  88. package/configuration/types/renderOnlyDefault.d.ts +30 -0
  89. package/configuration/types/renderOnlyDefault.js +31 -0
  90. package/configuration/types/renderOnlyDefault.js.map +1 -0
  91. package/configuration/types/shadowLight.d.ts +9 -0
  92. package/configuration/types/shadowLight.js +64 -0
  93. package/configuration/types/shadowLight.js.map +1 -0
  94. package/helper/index.d.ts +29 -0
  95. package/helper/index.js +66 -0
  96. package/helper/index.js.map +1 -0
  97. package/index.d.ts +30 -0
  98. package/index.js +46 -0
  99. package/index.js.map +1 -0
  100. package/initializer.d.ts +11 -0
  101. package/initializer.js +35 -0
  102. package/initializer.js.map +1 -0
  103. package/interfaces.d.ts +5 -0
  104. package/interfaces.js +7 -0
  105. package/interfaces.js.map +1 -0
  106. package/labs/environmentSerializer.d.ts +126 -0
  107. package/labs/environmentSerializer.js +191 -0
  108. package/labs/environmentSerializer.js.map +1 -0
  109. package/labs/texture.d.ts +183 -0
  110. package/labs/texture.js +351 -0
  111. package/labs/texture.js.map +1 -0
  112. package/labs/viewerLabs.d.ts +51 -0
  113. package/labs/viewerLabs.js +134 -0
  114. package/labs/viewerLabs.js.map +1 -0
  115. package/loader/modelLoader.d.ts +56 -0
  116. package/loader/modelLoader.js +202 -0
  117. package/loader/modelLoader.js.map +1 -0
  118. package/loader/plugins/applyMaterialConfig.d.ts +12 -0
  119. package/loader/plugins/applyMaterialConfig.js +16 -0
  120. package/loader/plugins/applyMaterialConfig.js.map +1 -0
  121. package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +9 -0
  122. package/loader/plugins/extendedMaterialLoaderPlugin.js +16 -0
  123. package/loader/plugins/extendedMaterialLoaderPlugin.js.map +1 -0
  124. package/loader/plugins/index.d.ts +19 -0
  125. package/loader/plugins/index.js +44 -0
  126. package/loader/plugins/index.js.map +1 -0
  127. package/loader/plugins/loaderPlugin.d.ts +24 -0
  128. package/loader/plugins/loaderPlugin.js +2 -0
  129. package/loader/plugins/loaderPlugin.js.map +1 -0
  130. package/loader/plugins/msftLodLoaderPlugin.d.ts +12 -0
  131. package/loader/plugins/msftLodLoaderPlugin.js +21 -0
  132. package/loader/plugins/msftLodLoaderPlugin.js.map +1 -0
  133. package/loader/plugins/telemetryLoaderPlugin.d.ts +12 -0
  134. package/loader/plugins/telemetryLoaderPlugin.js +36 -0
  135. package/loader/plugins/telemetryLoaderPlugin.js.map +1 -0
  136. package/managers/observablesManager.d.ts +66 -0
  137. package/managers/observablesManager.js +35 -0
  138. package/managers/observablesManager.js.map +1 -0
  139. package/managers/sceneManager.d.ts +245 -0
  140. package/managers/sceneManager.js +1375 -0
  141. package/managers/sceneManager.js.map +1 -0
  142. package/managers/telemetryManager.d.ts +78 -0
  143. package/managers/telemetryManager.js +117 -0
  144. package/managers/telemetryManager.js.map +1 -0
  145. package/model/modelAnimation.d.ts +215 -0
  146. package/model/modelAnimation.js +237 -0
  147. package/model/modelAnimation.js.map +1 -0
  148. package/model/viewerModel.d.ts +233 -0
  149. package/model/viewerModel.js +673 -0
  150. package/model/viewerModel.js.map +1 -0
  151. package/optimizer/custom/extended.d.ts +13 -0
  152. package/optimizer/custom/extended.js +101 -0
  153. package/optimizer/custom/extended.js.map +1 -0
  154. package/optimizer/custom/index.d.ts +9 -0
  155. package/optimizer/custom/index.js +26 -0
  156. package/optimizer/custom/index.js.map +1 -0
  157. package/package.json +28 -19
  158. package/readme.md +28 -28
  159. package/renderOnlyIndex.d.ts +11 -0
  160. package/renderOnlyIndex.js +18 -0
  161. package/renderOnlyIndex.js.map +1 -0
  162. package/templating/eventManager.d.ts +35 -0
  163. package/templating/eventManager.js +66 -0
  164. package/templating/eventManager.js.map +1 -0
  165. package/templating/plugins/hdButtonPlugin.d.ts +9 -0
  166. package/templating/plugins/hdButtonPlugin.js +22 -0
  167. package/templating/plugins/hdButtonPlugin.js.map +1 -0
  168. package/templating/plugins/printButton.d.ts +9 -0
  169. package/templating/plugins/printButton.js +41 -0
  170. package/templating/plugins/printButton.js.map +1 -0
  171. package/templating/templateManager.d.ts +197 -0
  172. package/templating/templateManager.js +561 -0
  173. package/templating/templateManager.js.map +1 -0
  174. package/templating/viewerTemplatePlugin.d.ts +21 -0
  175. package/templating/viewerTemplatePlugin.js +69 -0
  176. package/templating/viewerTemplatePlugin.js.map +1 -0
  177. package/viewer/defaultViewer.d.ts +130 -0
  178. package/viewer/defaultViewer.js +672 -0
  179. package/viewer/defaultViewer.js.map +1 -0
  180. package/viewer/renderOnlyViewer.d.ts +9 -0
  181. package/viewer/renderOnlyViewer.js +46 -0
  182. package/viewer/renderOnlyViewer.js.map +1 -0
  183. package/viewer/viewer.d.ts +258 -0
  184. package/viewer/viewer.js +783 -0
  185. package/viewer/viewer.js.map +1 -0
  186. package/viewer/viewerManager.d.ts +58 -0
  187. package/viewer/viewerManager.js +91 -0
  188. package/viewer/viewerManager.js.map +1 -0
  189. package/viewer/viewerWithTemplate.d.ts +9 -0
  190. package/viewer/viewerWithTemplate.js +20 -0
  191. package/viewer/viewerWithTemplate.js.map +1 -0
  192. package/assets/photoStudio.env +0 -0
  193. package/dist/babylon-viewer.esm.js +0 -2
  194. package/dist/babylon-viewer.esm.js.map +0 -1
  195. package/dist/babylon-viewer.esm.min.js +0 -2
  196. package/dist/babylon-viewer.esm.min.js.map +0 -1
  197. package/dist/chunks/EXT_lights_ies-CFzvmxxg.esm.min.js +0 -2
  198. package/dist/chunks/EXT_lights_ies-CFzvmxxg.esm.min.js.map +0 -1
  199. package/dist/chunks/EXT_lights_ies-cyFdY7yl.esm.js +0 -84
  200. package/dist/chunks/EXT_lights_ies-cyFdY7yl.esm.js.map +0 -1
  201. package/dist/chunks/EXT_lights_image_based-BNmSqx40.esm.min.js +0 -2
  202. package/dist/chunks/EXT_lights_image_based-BNmSqx40.esm.min.js.map +0 -1
  203. package/dist/chunks/EXT_lights_image_based-CC48JVU0.esm.js +0 -171
  204. package/dist/chunks/EXT_lights_image_based-CC48JVU0.esm.js.map +0 -1
  205. package/dist/chunks/EXT_mesh_gpu_instancing-B2qj3kQu.esm.js +0 -86
  206. package/dist/chunks/EXT_mesh_gpu_instancing-B2qj3kQu.esm.js.map +0 -1
  207. package/dist/chunks/EXT_mesh_gpu_instancing-lanrAAoi.esm.min.js +0 -2
  208. package/dist/chunks/EXT_mesh_gpu_instancing-lanrAAoi.esm.min.js.map +0 -1
  209. package/dist/chunks/EXT_meshopt_compression-DjvHx7gJ.esm.js +0 -134
  210. package/dist/chunks/EXT_meshopt_compression-DjvHx7gJ.esm.js.map +0 -1
  211. package/dist/chunks/EXT_meshopt_compression-oH6HzGir.esm.min.js +0 -2
  212. package/dist/chunks/EXT_meshopt_compression-oH6HzGir.esm.min.js.map +0 -1
  213. package/dist/chunks/EXT_texture_avif-BYWETW7-.esm.min.js +0 -2
  214. package/dist/chunks/EXT_texture_avif-BYWETW7-.esm.min.js.map +0 -1
  215. package/dist/chunks/EXT_texture_avif-CKXEq29h.esm.js +0 -44
  216. package/dist/chunks/EXT_texture_avif-CKXEq29h.esm.js.map +0 -1
  217. package/dist/chunks/EXT_texture_webp-Dl4GPoEU.esm.min.js +0 -2
  218. package/dist/chunks/EXT_texture_webp-Dl4GPoEU.esm.min.js.map +0 -1
  219. package/dist/chunks/EXT_texture_webp-fAiSgaNl.esm.js +0 -43
  220. package/dist/chunks/EXT_texture_webp-fAiSgaNl.esm.js.map +0 -1
  221. package/dist/chunks/ExtrasAsMetadata-BUQ3X3M6.esm.js +0 -64
  222. package/dist/chunks/ExtrasAsMetadata-BUQ3X3M6.esm.js.map +0 -1
  223. package/dist/chunks/ExtrasAsMetadata-C_M9nxb4.esm.min.js +0 -2
  224. package/dist/chunks/ExtrasAsMetadata-C_M9nxb4.esm.min.js.map +0 -1
  225. package/dist/chunks/KHR_animation_pointer-BdFZyLUq.esm.js +0 -352
  226. package/dist/chunks/KHR_animation_pointer-BdFZyLUq.esm.js.map +0 -1
  227. package/dist/chunks/KHR_animation_pointer-CBqZcURZ.esm.min.js +0 -2
  228. package/dist/chunks/KHR_animation_pointer-CBqZcURZ.esm.min.js.map +0 -1
  229. package/dist/chunks/KHR_draco_mesh_compression-DU2Rk2nj.esm.min.js +0 -2
  230. package/dist/chunks/KHR_draco_mesh_compression-DU2Rk2nj.esm.min.js.map +0 -1
  231. package/dist/chunks/KHR_draco_mesh_compression-hVF9XuFz.esm.js +0 -610
  232. package/dist/chunks/KHR_draco_mesh_compression-hVF9XuFz.esm.js.map +0 -1
  233. package/dist/chunks/KHR_interactivity-COE1p684.esm.min.js +0 -2
  234. package/dist/chunks/KHR_interactivity-COE1p684.esm.min.js.map +0 -1
  235. package/dist/chunks/KHR_interactivity-Cv1s_pea.esm.js +0 -4033
  236. package/dist/chunks/KHR_interactivity-Cv1s_pea.esm.js.map +0 -1
  237. package/dist/chunks/KHR_lights_punctual-CHf5kbKi.esm.js +0 -581
  238. package/dist/chunks/KHR_lights_punctual-CHf5kbKi.esm.js.map +0 -1
  239. package/dist/chunks/KHR_lights_punctual-DIEAP5SG.esm.min.js +0 -2
  240. package/dist/chunks/KHR_lights_punctual-DIEAP5SG.esm.min.js.map +0 -1
  241. package/dist/chunks/KHR_materials_anisotropy-CU-xxV6y.esm.js +0 -65
  242. package/dist/chunks/KHR_materials_anisotropy-CU-xxV6y.esm.js.map +0 -1
  243. package/dist/chunks/KHR_materials_anisotropy-Cq6CU4qW.esm.min.js +0 -2
  244. package/dist/chunks/KHR_materials_anisotropy-Cq6CU4qW.esm.min.js.map +0 -1
  245. package/dist/chunks/KHR_materials_clearcoat-BSjcmIju.esm.js +0 -96
  246. package/dist/chunks/KHR_materials_clearcoat-BSjcmIju.esm.js.map +0 -1
  247. package/dist/chunks/KHR_materials_clearcoat-CVNNhJRE.esm.min.js +0 -2
  248. package/dist/chunks/KHR_materials_clearcoat-CVNNhJRE.esm.min.js.map +0 -1
  249. package/dist/chunks/KHR_materials_diffuse_transmission-BDuGIkOh.esm.min.js +0 -2
  250. package/dist/chunks/KHR_materials_diffuse_transmission-BDuGIkOh.esm.min.js.map +0 -1
  251. package/dist/chunks/KHR_materials_diffuse_transmission-BZ-9rJUf.esm.js +0 -97
  252. package/dist/chunks/KHR_materials_diffuse_transmission-BZ-9rJUf.esm.js.map +0 -1
  253. package/dist/chunks/KHR_materials_dispersion-BxiGElVU.esm.min.js +0 -2
  254. package/dist/chunks/KHR_materials_dispersion-BxiGElVU.esm.min.js.map +0 -1
  255. package/dist/chunks/KHR_materials_dispersion-UI4zH1V_.esm.js +0 -62
  256. package/dist/chunks/KHR_materials_dispersion-UI4zH1V_.esm.js.map +0 -1
  257. package/dist/chunks/KHR_materials_emissive_strength-BT-Nu60T.esm.js +0 -55
  258. package/dist/chunks/KHR_materials_emissive_strength-BT-Nu60T.esm.js.map +0 -1
  259. package/dist/chunks/KHR_materials_emissive_strength-CwkVNmN7.esm.min.js +0 -2
  260. package/dist/chunks/KHR_materials_emissive_strength-CwkVNmN7.esm.min.js.map +0 -1
  261. package/dist/chunks/KHR_materials_ior-BGUUe5AW.esm.min.js +0 -2
  262. package/dist/chunks/KHR_materials_ior-BGUUe5AW.esm.min.js.map +0 -1
  263. package/dist/chunks/KHR_materials_ior-BbBQF-yw.esm.js +0 -64
  264. package/dist/chunks/KHR_materials_ior-BbBQF-yw.esm.js.map +0 -1
  265. package/dist/chunks/KHR_materials_iridescence-IFN2ewvr.esm.min.js +0 -2
  266. package/dist/chunks/KHR_materials_iridescence-IFN2ewvr.esm.min.js.map +0 -1
  267. package/dist/chunks/KHR_materials_iridescence-nLZDN7sc.esm.js +0 -72
  268. package/dist/chunks/KHR_materials_iridescence-nLZDN7sc.esm.js.map +0 -1
  269. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CyNVQC-W.esm.js +0 -81
  270. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CyNVQC-W.esm.js.map +0 -1
  271. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-zxcydJdp.esm.min.js +0 -2
  272. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-zxcydJdp.esm.min.js.map +0 -1
  273. package/dist/chunks/KHR_materials_sheen-BWL9yo8Z.esm.min.js +0 -2
  274. package/dist/chunks/KHR_materials_sheen-BWL9yo8Z.esm.min.js.map +0 -1
  275. package/dist/chunks/KHR_materials_sheen-DSThWwq2.esm.js +0 -85
  276. package/dist/chunks/KHR_materials_sheen-DSThWwq2.esm.js.map +0 -1
  277. package/dist/chunks/KHR_materials_specular-B96NRFEV.esm.js +0 -75
  278. package/dist/chunks/KHR_materials_specular-B96NRFEV.esm.js.map +0 -1
  279. package/dist/chunks/KHR_materials_specular-D2JwOdxw.esm.min.js +0 -2
  280. package/dist/chunks/KHR_materials_specular-D2JwOdxw.esm.min.js.map +0 -1
  281. package/dist/chunks/KHR_materials_transmission-BvqtJXfD.esm.js +0 -307
  282. package/dist/chunks/KHR_materials_transmission-BvqtJXfD.esm.js.map +0 -1
  283. package/dist/chunks/KHR_materials_transmission-ljXN4y_0.esm.min.js +0 -2
  284. package/dist/chunks/KHR_materials_transmission-ljXN4y_0.esm.min.js.map +0 -1
  285. package/dist/chunks/KHR_materials_unlit-CjGTXU3z.esm.min.js +0 -2
  286. package/dist/chunks/KHR_materials_unlit-CjGTXU3z.esm.min.js.map +0 -1
  287. package/dist/chunks/KHR_materials_unlit-ww00IloC.esm.js +0 -74
  288. package/dist/chunks/KHR_materials_unlit-ww00IloC.esm.js.map +0 -1
  289. package/dist/chunks/KHR_materials_variants-D0pVU1lm.esm.min.js +0 -2
  290. package/dist/chunks/KHR_materials_variants-D0pVU1lm.esm.min.js.map +0 -1
  291. package/dist/chunks/KHR_materials_variants-D3IDOJfB.esm.js +0 -262
  292. package/dist/chunks/KHR_materials_variants-D3IDOJfB.esm.js.map +0 -1
  293. package/dist/chunks/KHR_materials_volume-BfZR8rbr.esm.min.js +0 -2
  294. package/dist/chunks/KHR_materials_volume-BfZR8rbr.esm.min.js.map +0 -1
  295. package/dist/chunks/KHR_materials_volume-CLkC_Bvi.esm.js +0 -87
  296. package/dist/chunks/KHR_materials_volume-CLkC_Bvi.esm.js.map +0 -1
  297. package/dist/chunks/KHR_mesh_quantization-BJv1P2Wt.esm.js +0 -26
  298. package/dist/chunks/KHR_mesh_quantization-BJv1P2Wt.esm.js.map +0 -1
  299. package/dist/chunks/KHR_mesh_quantization-D69X_5bR.esm.min.js +0 -2
  300. package/dist/chunks/KHR_mesh_quantization-D69X_5bR.esm.min.js.map +0 -1
  301. package/dist/chunks/KHR_node_hoverability-CG6s7hhs.esm.min.js +0 -2
  302. package/dist/chunks/KHR_node_hoverability-CG6s7hhs.esm.min.js.map +0 -1
  303. package/dist/chunks/KHR_node_hoverability-xgvyZ_r-.esm.js +0 -39
  304. package/dist/chunks/KHR_node_hoverability-xgvyZ_r-.esm.js.map +0 -1
  305. package/dist/chunks/KHR_node_visibility-DUozjXRR.esm.min.js +0 -2
  306. package/dist/chunks/KHR_node_visibility-DUozjXRR.esm.min.js.map +0 -1
  307. package/dist/chunks/KHR_node_visibility-aAs5Kkey.esm.js +0 -46
  308. package/dist/chunks/KHR_node_visibility-aAs5Kkey.esm.js.map +0 -1
  309. package/dist/chunks/KHR_texture_basisu-Bjw0jG1d.esm.js +0 -43
  310. package/dist/chunks/KHR_texture_basisu-Bjw0jG1d.esm.js.map +0 -1
  311. package/dist/chunks/KHR_texture_basisu-FWm46QOj.esm.min.js +0 -2
  312. package/dist/chunks/KHR_texture_basisu-FWm46QOj.esm.min.js.map +0 -1
  313. package/dist/chunks/KHR_texture_transform-BZYr2brj.esm.min.js +0 -2
  314. package/dist/chunks/KHR_texture_transform-BZYr2brj.esm.min.js.map +0 -1
  315. package/dist/chunks/KHR_texture_transform-DdsN6SA_.esm.js +0 -63
  316. package/dist/chunks/KHR_texture_transform-DdsN6SA_.esm.js.map +0 -1
  317. package/dist/chunks/KHR_xmp_json_ld-DhFD64vh.esm.min.js +0 -2
  318. package/dist/chunks/KHR_xmp_json_ld-DhFD64vh.esm.min.js.map +0 -1
  319. package/dist/chunks/KHR_xmp_json_ld-sTn6N13E.esm.js +0 -51
  320. package/dist/chunks/KHR_xmp_json_ld-sTn6N13E.esm.js.map +0 -1
  321. package/dist/chunks/MSFT_audio_emitter-5lrNj8-c.esm.min.js +0 -2
  322. package/dist/chunks/MSFT_audio_emitter-5lrNj8-c.esm.min.js.map +0 -1
  323. package/dist/chunks/MSFT_audio_emitter-B7RJSCaF.esm.js +0 -2201
  324. package/dist/chunks/MSFT_audio_emitter-B7RJSCaF.esm.js.map +0 -1
  325. package/dist/chunks/MSFT_lod-BJBjM7Gp.esm.js +0 -337
  326. package/dist/chunks/MSFT_lod-BJBjM7Gp.esm.js.map +0 -1
  327. package/dist/chunks/MSFT_lod-DpEZMnoU.esm.min.js +0 -2
  328. package/dist/chunks/MSFT_lod-DpEZMnoU.esm.min.js.map +0 -1
  329. package/dist/chunks/MSFT_minecraftMesh-CXHPdyar.esm.min.js +0 -2
  330. package/dist/chunks/MSFT_minecraftMesh-CXHPdyar.esm.min.js.map +0 -1
  331. package/dist/chunks/MSFT_minecraftMesh-DRC2tMvY.esm.js +0 -46
  332. package/dist/chunks/MSFT_minecraftMesh-DRC2tMvY.esm.js.map +0 -1
  333. package/dist/chunks/MSFT_sRGBFactors-Db1asZRk.esm.js +0 -47
  334. package/dist/chunks/MSFT_sRGBFactors-Db1asZRk.esm.js.map +0 -1
  335. package/dist/chunks/MSFT_sRGBFactors-RhAtY3q7.esm.min.js +0 -2
  336. package/dist/chunks/MSFT_sRGBFactors-RhAtY3q7.esm.min.js.map +0 -1
  337. package/dist/chunks/animationGroup-CjaFhT87.esm.min.js +0 -2
  338. package/dist/chunks/animationGroup-CjaFhT87.esm.min.js.map +0 -1
  339. package/dist/chunks/animationGroup-Ctc6BUYh.esm.js +0 -2482
  340. package/dist/chunks/animationGroup-Ctc6BUYh.esm.js.map +0 -1
  341. package/dist/chunks/assetContainer-DDEska5G.esm.min.js +0 -2
  342. package/dist/chunks/assetContainer-DDEska5G.esm.min.js.map +0 -1
  343. package/dist/chunks/assetContainer-QD3gUzyx.esm.js +0 -1720
  344. package/dist/chunks/assetContainer-QD3gUzyx.esm.js.map +0 -1
  345. package/dist/chunks/audioEngine-C6R2Ow6e.esm.js +0 -305
  346. package/dist/chunks/audioEngine-C6R2Ow6e.esm.js.map +0 -1
  347. package/dist/chunks/audioEngine-FKYFzzDb.esm.min.js +0 -2
  348. package/dist/chunks/audioEngine-FKYFzzDb.esm.min.js.map +0 -1
  349. package/dist/chunks/bakedVertexAnimation-DKR6lpIg.esm.min.js +0 -2
  350. package/dist/chunks/bakedVertexAnimation-DKR6lpIg.esm.min.js.map +0 -1
  351. package/dist/chunks/bakedVertexAnimation-Hxn22qoJ.esm.js +0 -114
  352. package/dist/chunks/bakedVertexAnimation-Hxn22qoJ.esm.js.map +0 -1
  353. package/dist/chunks/basisTextureLoader-BcNAHqjw.esm.min.js +0 -2
  354. package/dist/chunks/basisTextureLoader-BcNAHqjw.esm.min.js.map +0 -1
  355. package/dist/chunks/basisTextureLoader-Dr2d0ez5.esm.js +0 -600
  356. package/dist/chunks/basisTextureLoader-Dr2d0ez5.esm.js.map +0 -1
  357. package/dist/chunks/dds-CFrq_XFM.esm.js +0 -540
  358. package/dist/chunks/dds-CFrq_XFM.esm.js.map +0 -1
  359. package/dist/chunks/dds-D1NTXLIL.esm.min.js +0 -2
  360. package/dist/chunks/dds-D1NTXLIL.esm.min.js.map +0 -1
  361. package/dist/chunks/ddsTextureLoader-DbvffCUa.esm.min.js +0 -2
  362. package/dist/chunks/ddsTextureLoader-DbvffCUa.esm.min.js.map +0 -1
  363. package/dist/chunks/ddsTextureLoader-wyjUdBoO.esm.js +0 -88
  364. package/dist/chunks/ddsTextureLoader-wyjUdBoO.esm.js.map +0 -1
  365. package/dist/chunks/decalFragment-CGto5zyq.esm.js +0 -18
  366. package/dist/chunks/decalFragment-CGto5zyq.esm.js.map +0 -1
  367. package/dist/chunks/decalFragment-CU64C8uG.esm.min.js +0 -2
  368. package/dist/chunks/decalFragment-CU64C8uG.esm.min.js.map +0 -1
  369. package/dist/chunks/default.fragment-B2bhCC4E.esm.js +0 -446
  370. package/dist/chunks/default.fragment-B2bhCC4E.esm.js.map +0 -1
  371. package/dist/chunks/default.fragment-Boq79lom.esm.min.js +0 -2
  372. package/dist/chunks/default.fragment-Boq79lom.esm.min.js.map +0 -1
  373. package/dist/chunks/default.fragment-CluFtXFp.esm.min.js +0 -2
  374. package/dist/chunks/default.fragment-CluFtXFp.esm.min.js.map +0 -1
  375. package/dist/chunks/default.fragment-Dshl5Uqc.esm.js +0 -515
  376. package/dist/chunks/default.fragment-Dshl5Uqc.esm.js.map +0 -1
  377. package/dist/chunks/default.vertex-BAAgCiYo.esm.min.js +0 -2
  378. package/dist/chunks/default.vertex-BAAgCiYo.esm.min.js.map +0 -1
  379. package/dist/chunks/default.vertex-BhOIicZW.esm.min.js +0 -2
  380. package/dist/chunks/default.vertex-BhOIicZW.esm.min.js.map +0 -1
  381. package/dist/chunks/default.vertex-DL7IogGB.esm.js +0 -211
  382. package/dist/chunks/default.vertex-DL7IogGB.esm.js.map +0 -1
  383. package/dist/chunks/default.vertex-DOXcZEQ0.esm.js +0 -190
  384. package/dist/chunks/default.vertex-DOXcZEQ0.esm.js.map +0 -1
  385. package/dist/chunks/defaultUboDeclaration-1qBz6EuF.esm.js +0 -15
  386. package/dist/chunks/defaultUboDeclaration-1qBz6EuF.esm.js.map +0 -1
  387. package/dist/chunks/defaultUboDeclaration-B9LzMzlw.esm.min.js +0 -2
  388. package/dist/chunks/defaultUboDeclaration-B9LzMzlw.esm.min.js.map +0 -1
  389. package/dist/chunks/defaultUboDeclaration-CXdodf7i.esm.js +0 -13
  390. package/dist/chunks/defaultUboDeclaration-CXdodf7i.esm.js.map +0 -1
  391. package/dist/chunks/defaultUboDeclaration-CZlCaxgu.esm.min.js +0 -2
  392. package/dist/chunks/defaultUboDeclaration-CZlCaxgu.esm.min.js.map +0 -1
  393. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +0 -11
  394. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +0 -1
  395. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +0 -2
  396. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +0 -1
  397. package/dist/chunks/dumpTools-C3vcqEdz.esm.js +0 -200
  398. package/dist/chunks/dumpTools-C3vcqEdz.esm.js.map +0 -1
  399. package/dist/chunks/dumpTools-C8ZzlWEh.esm.min.js +0 -2
  400. package/dist/chunks/dumpTools-C8ZzlWEh.esm.min.js.map +0 -1
  401. package/dist/chunks/engine-_wVL12I1.esm.js +0 -2213
  402. package/dist/chunks/engine-_wVL12I1.esm.js.map +0 -1
  403. package/dist/chunks/engine-nCWszV_w.esm.min.js +0 -2
  404. package/dist/chunks/engine-nCWszV_w.esm.min.js.map +0 -1
  405. package/dist/chunks/engine.common-BuPfo1Wj.esm.min.js +0 -2
  406. package/dist/chunks/engine.common-BuPfo1Wj.esm.min.js.map +0 -1
  407. package/dist/chunks/engine.common-CT5iq3ZT.esm.js +0 -1162
  408. package/dist/chunks/engine.common-CT5iq3ZT.esm.js.map +0 -1
  409. package/dist/chunks/envTextureLoader-D7L0fVXR.esm.min.js +0 -2
  410. package/dist/chunks/envTextureLoader-D7L0fVXR.esm.min.js.map +0 -1
  411. package/dist/chunks/envTextureLoader-PtuRNDrr.esm.js +0 -64
  412. package/dist/chunks/envTextureLoader-PtuRNDrr.esm.js.map +0 -1
  413. package/dist/chunks/environmentTextureTools-BjmCbfSf.esm.min.js +0 -2
  414. package/dist/chunks/environmentTextureTools-BjmCbfSf.esm.min.js.map +0 -1
  415. package/dist/chunks/environmentTextureTools-DYbFmR95.esm.js +0 -382
  416. package/dist/chunks/environmentTextureTools-DYbFmR95.esm.js.map +0 -1
  417. package/dist/chunks/exrTextureLoader-BIPK0bPG.esm.min.js +0 -2
  418. package/dist/chunks/exrTextureLoader-BIPK0bPG.esm.min.js.map +0 -1
  419. package/dist/chunks/exrTextureLoader-CEhv_7O9.esm.js +0 -1683
  420. package/dist/chunks/exrTextureLoader-CEhv_7O9.esm.js.map +0 -1
  421. package/dist/chunks/fogFragment-B7_evZbY.esm.js +0 -102
  422. package/dist/chunks/fogFragment-B7_evZbY.esm.js.map +0 -1
  423. package/dist/chunks/fogFragment-CoZPb7oI.esm.min.js +0 -2
  424. package/dist/chunks/fogFragment-CoZPb7oI.esm.min.js.map +0 -1
  425. package/dist/chunks/fogFragment-DSO97-dc.esm.min.js +0 -2
  426. package/dist/chunks/fogFragment-DSO97-dc.esm.min.js.map +0 -1
  427. package/dist/chunks/fogFragment-wY2jQ7fb.esm.js +0 -101
  428. package/dist/chunks/fogFragment-wY2jQ7fb.esm.js.map +0 -1
  429. package/dist/chunks/fresnelFunction-BSEp5SCT.esm.js +0 -12
  430. package/dist/chunks/fresnelFunction-BSEp5SCT.esm.js.map +0 -1
  431. package/dist/chunks/fresnelFunction-Cg-NNSrz.esm.min.js +0 -2
  432. package/dist/chunks/fresnelFunction-Cg-NNSrz.esm.min.js.map +0 -1
  433. package/dist/chunks/glTFLoader-3ZUBWawQ.esm.min.js +0 -2
  434. package/dist/chunks/glTFLoader-3ZUBWawQ.esm.min.js.map +0 -1
  435. package/dist/chunks/glTFLoader-DVoAJl_A.esm.js +0 -7658
  436. package/dist/chunks/glTFLoader-DVoAJl_A.esm.js.map +0 -1
  437. package/dist/chunks/glTFLoaderAnimation-By7yP8sQ.esm.js +0 -77
  438. package/dist/chunks/glTFLoaderAnimation-By7yP8sQ.esm.js.map +0 -1
  439. package/dist/chunks/glTFLoaderAnimation-C9g-SHaJ.esm.min.js +0 -2
  440. package/dist/chunks/glTFLoaderAnimation-C9g-SHaJ.esm.min.js.map +0 -1
  441. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
  442. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
  443. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
  444. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
  445. package/dist/chunks/harmonicsFunctions-B8pgRSdd.esm.min.js +0 -2
  446. package/dist/chunks/harmonicsFunctions-B8pgRSdd.esm.min.js.map +0 -1
  447. package/dist/chunks/harmonicsFunctions-BcfkM4gb.esm.js +0 -35
  448. package/dist/chunks/harmonicsFunctions-BcfkM4gb.esm.js.map +0 -1
  449. package/dist/chunks/harmonicsFunctions-DF1x585z.esm.min.js +0 -2
  450. package/dist/chunks/harmonicsFunctions-DF1x585z.esm.min.js.map +0 -1
  451. package/dist/chunks/harmonicsFunctions-a48Ki58F.esm.js +0 -34
  452. package/dist/chunks/harmonicsFunctions-a48Ki58F.esm.js.map +0 -1
  453. package/dist/chunks/hdrTextureLoader-BWnO8u1r.esm.js +0 -253
  454. package/dist/chunks/hdrTextureLoader-BWnO8u1r.esm.js.map +0 -1
  455. package/dist/chunks/hdrTextureLoader-Bii9QpYI.esm.min.js +0 -2
  456. package/dist/chunks/hdrTextureLoader-Bii9QpYI.esm.min.js.map +0 -1
  457. package/dist/chunks/helperFunctions-BinFB44e.esm.js +0 -110
  458. package/dist/chunks/helperFunctions-BinFB44e.esm.js.map +0 -1
  459. package/dist/chunks/helperFunctions-CZAyJNTJ.esm.min.js +0 -2
  460. package/dist/chunks/helperFunctions-CZAyJNTJ.esm.min.js.map +0 -1
  461. package/dist/chunks/helperFunctions-DjoUVhI2.esm.min.js +0 -2
  462. package/dist/chunks/helperFunctions-DjoUVhI2.esm.min.js.map +0 -1
  463. package/dist/chunks/helperFunctions-Ds3-3-tu.esm.js +0 -83
  464. package/dist/chunks/helperFunctions-Ds3-3-tu.esm.js.map +0 -1
  465. package/dist/chunks/iesTextureLoader-CsnjIN7M.esm.js +0 -189
  466. package/dist/chunks/iesTextureLoader-CsnjIN7M.esm.js.map +0 -1
  467. package/dist/chunks/iesTextureLoader-DkmTomCD.esm.min.js +0 -2
  468. package/dist/chunks/iesTextureLoader-DkmTomCD.esm.min.js.map +0 -1
  469. package/dist/chunks/index-Cw2FZpYY.esm.js +0 -74870
  470. package/dist/chunks/index-Cw2FZpYY.esm.js.map +0 -1
  471. package/dist/chunks/index-DRbhrB0j.esm.min.js +0 -57
  472. package/dist/chunks/index-DRbhrB0j.esm.min.js.map +0 -1
  473. package/dist/chunks/ktxTextureLoader-B4pmAFQl.esm.js +0 -814
  474. package/dist/chunks/ktxTextureLoader-B4pmAFQl.esm.js.map +0 -1
  475. package/dist/chunks/ktxTextureLoader-B8Rlj2T0.esm.min.js +0 -2
  476. package/dist/chunks/ktxTextureLoader-B8Rlj2T0.esm.min.js.map +0 -1
  477. package/dist/chunks/logDepthDeclaration-CGz2sG_K.esm.js +0 -11
  478. package/dist/chunks/logDepthDeclaration-CGz2sG_K.esm.js.map +0 -1
  479. package/dist/chunks/logDepthDeclaration-CfVFs2QC.esm.min.js +0 -2
  480. package/dist/chunks/logDepthDeclaration-CfVFs2QC.esm.min.js.map +0 -1
  481. package/dist/chunks/logDepthDeclaration-CzVshpad.esm.min.js +0 -2
  482. package/dist/chunks/logDepthDeclaration-CzVshpad.esm.min.js.map +0 -1
  483. package/dist/chunks/logDepthDeclaration-xOwnAKtd.esm.js +0 -35
  484. package/dist/chunks/logDepthDeclaration-xOwnAKtd.esm.js.map +0 -1
  485. package/dist/chunks/logDepthVertex-BRgUZAsw.esm.js +0 -81
  486. package/dist/chunks/logDepthVertex-BRgUZAsw.esm.js.map +0 -1
  487. package/dist/chunks/logDepthVertex-CWfPfN9-.esm.min.js +0 -2
  488. package/dist/chunks/logDepthVertex-CWfPfN9-.esm.min.js.map +0 -1
  489. package/dist/chunks/logDepthVertex-HDlt7vTP.esm.min.js +0 -2
  490. package/dist/chunks/logDepthVertex-HDlt7vTP.esm.min.js.map +0 -1
  491. package/dist/chunks/logDepthVertex-l0uEG89p.esm.js +0 -77
  492. package/dist/chunks/logDepthVertex-l0uEG89p.esm.js.map +0 -1
  493. package/dist/chunks/mainUVVaryingDeclaration-B72zV2P9.esm.min.js +0 -2
  494. package/dist/chunks/mainUVVaryingDeclaration-B72zV2P9.esm.min.js.map +0 -1
  495. package/dist/chunks/mainUVVaryingDeclaration-BDogjZrz.esm.js +0 -11
  496. package/dist/chunks/mainUVVaryingDeclaration-BDogjZrz.esm.js.map +0 -1
  497. package/dist/chunks/mainUVVaryingDeclaration-DO5HJKyl.esm.min.js +0 -2
  498. package/dist/chunks/mainUVVaryingDeclaration-DO5HJKyl.esm.min.js.map +0 -1
  499. package/dist/chunks/mainUVVaryingDeclaration-DqzNajlu.esm.js +0 -11
  500. package/dist/chunks/mainUVVaryingDeclaration-DqzNajlu.esm.js.map +0 -1
  501. package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js +0 -119
  502. package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js.map +0 -1
  503. package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js +0 -2
  504. package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js.map +0 -1
  505. package/dist/chunks/meshUboDeclaration-BCO87lfZ.esm.js +0 -26
  506. package/dist/chunks/meshUboDeclaration-BCO87lfZ.esm.js.map +0 -1
  507. package/dist/chunks/meshUboDeclaration-o4Xf2fwW.esm.min.js +0 -2
  508. package/dist/chunks/meshUboDeclaration-o4Xf2fwW.esm.min.js.map +0 -1
  509. package/dist/chunks/objFileLoader-BfPYM2Sh.esm.min.js +0 -2
  510. package/dist/chunks/objFileLoader-BfPYM2Sh.esm.min.js.map +0 -1
  511. package/dist/chunks/objFileLoader-D1emf4Qh.esm.js +0 -1338
  512. package/dist/chunks/objFileLoader-D1emf4Qh.esm.js.map +0 -1
  513. package/dist/chunks/oitFragment-B92YpEfj.esm.min.js +0 -2
  514. package/dist/chunks/oitFragment-B92YpEfj.esm.min.js.map +0 -1
  515. package/dist/chunks/oitFragment-BoFKkDNv.esm.js +0 -1078
  516. package/dist/chunks/oitFragment-BoFKkDNv.esm.js.map +0 -1
  517. package/dist/chunks/oitFragment-Cfx3g0iX.esm.js +0 -1240
  518. package/dist/chunks/oitFragment-Cfx3g0iX.esm.js.map +0 -1
  519. package/dist/chunks/oitFragment-CiA7gld-.esm.min.js +0 -2
  520. package/dist/chunks/oitFragment-CiA7gld-.esm.min.js.map +0 -1
  521. package/dist/chunks/pass.fragment-BLbIViJ7.esm.js +0 -15
  522. package/dist/chunks/pass.fragment-BLbIViJ7.esm.js.map +0 -1
  523. package/dist/chunks/pass.fragment-BqMk9ouF.esm.min.js +0 -2
  524. package/dist/chunks/pass.fragment-BqMk9ouF.esm.min.js.map +0 -1
  525. package/dist/chunks/pass.fragment-BuVDFNSR.esm.js +0 -15
  526. package/dist/chunks/pass.fragment-BuVDFNSR.esm.js.map +0 -1
  527. package/dist/chunks/pass.fragment-cM5FBHLm.esm.min.js +0 -2
  528. package/dist/chunks/pass.fragment-cM5FBHLm.esm.min.js.map +0 -1
  529. package/dist/chunks/pbr.fragment-5L_F7nGn.esm.js +0 -3222
  530. package/dist/chunks/pbr.fragment-5L_F7nGn.esm.js.map +0 -1
  531. package/dist/chunks/pbr.fragment-BJNPHSa-.esm.min.js +0 -2
  532. package/dist/chunks/pbr.fragment-BJNPHSa-.esm.min.js.map +0 -1
  533. package/dist/chunks/pbr.fragment-CTLrOzV2.esm.js +0 -3269
  534. package/dist/chunks/pbr.fragment-CTLrOzV2.esm.js.map +0 -1
  535. package/dist/chunks/pbr.fragment-D9MJFOr2.esm.min.js +0 -2
  536. package/dist/chunks/pbr.fragment-D9MJFOr2.esm.min.js.map +0 -1
  537. package/dist/chunks/pbr.vertex-BJyjq_fb.esm.js +0 -223
  538. package/dist/chunks/pbr.vertex-BJyjq_fb.esm.js.map +0 -1
  539. package/dist/chunks/pbr.vertex-Bm8Ng4Sx.esm.min.js +0 -2
  540. package/dist/chunks/pbr.vertex-Bm8Ng4Sx.esm.min.js.map +0 -1
  541. package/dist/chunks/pbr.vertex-CAKPUhfb.esm.min.js +0 -2
  542. package/dist/chunks/pbr.vertex-CAKPUhfb.esm.min.js.map +0 -1
  543. package/dist/chunks/pbr.vertex-DJd_-MvE.esm.js +0 -348
  544. package/dist/chunks/pbr.vertex-DJd_-MvE.esm.js.map +0 -1
  545. package/dist/chunks/postprocess.vertex-BjRX5eGi.esm.min.js +0 -2
  546. package/dist/chunks/postprocess.vertex-BjRX5eGi.esm.min.js.map +0 -1
  547. package/dist/chunks/postprocess.vertex-CFaKNIU-.esm.js +0 -20
  548. package/dist/chunks/postprocess.vertex-CFaKNIU-.esm.js.map +0 -1
  549. package/dist/chunks/rawTexture-ByD8l28R.esm.min.js +0 -2
  550. package/dist/chunks/rawTexture-ByD8l28R.esm.min.js.map +0 -1
  551. package/dist/chunks/rawTexture-DGz22uaX.esm.js +0 -191
  552. package/dist/chunks/rawTexture-DGz22uaX.esm.js.map +0 -1
  553. package/dist/chunks/ray-ByafiITx.esm.js +0 -946
  554. package/dist/chunks/ray-ByafiITx.esm.js.map +0 -1
  555. package/dist/chunks/ray-ChSTYrPm.esm.min.js +0 -2
  556. package/dist/chunks/ray-ChSTYrPm.esm.min.js.map +0 -1
  557. package/dist/chunks/rgbdDecode.fragment-CJ7PpH1N.esm.js +0 -13
  558. package/dist/chunks/rgbdDecode.fragment-CJ7PpH1N.esm.js.map +0 -1
  559. package/dist/chunks/rgbdDecode.fragment-DJ9crbPP.esm.js +0 -13
  560. package/dist/chunks/rgbdDecode.fragment-DJ9crbPP.esm.js.map +0 -1
  561. package/dist/chunks/rgbdDecode.fragment-DLpb3z18.esm.min.js +0 -2
  562. package/dist/chunks/rgbdDecode.fragment-DLpb3z18.esm.min.js.map +0 -1
  563. package/dist/chunks/rgbdDecode.fragment-ygeOUzIi.esm.min.js +0 -2
  564. package/dist/chunks/rgbdDecode.fragment-ygeOUzIi.esm.min.js.map +0 -1
  565. package/dist/chunks/rgbdEncode.fragment-BTG_wbck.esm.min.js +0 -2
  566. package/dist/chunks/rgbdEncode.fragment-BTG_wbck.esm.min.js.map +0 -1
  567. package/dist/chunks/rgbdEncode.fragment-C2s4AQaM.esm.js +0 -13
  568. package/dist/chunks/rgbdEncode.fragment-C2s4AQaM.esm.js.map +0 -1
  569. package/dist/chunks/rgbdEncode.fragment-C6LKySQH.esm.js +0 -13
  570. package/dist/chunks/rgbdEncode.fragment-C6LKySQH.esm.js.map +0 -1
  571. package/dist/chunks/rgbdEncode.fragment-CKB2lpgL.esm.min.js +0 -2
  572. package/dist/chunks/rgbdEncode.fragment-CKB2lpgL.esm.min.js.map +0 -1
  573. package/dist/chunks/splatFileLoader-BtSUlfZs.esm.min.js +0 -2
  574. package/dist/chunks/splatFileLoader-BtSUlfZs.esm.min.js.map +0 -1
  575. package/dist/chunks/splatFileLoader-Wn5sDtLq.esm.js +0 -3379
  576. package/dist/chunks/splatFileLoader-Wn5sDtLq.esm.js.map +0 -1
  577. package/dist/chunks/spotLight-CmDQEB8V.esm.js +0 -701
  578. package/dist/chunks/spotLight-CmDQEB8V.esm.js.map +0 -1
  579. package/dist/chunks/spotLight-hg94aMJD.esm.min.js +0 -2
  580. package/dist/chunks/spotLight-hg94aMJD.esm.min.js.map +0 -1
  581. package/dist/chunks/standardMaterial-BhIiLn1_.esm.js +0 -1806
  582. package/dist/chunks/standardMaterial-BhIiLn1_.esm.js.map +0 -1
  583. package/dist/chunks/standardMaterial-DQii8fRL.esm.min.js +0 -2
  584. package/dist/chunks/standardMaterial-DQii8fRL.esm.min.js.map +0 -1
  585. package/dist/chunks/stlFileLoader-D83u9BOr.esm.js +0 -238
  586. package/dist/chunks/stlFileLoader-D83u9BOr.esm.js.map +0 -1
  587. package/dist/chunks/stlFileLoader-DkXWqjZo.esm.min.js +0 -2
  588. package/dist/chunks/stlFileLoader-DkXWqjZo.esm.min.js.map +0 -1
  589. package/dist/chunks/tgaTextureLoader-C9xl6cvE.esm.js +0 -349
  590. package/dist/chunks/tgaTextureLoader-C9xl6cvE.esm.js.map +0 -1
  591. package/dist/chunks/tgaTextureLoader-DfzjGulW.esm.min.js +0 -2
  592. package/dist/chunks/tgaTextureLoader-DfzjGulW.esm.min.js.map +0 -1
  593. package/dist/chunks/thinEngine-Cu21aOSC.esm.min.js +0 -2
  594. package/dist/chunks/thinEngine-Cu21aOSC.esm.min.js.map +0 -1
  595. package/dist/chunks/thinEngine-IzS60pqU.esm.js +0 -3853
  596. package/dist/chunks/thinEngine-IzS60pqU.esm.js.map +0 -1
  597. package/dist/chunks/thinInstanceMesh-BN8Ev-h8.esm.js +0 -314
  598. package/dist/chunks/thinInstanceMesh-BN8Ev-h8.esm.js.map +0 -1
  599. package/dist/chunks/thinInstanceMesh-Bm9vmKU4.esm.min.js +0 -2
  600. package/dist/chunks/thinInstanceMesh-Bm9vmKU4.esm.min.js.map +0 -1
  601. package/dist/chunks/vertexColorMixing-Cazf4vEl.esm.min.js +0 -2
  602. package/dist/chunks/vertexColorMixing-Cazf4vEl.esm.min.js.map +0 -1
  603. package/dist/chunks/vertexColorMixing-DGvq3Fju.esm.js +0 -421
  604. package/dist/chunks/vertexColorMixing-DGvq3Fju.esm.js.map +0 -1
  605. package/dist/chunks/vertexColorMixing-D_6ZvivZ.esm.min.js +0 -2
  606. package/dist/chunks/vertexColorMixing-D_6ZvivZ.esm.min.js.map +0 -1
  607. package/dist/chunks/vertexColorMixing-DuYHnuUm.esm.js +0 -531
  608. package/dist/chunks/vertexColorMixing-DuYHnuUm.esm.js.map +0 -1
  609. package/dist/chunks/webgpuEngine-DHaXinU4.esm.min.js +0 -2
  610. package/dist/chunks/webgpuEngine-DHaXinU4.esm.min.js.map +0 -1
  611. package/dist/chunks/webgpuEngine-Dxev7pbz.esm.js +0 -11538
  612. package/dist/chunks/webgpuEngine-Dxev7pbz.esm.js.map +0 -1
  613. package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
  614. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
  615. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
  616. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
  617. package/lib/index.d.ts +0 -591
  618. package/lib/index.js +0 -2165
  619. package/lib/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"hdrTextureLoader-BWnO8u1r.esm.js","sources":["../../../../../dev/core/dist/Misc/HighDynamicRange/hdr.js","../../../../../dev/core/dist/Materials/Textures/Loaders/hdrTextureLoader.js"],"sourcesContent":["import { PanoramaToCubeMapTools } from \"./panoramaToCubemap\";\n/* This groups tools to convert HDR texture to native colors array. */\nfunction ldexp(mantissa, exponent) {\n if (exponent > 1023) {\n return mantissa * Math.pow(2, 1023) * Math.pow(2, exponent - 1023);\n }\n if (exponent < -1074) {\n return mantissa * Math.pow(2, -1074) * Math.pow(2, exponent + 1074);\n }\n return mantissa * Math.pow(2, exponent);\n}\nfunction rgbe2float(float32array, red, green, blue, exponent, index) {\n if (exponent > 0) {\n /*nonzero pixel*/\n exponent = ldexp(1.0, exponent - (128 + 8));\n float32array[index + 0] = red * exponent;\n float32array[index + 1] = green * exponent;\n float32array[index + 2] = blue * exponent;\n }\n else {\n float32array[index + 0] = 0;\n float32array[index + 1] = 0;\n float32array[index + 2] = 0;\n }\n}\nfunction readStringLine(uint8array, startIndex) {\n let line = \"\";\n let character = \"\";\n for (let i = startIndex; i < uint8array.length - startIndex; i++) {\n character = String.fromCharCode(uint8array[i]);\n if (character == \"\\n\") {\n break;\n }\n line += character;\n }\n return line;\n}\n/**\n * Reads header information from an RGBE texture stored in a native array.\n * More information on this format are available here:\n * https://en.wikipedia.org/wiki/RGBE_image_format\n *\n * @param uint8array The binary file stored in native array.\n * @returns The header information.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function RGBE_ReadHeader(uint8array) {\n let height = 0;\n let width = 0;\n let line = readStringLine(uint8array, 0);\n if (line[0] != \"#\" || line[1] != \"?\") {\n // eslint-disable-next-line no-throw-literal\n throw \"Bad HDR Format.\";\n }\n let endOfHeader = false;\n let findFormat = false;\n let lineIndex = 0;\n do {\n lineIndex += line.length + 1;\n line = readStringLine(uint8array, lineIndex);\n if (line == \"FORMAT=32-bit_rle_rgbe\") {\n findFormat = true;\n }\n else if (line.length == 0) {\n endOfHeader = true;\n }\n } while (!endOfHeader);\n if (!findFormat) {\n // eslint-disable-next-line no-throw-literal\n throw \"HDR Bad header format, unsupported FORMAT\";\n }\n lineIndex += line.length + 1;\n line = readStringLine(uint8array, lineIndex);\n const sizeRegexp = /^-Y (.*) \\+X (.*)$/g;\n const match = sizeRegexp.exec(line);\n // TODO. Support +Y and -X if needed.\n if (!match || match.length < 3) {\n // eslint-disable-next-line no-throw-literal\n throw \"HDR Bad header format, no size\";\n }\n width = parseInt(match[2]);\n height = parseInt(match[1]);\n if (width < 8 || width > 0x7fff) {\n // eslint-disable-next-line no-throw-literal\n throw \"HDR Bad header format, unsupported size\";\n }\n lineIndex += line.length + 1;\n return {\n height: height,\n width: width,\n dataPosition: lineIndex,\n };\n}\n/**\n * Returns the cubemap information (each faces texture data) extracted from an RGBE texture.\n * This RGBE texture needs to store the information as a panorama.\n *\n * More information on this format are available here:\n * https://en.wikipedia.org/wiki/RGBE_image_format\n *\n * @param buffer The binary file stored in an array buffer.\n * @param size The expected size of the extracted cubemap.\n * @param supersample enable supersampling the cubemap (default: false)\n * @returns The Cube Map information.\n */\nexport function GetCubeMapTextureData(buffer, size, supersample = false) {\n const uint8array = new Uint8Array(buffer);\n const hdrInfo = RGBE_ReadHeader(uint8array);\n const data = RGBE_ReadPixels(uint8array, hdrInfo);\n const cubeMapData = PanoramaToCubeMapTools.ConvertPanoramaToCubemap(data, hdrInfo.width, hdrInfo.height, size, supersample);\n return cubeMapData;\n}\n/**\n * Returns the pixels data extracted from an RGBE texture.\n * This pixels will be stored left to right up to down in the R G B order in one array.\n *\n * More information on this format are available here:\n * https://en.wikipedia.org/wiki/RGBE_image_format\n *\n * @param uint8array The binary file stored in an array buffer.\n * @param hdrInfo The header information of the file.\n * @returns The pixels data in RGB right to left up to down order.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function RGBE_ReadPixels(uint8array, hdrInfo) {\n return readRGBEPixelsRLE(uint8array, hdrInfo);\n}\nfunction readRGBEPixelsRLE(uint8array, hdrInfo) {\n let num_scanlines = hdrInfo.height;\n const scanline_width = hdrInfo.width;\n let a, b, c, d, count;\n let dataIndex = hdrInfo.dataPosition;\n let index = 0, endIndex = 0, i = 0;\n const scanLineArrayBuffer = new ArrayBuffer(scanline_width * 4); // four channel R G B E\n const scanLineArray = new Uint8Array(scanLineArrayBuffer);\n // 3 channels of 4 bytes per pixel in float.\n const resultBuffer = new ArrayBuffer(hdrInfo.width * hdrInfo.height * 4 * 3);\n const resultArray = new Float32Array(resultBuffer);\n // read in each successive scanline\n while (num_scanlines > 0) {\n a = uint8array[dataIndex++];\n b = uint8array[dataIndex++];\n c = uint8array[dataIndex++];\n d = uint8array[dataIndex++];\n if (a != 2 || b != 2 || c & 0x80 || hdrInfo.width < 8 || hdrInfo.width > 32767) {\n return readRGBEPixelsNotRLE(uint8array, hdrInfo);\n }\n if (((c << 8) | d) != scanline_width) {\n // eslint-disable-next-line no-throw-literal\n throw \"HDR Bad header format, wrong scan line width\";\n }\n index = 0;\n // read each of the four channels for the scanline into the buffer\n for (i = 0; i < 4; i++) {\n endIndex = (i + 1) * scanline_width;\n while (index < endIndex) {\n a = uint8array[dataIndex++];\n b = uint8array[dataIndex++];\n if (a > 128) {\n // a run of the same value\n count = a - 128;\n if (count == 0 || count > endIndex - index) {\n // eslint-disable-next-line no-throw-literal\n throw \"HDR Bad Format, bad scanline data (run)\";\n }\n while (count-- > 0) {\n scanLineArray[index++] = b;\n }\n }\n else {\n // a non-run\n count = a;\n if (count == 0 || count > endIndex - index) {\n // eslint-disable-next-line no-throw-literal\n throw \"HDR Bad Format, bad scanline data (non-run)\";\n }\n scanLineArray[index++] = b;\n if (--count > 0) {\n for (let j = 0; j < count; j++) {\n scanLineArray[index++] = uint8array[dataIndex++];\n }\n }\n }\n }\n }\n // now convert data from buffer into floats\n for (i = 0; i < scanline_width; i++) {\n a = scanLineArray[i];\n b = scanLineArray[i + scanline_width];\n c = scanLineArray[i + 2 * scanline_width];\n d = scanLineArray[i + 3 * scanline_width];\n rgbe2float(resultArray, a, b, c, d, (hdrInfo.height - num_scanlines) * scanline_width * 3 + i * 3);\n }\n num_scanlines--;\n }\n return resultArray;\n}\nfunction readRGBEPixelsNotRLE(uint8array, hdrInfo) {\n // this file is not run length encoded\n // read values sequentially\n let num_scanlines = hdrInfo.height;\n const scanline_width = hdrInfo.width;\n let a, b, c, d, i;\n let dataIndex = hdrInfo.dataPosition;\n // 3 channels of 4 bytes per pixel in float.\n const resultBuffer = new ArrayBuffer(hdrInfo.width * hdrInfo.height * 4 * 3);\n const resultArray = new Float32Array(resultBuffer);\n // read in each successive scanline\n while (num_scanlines > 0) {\n for (i = 0; i < hdrInfo.width; i++) {\n a = uint8array[dataIndex++];\n b = uint8array[dataIndex++];\n c = uint8array[dataIndex++];\n d = uint8array[dataIndex++];\n rgbe2float(resultArray, a, b, c, d, (hdrInfo.height - num_scanlines) * scanline_width * 3 + i * 3);\n }\n num_scanlines--;\n }\n return resultArray;\n}\n/**\n * @deprecated Use functions separately\n */\nexport const HDRTools = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n RGBE_ReadHeader,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n GetCubeMapTextureData,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n RGBE_ReadPixels,\n};\n//# sourceMappingURL=hdr.js.map","import { RGBE_ReadHeader, RGBE_ReadPixels } from \"../../../Misc/HighDynamicRange/hdr\";\nimport { Constants } from \"../../../Engines/constants\";\n/**\n * Implementation of the HDR Texture Loader.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class _HDRTextureLoader {\n constructor() {\n /**\n * Defines whether the loader supports cascade loading the different faces.\n */\n this.supportCascades = false;\n }\n /**\n * Uploads the cube texture data to the WebGL texture. It has already been bound.\n * Cube texture are not supported by .hdr files\n */\n loadCubeData() {\n // eslint-disable-next-line no-throw-literal\n throw \".hdr not supported in Cube.\";\n }\n /**\n * Uploads the 2D texture data to the WebGL texture. It has already been bound once in the callback.\n * @param data contains the texture data\n * @param texture defines the BabylonJS internal texture\n * @param callback defines the method to call once ready to upload\n */\n loadData(data, texture, callback) {\n const uint8array = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n const hdrInfo = RGBE_ReadHeader(uint8array);\n const pixelsDataRGB32 = RGBE_ReadPixels(uint8array, hdrInfo);\n const pixels = hdrInfo.width * hdrInfo.height;\n const pixelsDataRGBA32 = new Float32Array(pixels * 4);\n for (let i = 0; i < pixels; i += 1) {\n pixelsDataRGBA32[i * 4] = pixelsDataRGB32[i * 3];\n pixelsDataRGBA32[i * 4 + 1] = pixelsDataRGB32[i * 3 + 1];\n pixelsDataRGBA32[i * 4 + 2] = pixelsDataRGB32[i * 3 + 2];\n pixelsDataRGBA32[i * 4 + 3] = 1;\n }\n callback(hdrInfo.width, hdrInfo.height, texture.generateMipMaps, false, () => {\n const engine = texture.getEngine();\n texture.type = Constants.TEXTURETYPE_FLOAT;\n texture.format = Constants.TEXTUREFORMAT_RGBA;\n texture._gammaSpace = false;\n engine._uploadDataToTextureDirectly(texture, pixelsDataRGBA32);\n });\n }\n}\n//# sourceMappingURL=hdrTextureLoader.js.map"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{C as t}from"./index-DRbhrB0j.esm.min.js";function e(t,e,r,n,o,a){o>0?(o=function(t,e){return e>1023?t*Math.pow(2,1023)*Math.pow(2,e-1023):e<-1074?t*Math.pow(2,-1074)*Math.pow(2,e+1074):t*Math.pow(2,e)}(1,o-136),t[a+0]=e*o,t[a+1]=r*o,t[a+2]=n*o):(t[a+0]=0,t[a+1]=0,t[a+2]=0)}function r(t,e){let r="",n="";for(let o=e;o<t.length-e&&(n=String.fromCharCode(t[o]),"\n"!=n);o++)r+=n;return r}function n(t,r){return function(t,r){let n=r.height;const a=r.width;let i,h,f,d,w,s=r.dataPosition,u=0,l=0,c=0;const g=new ArrayBuffer(4*a),p=new Uint8Array(g),m=new ArrayBuffer(r.width*r.height*4*3),A=new Float32Array(m);for(;n>0;){if(i=t[s++],h=t[s++],f=t[s++],d=t[s++],2!=i||2!=h||128&f||r.width<8||r.width>32767)return o(t,r);if((f<<8|d)!=a)throw"HDR Bad header format, wrong scan line width";for(u=0,c=0;c<4;c++)for(l=(c+1)*a;u<l;)if(i=t[s++],h=t[s++],i>128){if(w=i-128,0==w||w>l-u)throw"HDR Bad Format, bad scanline data (run)";for(;w-- >0;)p[u++]=h}else{if(w=i,0==w||w>l-u)throw"HDR Bad Format, bad scanline data (non-run)";if(p[u++]=h,--w>0)for(let e=0;e<w;e++)p[u++]=t[s++]}for(c=0;c<a;c++)i=p[c],h=p[c+a],f=p[c+2*a],d=p[c+3*a],e(A,i,h,f,d,(r.height-n)*a*3+3*c);n--}return A}(t,r)}function o(t,r){let n=r.height;const o=r.width;let a,i,h,f,d,w=r.dataPosition;const s=new ArrayBuffer(r.width*r.height*4*3),u=new Float32Array(s);for(;n>0;){for(d=0;d<r.width;d++)a=t[w++],i=t[w++],h=t[w++],f=t[w++],e(u,a,i,h,f,(r.height-n)*o*3+3*d);n--}return u}class a{constructor(){this.supportCascades=!1}loadCubeData(){throw".hdr not supported in Cube."}loadData(e,o,a){const i=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),h=function(t){let e=0,n=0,o=r(t,0);if("#"!=o[0]||"?"!=o[1])throw"Bad HDR Format.";let a=!1,i=!1,h=0;do{h+=o.length+1,o=r(t,h),"FORMAT=32-bit_rle_rgbe"==o?i=!0:0==o.length&&(a=!0)}while(!a);if(!i)throw"HDR Bad header format, unsupported FORMAT";h+=o.length+1,o=r(t,h);const f=/^-Y (.*) \+X (.*)$/g.exec(o);if(!f||f.length<3)throw"HDR Bad header format, no size";if(n=parseInt(f[2]),e=parseInt(f[1]),n<8||n>32767)throw"HDR Bad header format, unsupported size";return h+=o.length+1,{height:e,width:n,dataPosition:h}}(i),f=n(i,h),d=h.width*h.height,w=new Float32Array(4*d);for(let t=0;t<d;t+=1)w[4*t]=f[3*t],w[4*t+1]=f[3*t+1],w[4*t+2]=f[3*t+2],w[4*t+3]=1;a(h.width,h.height,o.generateMipMaps,!1,(()=>{const e=o.getEngine();o.type=t.TEXTURETYPE_FLOAT,o.format=t.TEXTUREFORMAT_RGBA,o._gammaSpace=!1,e._uploadDataToTextureDirectly(o,w)}))}}export{a as _HDRTextureLoader};
2
- //# sourceMappingURL=hdrTextureLoader-Bii9QpYI.esm.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hdrTextureLoader-Bii9QpYI.esm.min.js","sources":["../../../../../dev/core/dist/Misc/HighDynamicRange/hdr.js","../../../../../dev/core/dist/Materials/Textures/Loaders/hdrTextureLoader.js"],"sourcesContent":["import { PanoramaToCubeMapTools } from \"./panoramaToCubemap\";\n/* This groups tools to convert HDR texture to native colors array. */\nfunction ldexp(mantissa, exponent) {\n if (exponent > 1023) {\n return mantissa * Math.pow(2, 1023) * Math.pow(2, exponent - 1023);\n }\n if (exponent < -1074) {\n return mantissa * Math.pow(2, -1074) * Math.pow(2, exponent + 1074);\n }\n return mantissa * Math.pow(2, exponent);\n}\nfunction rgbe2float(float32array, red, green, blue, exponent, index) {\n if (exponent > 0) {\n /*nonzero pixel*/\n exponent = ldexp(1.0, exponent - (128 + 8));\n float32array[index + 0] = red * exponent;\n float32array[index + 1] = green * exponent;\n float32array[index + 2] = blue * exponent;\n }\n else {\n float32array[index + 0] = 0;\n float32array[index + 1] = 0;\n float32array[index + 2] = 0;\n }\n}\nfunction readStringLine(uint8array, startIndex) {\n let line = \"\";\n let character = \"\";\n for (let i = startIndex; i < uint8array.length - startIndex; i++) {\n character = String.fromCharCode(uint8array[i]);\n if (character == \"\\n\") {\n break;\n }\n line += character;\n }\n return line;\n}\n/**\n * Reads header information from an RGBE texture stored in a native array.\n * More information on this format are available here:\n * https://en.wikipedia.org/wiki/RGBE_image_format\n *\n * @param uint8array The binary file stored in native array.\n * @returns The header information.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function RGBE_ReadHeader(uint8array) {\n let height = 0;\n let width = 0;\n let line = readStringLine(uint8array, 0);\n if (line[0] != \"#\" || line[1] != \"?\") {\n // eslint-disable-next-line no-throw-literal\n throw \"Bad HDR Format.\";\n }\n let endOfHeader = false;\n let findFormat = false;\n let lineIndex = 0;\n do {\n lineIndex += line.length + 1;\n line = readStringLine(uint8array, lineIndex);\n if (line == \"FORMAT=32-bit_rle_rgbe\") {\n findFormat = true;\n }\n else if (line.length == 0) {\n endOfHeader = true;\n }\n } while (!endOfHeader);\n if (!findFormat) {\n // eslint-disable-next-line no-throw-literal\n throw \"HDR Bad header format, unsupported FORMAT\";\n }\n lineIndex += line.length + 1;\n line = readStringLine(uint8array, lineIndex);\n const sizeRegexp = /^-Y (.*) \\+X (.*)$/g;\n const match = sizeRegexp.exec(line);\n // TODO. Support +Y and -X if needed.\n if (!match || match.length < 3) {\n // eslint-disable-next-line no-throw-literal\n throw \"HDR Bad header format, no size\";\n }\n width = parseInt(match[2]);\n height = parseInt(match[1]);\n if (width < 8 || width > 0x7fff) {\n // eslint-disable-next-line no-throw-literal\n throw \"HDR Bad header format, unsupported size\";\n }\n lineIndex += line.length + 1;\n return {\n height: height,\n width: width,\n dataPosition: lineIndex,\n };\n}\n/**\n * Returns the cubemap information (each faces texture data) extracted from an RGBE texture.\n * This RGBE texture needs to store the information as a panorama.\n *\n * More information on this format are available here:\n * https://en.wikipedia.org/wiki/RGBE_image_format\n *\n * @param buffer The binary file stored in an array buffer.\n * @param size The expected size of the extracted cubemap.\n * @param supersample enable supersampling the cubemap (default: false)\n * @returns The Cube Map information.\n */\nexport function GetCubeMapTextureData(buffer, size, supersample = false) {\n const uint8array = new Uint8Array(buffer);\n const hdrInfo = RGBE_ReadHeader(uint8array);\n const data = RGBE_ReadPixels(uint8array, hdrInfo);\n const cubeMapData = PanoramaToCubeMapTools.ConvertPanoramaToCubemap(data, hdrInfo.width, hdrInfo.height, size, supersample);\n return cubeMapData;\n}\n/**\n * Returns the pixels data extracted from an RGBE texture.\n * This pixels will be stored left to right up to down in the R G B order in one array.\n *\n * More information on this format are available here:\n * https://en.wikipedia.org/wiki/RGBE_image_format\n *\n * @param uint8array The binary file stored in an array buffer.\n * @param hdrInfo The header information of the file.\n * @returns The pixels data in RGB right to left up to down order.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function RGBE_ReadPixels(uint8array, hdrInfo) {\n return readRGBEPixelsRLE(uint8array, hdrInfo);\n}\nfunction readRGBEPixelsRLE(uint8array, hdrInfo) {\n let num_scanlines = hdrInfo.height;\n const scanline_width = hdrInfo.width;\n let a, b, c, d, count;\n let dataIndex = hdrInfo.dataPosition;\n let index = 0, endIndex = 0, i = 0;\n const scanLineArrayBuffer = new ArrayBuffer(scanline_width * 4); // four channel R G B E\n const scanLineArray = new Uint8Array(scanLineArrayBuffer);\n // 3 channels of 4 bytes per pixel in float.\n const resultBuffer = new ArrayBuffer(hdrInfo.width * hdrInfo.height * 4 * 3);\n const resultArray = new Float32Array(resultBuffer);\n // read in each successive scanline\n while (num_scanlines > 0) {\n a = uint8array[dataIndex++];\n b = uint8array[dataIndex++];\n c = uint8array[dataIndex++];\n d = uint8array[dataIndex++];\n if (a != 2 || b != 2 || c & 0x80 || hdrInfo.width < 8 || hdrInfo.width > 32767) {\n return readRGBEPixelsNotRLE(uint8array, hdrInfo);\n }\n if (((c << 8) | d) != scanline_width) {\n // eslint-disable-next-line no-throw-literal\n throw \"HDR Bad header format, wrong scan line width\";\n }\n index = 0;\n // read each of the four channels for the scanline into the buffer\n for (i = 0; i < 4; i++) {\n endIndex = (i + 1) * scanline_width;\n while (index < endIndex) {\n a = uint8array[dataIndex++];\n b = uint8array[dataIndex++];\n if (a > 128) {\n // a run of the same value\n count = a - 128;\n if (count == 0 || count > endIndex - index) {\n // eslint-disable-next-line no-throw-literal\n throw \"HDR Bad Format, bad scanline data (run)\";\n }\n while (count-- > 0) {\n scanLineArray[index++] = b;\n }\n }\n else {\n // a non-run\n count = a;\n if (count == 0 || count > endIndex - index) {\n // eslint-disable-next-line no-throw-literal\n throw \"HDR Bad Format, bad scanline data (non-run)\";\n }\n scanLineArray[index++] = b;\n if (--count > 0) {\n for (let j = 0; j < count; j++) {\n scanLineArray[index++] = uint8array[dataIndex++];\n }\n }\n }\n }\n }\n // now convert data from buffer into floats\n for (i = 0; i < scanline_width; i++) {\n a = scanLineArray[i];\n b = scanLineArray[i + scanline_width];\n c = scanLineArray[i + 2 * scanline_width];\n d = scanLineArray[i + 3 * scanline_width];\n rgbe2float(resultArray, a, b, c, d, (hdrInfo.height - num_scanlines) * scanline_width * 3 + i * 3);\n }\n num_scanlines--;\n }\n return resultArray;\n}\nfunction readRGBEPixelsNotRLE(uint8array, hdrInfo) {\n // this file is not run length encoded\n // read values sequentially\n let num_scanlines = hdrInfo.height;\n const scanline_width = hdrInfo.width;\n let a, b, c, d, i;\n let dataIndex = hdrInfo.dataPosition;\n // 3 channels of 4 bytes per pixel in float.\n const resultBuffer = new ArrayBuffer(hdrInfo.width * hdrInfo.height * 4 * 3);\n const resultArray = new Float32Array(resultBuffer);\n // read in each successive scanline\n while (num_scanlines > 0) {\n for (i = 0; i < hdrInfo.width; i++) {\n a = uint8array[dataIndex++];\n b = uint8array[dataIndex++];\n c = uint8array[dataIndex++];\n d = uint8array[dataIndex++];\n rgbe2float(resultArray, a, b, c, d, (hdrInfo.height - num_scanlines) * scanline_width * 3 + i * 3);\n }\n num_scanlines--;\n }\n return resultArray;\n}\n/**\n * @deprecated Use functions separately\n */\nexport const HDRTools = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n RGBE_ReadHeader,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n GetCubeMapTextureData,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n RGBE_ReadPixels,\n};\n//# sourceMappingURL=hdr.js.map","import { RGBE_ReadHeader, RGBE_ReadPixels } from \"../../../Misc/HighDynamicRange/hdr\";\nimport { Constants } from \"../../../Engines/constants\";\n/**\n * Implementation of the HDR Texture Loader.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class _HDRTextureLoader {\n constructor() {\n /**\n * Defines whether the loader supports cascade loading the different faces.\n */\n this.supportCascades = false;\n }\n /**\n * Uploads the cube texture data to the WebGL texture. It has already been bound.\n * Cube texture are not supported by .hdr files\n */\n loadCubeData() {\n // eslint-disable-next-line no-throw-literal\n throw \".hdr not supported in Cube.\";\n }\n /**\n * Uploads the 2D texture data to the WebGL texture. It has already been bound once in the callback.\n * @param data contains the texture data\n * @param texture defines the BabylonJS internal texture\n * @param callback defines the method to call once ready to upload\n */\n loadData(data, texture, callback) {\n const uint8array = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n const hdrInfo = RGBE_ReadHeader(uint8array);\n const pixelsDataRGB32 = RGBE_ReadPixels(uint8array, hdrInfo);\n const pixels = hdrInfo.width * hdrInfo.height;\n const pixelsDataRGBA32 = new Float32Array(pixels * 4);\n for (let i = 0; i < pixels; i += 1) {\n pixelsDataRGBA32[i * 4] = pixelsDataRGB32[i * 3];\n pixelsDataRGBA32[i * 4 + 1] = pixelsDataRGB32[i * 3 + 1];\n pixelsDataRGBA32[i * 4 + 2] = pixelsDataRGB32[i * 3 + 2];\n pixelsDataRGBA32[i * 4 + 3] = 1;\n }\n callback(hdrInfo.width, hdrInfo.height, texture.generateMipMaps, false, () => {\n const engine = texture.getEngine();\n texture.type = Constants.TEXTURETYPE_FLOAT;\n texture.format = Constants.TEXTUREFORMAT_RGBA;\n texture._gammaSpace = false;\n engine._uploadDataToTextureDirectly(texture, pixelsDataRGBA32);\n });\n }\n}\n//# sourceMappingURL=hdrTextureLoader.js.map"],"names":["rgbe2float","float32array","red","green","blue","exponent","index","mantissa","Math","pow","ldexp","readStringLine","uint8array","startIndex","line","character","i","length","String","fromCharCode","RGBE_ReadPixels","hdrInfo","num_scanlines","height","scanline_width","width","a","b","c","d","count","dataIndex","dataPosition","endIndex","scanLineArrayBuffer","ArrayBuffer","scanLineArray","Uint8Array","resultBuffer","resultArray","Float32Array","readRGBEPixelsNotRLE","j","readRGBEPixelsRLE","_HDRTextureLoader","constructor","this","supportCascades","loadCubeData","loadData","data","texture","callback","buffer","byteOffset","byteLength","endOfHeader","findFormat","lineIndex","match","exec","parseInt","RGBE_ReadHeader","pixelsDataRGB32","pixels","pixelsDataRGBA32","generateMipMaps","engine","getEngine","type","Constants","TEXTURETYPE_FLOAT","format","TEXTUREFORMAT_RGBA","_gammaSpace","_uploadDataToTextureDirectly"],"mappings":"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"}
@@ -1,110 +0,0 @@
1
- import { i as ShaderStore } from './index-Cw2FZpYY.esm.js';
2
-
3
- // Do not edit.
4
- const name = "helperFunctions";
5
- const shader = `const float PI=3.1415926535897932384626433832795;const float TWO_PI=6.283185307179586;const float HALF_PI=1.5707963267948966;const float RECIPROCAL_PI=0.3183098861837907;const float RECIPROCAL_PI2=0.15915494309189535;const float RECIPROCAL_PI4=0.07957747154594767;const float HALF_MIN=5.96046448e-08;
6
- const float LinearEncodePowerApprox=2.2;const float GammaEncodePowerApprox=1.0/LinearEncodePowerApprox;const vec3 LuminanceEncodeApprox=vec3(0.2126,0.7152,0.0722);const float Epsilon=0.0000001;
7
- #define saturate(x) clamp(x,0.0,1.0)
8
- #define absEps(x) abs(x)+Epsilon
9
- #define maxEps(x) max(x,Epsilon)
10
- #define saturateEps(x) clamp(x,Epsilon,1.0)
11
- mat3 transposeMat3(mat3 inMatrix) {vec3 i0=inMatrix[0];vec3 i1=inMatrix[1];vec3 i2=inMatrix[2];mat3 outMatrix=mat3(
12
- vec3(i0.x,i1.x,i2.x),
13
- vec3(i0.y,i1.y,i2.y),
14
- vec3(i0.z,i1.z,i2.z)
15
- );return outMatrix;}
16
- mat3 inverseMat3(mat3 inMatrix) {float a00=inMatrix[0][0],a01=inMatrix[0][1],a02=inMatrix[0][2];float a10=inMatrix[1][0],a11=inMatrix[1][1],a12=inMatrix[1][2];float a20=inMatrix[2][0],a21=inMatrix[2][1],a22=inMatrix[2][2];float b01=a22*a11-a12*a21;float b11=-a22*a10+a12*a20;float b21=a21*a10-a11*a20;float det=a00*b01+a01*b11+a02*b21;return mat3(b01,(-a22*a01+a02*a21),(a12*a01-a02*a11),
17
- b11,(a22*a00-a02*a20),(-a12*a00+a02*a10),
18
- b21,(-a21*a00+a01*a20),(a11*a00-a01*a10))/det;}
19
- #if USE_EXACT_SRGB_CONVERSIONS
20
- vec3 toLinearSpaceExact(vec3 color)
21
- {vec3 nearZeroSection=0.0773993808*color;vec3 remainingSection=pow(0.947867299*(color+vec3(0.055)),vec3(2.4));
22
- #if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)
23
- return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.04045)));
24
- #else
25
- return
26
- vec3(
27
- color.r<=0.04045 ? nearZeroSection.r : remainingSection.r,
28
- color.g<=0.04045 ? nearZeroSection.g : remainingSection.g,
29
- color.b<=0.04045 ? nearZeroSection.b : remainingSection.b);
30
- #endif
31
- }
32
- vec3 toGammaSpaceExact(vec3 color)
33
- {vec3 nearZeroSection=12.92*color;vec3 remainingSection=1.055*pow(color,vec3(0.41666))-vec3(0.055);
34
- #if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)
35
- return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.0031308)));
36
- #else
37
- return
38
- vec3(
39
- color.r<=0.0031308 ? nearZeroSection.r : remainingSection.r,
40
- color.g<=0.0031308 ? nearZeroSection.g : remainingSection.g,
41
- color.b<=0.0031308 ? nearZeroSection.b : remainingSection.b);
42
- #endif
43
- }
44
- #endif
45
- float toLinearSpace(float color)
46
- {
47
- #if USE_EXACT_SRGB_CONVERSIONS
48
- float nearZeroSection=0.0773993808*color;float remainingSection=pow(0.947867299*(color+0.055),2.4);return color<=0.04045 ? nearZeroSection : remainingSection;
49
- #else
50
- return pow(color,LinearEncodePowerApprox);
51
- #endif
52
- }
53
- vec3 toLinearSpace(vec3 color)
54
- {
55
- #if USE_EXACT_SRGB_CONVERSIONS
56
- return toLinearSpaceExact(color);
57
- #else
58
- return pow(color,vec3(LinearEncodePowerApprox));
59
- #endif
60
- }
61
- vec4 toLinearSpace(vec4 color)
62
- {
63
- #if USE_EXACT_SRGB_CONVERSIONS
64
- return vec4(toLinearSpaceExact(color.rgb),color.a);
65
- #else
66
- return vec4(pow(color.rgb,vec3(LinearEncodePowerApprox)),color.a);
67
- #endif
68
- }
69
- float toGammaSpace(float color)
70
- {
71
- #if USE_EXACT_SRGB_CONVERSIONS
72
- float nearZeroSection=12.92*color;float remainingSection=1.055*pow(color,0.41666)-0.055;return color<=0.0031308 ? nearZeroSection : remainingSection;
73
- #else
74
- return pow(color,GammaEncodePowerApprox);
75
- #endif
76
- }
77
- vec3 toGammaSpace(vec3 color)
78
- {
79
- #if USE_EXACT_SRGB_CONVERSIONS
80
- return toGammaSpaceExact(color);
81
- #else
82
- return pow(color,vec3(GammaEncodePowerApprox));
83
- #endif
84
- }
85
- vec4 toGammaSpace(vec4 color)
86
- {
87
- #if USE_EXACT_SRGB_CONVERSIONS
88
- return vec4(toGammaSpaceExact(color.rgb),color.a);
89
- #else
90
- return vec4(pow(color.rgb,vec3(GammaEncodePowerApprox)),color.a);
91
- #endif
92
- }
93
- float square(float value)
94
- {return value*value;}
95
- vec3 square(vec3 value)
96
- {return value*value;}
97
- float pow5(float value) {float sq=value*value;return sq*sq*value;}
98
- float getLuminance(vec3 color)
99
- {return saturate(dot(color,LuminanceEncodeApprox));}
100
- float getRand(vec2 seed) {return fract(sin(dot(seed.xy ,vec2(12.9898,78.233)))*43758.5453);}
101
- float dither(vec2 seed,float varianceAmount) {float rand=getRand(seed);float normVariance=varianceAmount/255.0;float dither=mix(-normVariance,normVariance,rand);return dither;}
102
- const float rgbdMaxRange=255.;vec4 toRGBD(vec3 color) {float maxRGB=maxEps(max(color.r,max(color.g,color.b)));float D =max(rgbdMaxRange/maxRGB,1.);D =saturate(floor(D)/255.);vec3 rgb=color.rgb*D;rgb=toGammaSpace(rgb);return vec4(saturate(rgb),D);}
103
- vec3 fromRGBD(vec4 rgbd) {rgbd.rgb=toLinearSpace(rgbd.rgb);return rgbd.rgb/rgbd.a;}
104
- vec3 parallaxCorrectNormal( vec3 vertexPos,vec3 origVec,vec3 cubeSize,vec3 cubePos ) {vec3 invOrigVec=vec3(1.)/origVec;vec3 halfSize=cubeSize*0.5;vec3 intersecAtMaxPlane=(cubePos+halfSize-vertexPos)*invOrigVec;vec3 intersecAtMinPlane=(cubePos-halfSize-vertexPos)*invOrigVec;vec3 largestIntersec=max(intersecAtMaxPlane,intersecAtMinPlane);float distance=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);vec3 intersectPositionWS=vertexPos+origVec*distance;return intersectPositionWS-cubePos;}
105
- vec3 equirectangularToCubemapDirection(vec2 uv) {float longitude=uv.x*TWO_PI-PI;float latitude=HALF_PI-uv.y*PI;vec3 direction;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}
106
- float sqrtClamped(float value) {return sqrt(max(value,0.));}
107
- float avg(vec3 value) {return dot(value,vec3(0.333333333));}`;
108
- // Sideeffect
109
- ShaderStore.IncludesShadersStore[name] = shader;
110
- //# sourceMappingURL=helperFunctions-BinFB44e.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helperFunctions-BinFB44e.esm.js","sources":["../../../../../dev/core/dist/Shaders/ShadersInclude/helperFunctions.js"],"sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"helperFunctions\";\nconst shader = `const float PI=3.1415926535897932384626433832795;const float TWO_PI=6.283185307179586;const float HALF_PI=1.5707963267948966;const float RECIPROCAL_PI=0.3183098861837907;const float RECIPROCAL_PI2=0.15915494309189535;const float RECIPROCAL_PI4=0.07957747154594767;const float HALF_MIN=5.96046448e-08; \nconst float LinearEncodePowerApprox=2.2;const float GammaEncodePowerApprox=1.0/LinearEncodePowerApprox;const vec3 LuminanceEncodeApprox=vec3(0.2126,0.7152,0.0722);const float Epsilon=0.0000001;\n#define saturate(x) clamp(x,0.0,1.0)\n#define absEps(x) abs(x)+Epsilon\n#define maxEps(x) max(x,Epsilon)\n#define saturateEps(x) clamp(x,Epsilon,1.0)\nmat3 transposeMat3(mat3 inMatrix) {vec3 i0=inMatrix[0];vec3 i1=inMatrix[1];vec3 i2=inMatrix[2];mat3 outMatrix=mat3(\nvec3(i0.x,i1.x,i2.x),\nvec3(i0.y,i1.y,i2.y),\nvec3(i0.z,i1.z,i2.z)\n);return outMatrix;}\nmat3 inverseMat3(mat3 inMatrix) {float a00=inMatrix[0][0],a01=inMatrix[0][1],a02=inMatrix[0][2];float a10=inMatrix[1][0],a11=inMatrix[1][1],a12=inMatrix[1][2];float a20=inMatrix[2][0],a21=inMatrix[2][1],a22=inMatrix[2][2];float b01=a22*a11-a12*a21;float b11=-a22*a10+a12*a20;float b21=a21*a10-a11*a20;float det=a00*b01+a01*b11+a02*b21;return mat3(b01,(-a22*a01+a02*a21),(a12*a01-a02*a11),\nb11,(a22*a00-a02*a20),(-a12*a00+a02*a10),\nb21,(-a21*a00+a01*a20),(a11*a00-a01*a10))/det;}\n#if USE_EXACT_SRGB_CONVERSIONS\nvec3 toLinearSpaceExact(vec3 color)\n{vec3 nearZeroSection=0.0773993808*color;vec3 remainingSection=pow(0.947867299*(color+vec3(0.055)),vec3(2.4));\n#if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)\nreturn mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.04045)));\n#else\nreturn\nvec3(\ncolor.r<=0.04045 ? nearZeroSection.r : remainingSection.r,\ncolor.g<=0.04045 ? nearZeroSection.g : remainingSection.g,\ncolor.b<=0.04045 ? nearZeroSection.b : remainingSection.b);\n#endif\n}\nvec3 toGammaSpaceExact(vec3 color)\n{vec3 nearZeroSection=12.92*color;vec3 remainingSection=1.055*pow(color,vec3(0.41666))-vec3(0.055);\n#if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)\nreturn mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.0031308)));\n#else\nreturn\nvec3(\ncolor.r<=0.0031308 ? nearZeroSection.r : remainingSection.r,\ncolor.g<=0.0031308 ? nearZeroSection.g : remainingSection.g,\ncolor.b<=0.0031308 ? nearZeroSection.b : remainingSection.b);\n#endif\n}\n#endif\nfloat toLinearSpace(float color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nfloat nearZeroSection=0.0773993808*color;float remainingSection=pow(0.947867299*(color+0.055),2.4);return color<=0.04045 ? nearZeroSection : remainingSection;\n#else\nreturn pow(color,LinearEncodePowerApprox);\n#endif\n}\nvec3 toLinearSpace(vec3 color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn toLinearSpaceExact(color);\n#else\nreturn pow(color,vec3(LinearEncodePowerApprox));\n#endif\n}\nvec4 toLinearSpace(vec4 color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn vec4(toLinearSpaceExact(color.rgb),color.a);\n#else\nreturn vec4(pow(color.rgb,vec3(LinearEncodePowerApprox)),color.a);\n#endif\n}\nfloat toGammaSpace(float color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nfloat nearZeroSection=12.92*color;float remainingSection=1.055*pow(color,0.41666)-0.055;return color<=0.0031308 ? nearZeroSection : remainingSection;\n#else\nreturn pow(color,GammaEncodePowerApprox);\n#endif\n}\nvec3 toGammaSpace(vec3 color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn toGammaSpaceExact(color);\n#else\nreturn pow(color,vec3(GammaEncodePowerApprox));\n#endif\n}\nvec4 toGammaSpace(vec4 color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn vec4(toGammaSpaceExact(color.rgb),color.a);\n#else\nreturn vec4(pow(color.rgb,vec3(GammaEncodePowerApprox)),color.a);\n#endif\n}\nfloat square(float value)\n{return value*value;}\nvec3 square(vec3 value)\n{return value*value;}\nfloat pow5(float value) {float sq=value*value;return sq*sq*value;}\nfloat getLuminance(vec3 color)\n{return saturate(dot(color,LuminanceEncodeApprox));}\nfloat getRand(vec2 seed) {return fract(sin(dot(seed.xy ,vec2(12.9898,78.233)))*43758.5453);}\nfloat dither(vec2 seed,float varianceAmount) {float rand=getRand(seed);float normVariance=varianceAmount/255.0;float dither=mix(-normVariance,normVariance,rand);return dither;}\nconst float rgbdMaxRange=255.;vec4 toRGBD(vec3 color) {float maxRGB=maxEps(max(color.r,max(color.g,color.b)));float D =max(rgbdMaxRange/maxRGB,1.);D =saturate(floor(D)/255.);vec3 rgb=color.rgb*D;rgb=toGammaSpace(rgb);return vec4(saturate(rgb),D);}\nvec3 fromRGBD(vec4 rgbd) {rgbd.rgb=toLinearSpace(rgbd.rgb);return rgbd.rgb/rgbd.a;}\nvec3 parallaxCorrectNormal( vec3 vertexPos,vec3 origVec,vec3 cubeSize,vec3 cubePos ) {vec3 invOrigVec=vec3(1.)/origVec;vec3 halfSize=cubeSize*0.5;vec3 intersecAtMaxPlane=(cubePos+halfSize-vertexPos)*invOrigVec;vec3 intersecAtMinPlane=(cubePos-halfSize-vertexPos)*invOrigVec;vec3 largestIntersec=max(intersecAtMaxPlane,intersecAtMinPlane);float distance=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);vec3 intersectPositionWS=vertexPos+origVec*distance;return intersectPositionWS-cubePos;}\nvec3 equirectangularToCubemapDirection(vec2 uv) {float longitude=uv.x*TWO_PI-PI;float latitude=HALF_PI-uv.y*PI;vec3 direction;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}\nfloat sqrtClamped(float value) {return sqrt(max(value,0.));}\nfloat avg(vec3 value) {return dot(value,vec3(0.333333333));}`;\n// Sideeffect\nShaderStore.IncludesShadersStore[name] = shader;\n/** @internal */\nexport const helperFunctions = { name, shader };\n//# sourceMappingURL=helperFunctions.js.map"],"names":[],"mappings":";;AAAA;AAEA,MAAM,IAAI,GAAG,iBAAiB;AAC9B,MAAM,MAAM,GAAG,CAAC;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,CAAC;AAC7D;AACA,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,MAAM"}
@@ -1,2 +0,0 @@
1
- import{i as e}from"./index-DRbhrB0j.esm.min.js";e.IncludesShadersStoreWGSL.helperFunctions="const PI: f32=3.1415926535897932384626433832795;const TWO_PI: f32=6.283185307179586;const HALF_PI: f32=1.5707963267948966;const RECIPROCAL_PI: f32=0.3183098861837907;const RECIPROCAL_PI2: f32=0.15915494309189535;const RECIPROCAL_PI4: f32=0.07957747154594767;const HALF_MIN: f32=5.96046448e-08; \nconst LinearEncodePowerApprox: f32=2.2;const GammaEncodePowerApprox: f32=1.0/LinearEncodePowerApprox;const LuminanceEncodeApprox: vec3f=vec3f(0.2126,0.7152,0.0722);const Epsilon:f32=0.0000001;fn square(x: f32)->f32 {return x*x;}\nfn saturate(x: f32)->f32 {return clamp(x,0.0,1.0);}\nfn saturateVec3(x: vec3f)->vec3f {return clamp(x,vec3f(),vec3f(1.0));}\nfn saturateEps(x: f32)->f32 {return clamp(x,Epsilon,1.0);}\nfn maxEps(x: f32)->f32 {return max(x,Epsilon);}\nfn maxEpsVec3(x: vec3f)->vec3f {return max(x,vec3f(Epsilon));}\nfn absEps(x: f32)->f32 {return abs(x)+Epsilon;}\nfn transposeMat3(inMatrix: mat3x3f)->mat3x3f {let i0: vec3f=inMatrix[0];let i1: vec3f=inMatrix[1];let i2: vec3f=inMatrix[2];let outMatrix:mat3x3f=mat3x3f(\nvec3(i0.x,i1.x,i2.x),\nvec3(i0.y,i1.y,i2.y),\nvec3(i0.z,i1.z,i2.z)\n);return outMatrix;}\nfn inverseMat3(inMatrix: mat3x3f)->mat3x3f {let a00: f32=inMatrix[0][0];let a01: f32=inMatrix[0][1];let a02: f32=inMatrix[0][2];let a10: f32=inMatrix[1][0];let a11: f32=inMatrix[1][1];let a12: f32=inMatrix[1][2];let a20: f32=inMatrix[2][0];let a21: f32=inMatrix[2][1];let a22: f32=inMatrix[2][2];let b01: f32=a22*a11-a12*a21;let b11: f32=-a22*a10+a12*a20;let b21: f32=a21*a10-a11*a20;let det: f32=a00*b01+a01*b11+a02*b21;return mat3x3f(b01/det,(-a22*a01+a02*a21)/det,(a12*a01-a02*a11)/det,\nb11/det,(a22*a00-a02*a20)/det,(-a12*a00+a02*a10)/det,\nb21/det,(-a21*a00+a01*a20)/det,(a11*a00-a01*a10)/det);}\n#if USE_EXACT_SRGB_CONVERSIONS\nfn toLinearSpaceExact(color: vec3f)->vec3f\n{let nearZeroSection: vec3f=0.0773993808*color;let remainingSection: vec3f=pow(0.947867299*(color+vec3f(0.055)),vec3f(2.4));return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3f(0.04045)));}\nfn toGammaSpaceExact(color: vec3f)->vec3f\n{let nearZeroSection: vec3f=12.92*color;let remainingSection: vec3f=1.055*pow(color,vec3f(0.41666))-vec3f(0.055);return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3f(0.0031308)));}\n#endif\nfn toLinearSpace(color: f32)->f32\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nvar nearZeroSection=0.0773993808*color;var remainingSection=pow(0.947867299*(color+0.055),2.4);return select(remainingSection,nearZeroSection,color<=0.04045);\n#else\nreturn pow(color,LinearEncodePowerApprox);\n#endif\n}\nfn toLinearSpaceVec3(color: vec3f)->vec3f\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn toLinearSpaceExact(color);\n#else\nreturn pow(color,vec3f(LinearEncodePowerApprox));\n#endif\n}\nfn toLinearSpaceVec4(color: vec4<f32>)->vec4<f32>\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn vec4f(toLinearSpaceExact(color.rgb),color.a);\n#else\nreturn vec4f(pow(color.rgb,vec3f(LinearEncodePowerApprox)),color.a);\n#endif\n}\nfn toGammaSpace(color: vec4<f32>)->vec4<f32>\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn vec4<f32>(toGammaSpaceExact(color.rgb),color.a);\n#else\nreturn vec4<f32>(pow(color.rgb,vec3f(GammaEncodePowerApprox)),color.a);\n#endif\n}\nfn toGammaSpaceVec3(color: vec3f)->vec3f\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn toGammaSpaceExact(color);\n#else\nreturn pow(color,vec3f(GammaEncodePowerApprox));\n#endif\n}\nfn squareVec3(value: vec3f)->vec3f\n{return value*value;}\nfn pow5(value: f32)->f32 {let sq: f32=value*value;return sq*sq*value;}\nfn getLuminance(color: vec3f)->f32\n{return saturate(dot(color,LuminanceEncodeApprox));}\nfn getRand(seed: vec2<f32>)->f32 {return fract(sin(dot(seed.xy ,vec2<f32>(12.9898,78.233)))*43758.5453);}\nfn dither(seed: vec2<f32>,varianceAmount: f32)->f32 {let rand: f32=getRand(seed);let normVariance: f32=varianceAmount/255.0;let dither: f32=mix(-normVariance,normVariance,rand);return dither;}\nconst rgbdMaxRange: f32=255.0;fn toRGBD(color: vec3f)->vec4<f32> {let maxRGB: f32=max(max(color.r,max(color.g,color.b)),Epsilon);var D: f32 =max(rgbdMaxRange/maxRGB,1.);D =clamp(floor(D)/255.0,0.,1.);var rgb: vec3f =color.rgb*D;rgb=toGammaSpaceVec3(rgb);return vec4<f32>(saturateVec3(rgb),D);}\nfn fromRGBD(rgbd: vec4<f32>)->vec3f {let rgb=toLinearSpaceVec3(rgbd.rgb);return rgb/rgbd.a;}\nfn parallaxCorrectNormal(vertexPos: vec3f,origVec: vec3f,cubeSize: vec3f,cubePos: vec3f)->vec3f {let invOrigVec: vec3f=vec3f(1.)/origVec;let halfSize: vec3f=cubeSize*0.5;let intersecAtMaxPlane: vec3f=(cubePos+halfSize-vertexPos)*invOrigVec;let intersecAtMinPlane: vec3f=(cubePos-halfSize-vertexPos)*invOrigVec;let largestIntersec: vec3f=max(intersecAtMaxPlane,intersecAtMinPlane);let distance: f32=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);let intersectPositionWS: vec3f=vertexPos+origVec*distance;return intersectPositionWS-cubePos;}\nfn equirectangularToCubemapDirection(uv : vec2f)->vec3f {var longitude : f32=uv.x*TWO_PI-PI;var latitude : f32=HALF_PI-uv.y*PI;var direction : vec3f;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}\nfn sqrtClamped(value: f32)->f32 {return sqrt(max(value,0.));}\nfn avg(value: vec3f)->f32 {return dot(value,vec3f(0.333333333));}\n";
2
- //# sourceMappingURL=helperFunctions-CZAyJNTJ.esm.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helperFunctions-CZAyJNTJ.esm.min.js","sources":["../../../../../dev/core/dist/ShadersWGSL/ShadersInclude/helperFunctions.js"],"sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"helperFunctions\";\nconst shader = `const PI: f32=3.1415926535897932384626433832795;const TWO_PI: f32=6.283185307179586;const HALF_PI: f32=1.5707963267948966;const RECIPROCAL_PI: f32=0.3183098861837907;const RECIPROCAL_PI2: f32=0.15915494309189535;const RECIPROCAL_PI4: f32=0.07957747154594767;const HALF_MIN: f32=5.96046448e-08; \nconst LinearEncodePowerApprox: f32=2.2;const GammaEncodePowerApprox: f32=1.0/LinearEncodePowerApprox;const LuminanceEncodeApprox: vec3f=vec3f(0.2126,0.7152,0.0722);const Epsilon:f32=0.0000001;fn square(x: f32)->f32 {return x*x;}\nfn saturate(x: f32)->f32 {return clamp(x,0.0,1.0);}\nfn saturateVec3(x: vec3f)->vec3f {return clamp(x,vec3f(),vec3f(1.0));}\nfn saturateEps(x: f32)->f32 {return clamp(x,Epsilon,1.0);}\nfn maxEps(x: f32)->f32 {return max(x,Epsilon);}\nfn maxEpsVec3(x: vec3f)->vec3f {return max(x,vec3f(Epsilon));}\nfn absEps(x: f32)->f32 {return abs(x)+Epsilon;}\nfn transposeMat3(inMatrix: mat3x3f)->mat3x3f {let i0: vec3f=inMatrix[0];let i1: vec3f=inMatrix[1];let i2: vec3f=inMatrix[2];let outMatrix:mat3x3f=mat3x3f(\nvec3(i0.x,i1.x,i2.x),\nvec3(i0.y,i1.y,i2.y),\nvec3(i0.z,i1.z,i2.z)\n);return outMatrix;}\nfn inverseMat3(inMatrix: mat3x3f)->mat3x3f {let a00: f32=inMatrix[0][0];let a01: f32=inMatrix[0][1];let a02: f32=inMatrix[0][2];let a10: f32=inMatrix[1][0];let a11: f32=inMatrix[1][1];let a12: f32=inMatrix[1][2];let a20: f32=inMatrix[2][0];let a21: f32=inMatrix[2][1];let a22: f32=inMatrix[2][2];let b01: f32=a22*a11-a12*a21;let b11: f32=-a22*a10+a12*a20;let b21: f32=a21*a10-a11*a20;let det: f32=a00*b01+a01*b11+a02*b21;return mat3x3f(b01/det,(-a22*a01+a02*a21)/det,(a12*a01-a02*a11)/det,\nb11/det,(a22*a00-a02*a20)/det,(-a12*a00+a02*a10)/det,\nb21/det,(-a21*a00+a01*a20)/det,(a11*a00-a01*a10)/det);}\n#if USE_EXACT_SRGB_CONVERSIONS\nfn toLinearSpaceExact(color: vec3f)->vec3f\n{let nearZeroSection: vec3f=0.0773993808*color;let remainingSection: vec3f=pow(0.947867299*(color+vec3f(0.055)),vec3f(2.4));return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3f(0.04045)));}\nfn toGammaSpaceExact(color: vec3f)->vec3f\n{let nearZeroSection: vec3f=12.92*color;let remainingSection: vec3f=1.055*pow(color,vec3f(0.41666))-vec3f(0.055);return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3f(0.0031308)));}\n#endif\nfn toLinearSpace(color: f32)->f32\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nvar nearZeroSection=0.0773993808*color;var remainingSection=pow(0.947867299*(color+0.055),2.4);return select(remainingSection,nearZeroSection,color<=0.04045);\n#else\nreturn pow(color,LinearEncodePowerApprox);\n#endif\n}\nfn toLinearSpaceVec3(color: vec3f)->vec3f\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn toLinearSpaceExact(color);\n#else\nreturn pow(color,vec3f(LinearEncodePowerApprox));\n#endif\n}\nfn toLinearSpaceVec4(color: vec4<f32>)->vec4<f32>\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn vec4f(toLinearSpaceExact(color.rgb),color.a);\n#else\nreturn vec4f(pow(color.rgb,vec3f(LinearEncodePowerApprox)),color.a);\n#endif\n}\nfn toGammaSpace(color: vec4<f32>)->vec4<f32>\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn vec4<f32>(toGammaSpaceExact(color.rgb),color.a);\n#else\nreturn vec4<f32>(pow(color.rgb,vec3f(GammaEncodePowerApprox)),color.a);\n#endif\n}\nfn toGammaSpaceVec3(color: vec3f)->vec3f\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn toGammaSpaceExact(color);\n#else\nreturn pow(color,vec3f(GammaEncodePowerApprox));\n#endif\n}\nfn squareVec3(value: vec3f)->vec3f\n{return value*value;}\nfn pow5(value: f32)->f32 {let sq: f32=value*value;return sq*sq*value;}\nfn getLuminance(color: vec3f)->f32\n{return saturate(dot(color,LuminanceEncodeApprox));}\nfn getRand(seed: vec2<f32>)->f32 {return fract(sin(dot(seed.xy ,vec2<f32>(12.9898,78.233)))*43758.5453);}\nfn dither(seed: vec2<f32>,varianceAmount: f32)->f32 {let rand: f32=getRand(seed);let normVariance: f32=varianceAmount/255.0;let dither: f32=mix(-normVariance,normVariance,rand);return dither;}\nconst rgbdMaxRange: f32=255.0;fn toRGBD(color: vec3f)->vec4<f32> {let maxRGB: f32=max(max(color.r,max(color.g,color.b)),Epsilon);var D: f32 =max(rgbdMaxRange/maxRGB,1.);D =clamp(floor(D)/255.0,0.,1.);var rgb: vec3f =color.rgb*D;rgb=toGammaSpaceVec3(rgb);return vec4<f32>(saturateVec3(rgb),D);}\nfn fromRGBD(rgbd: vec4<f32>)->vec3f {let rgb=toLinearSpaceVec3(rgbd.rgb);return rgb/rgbd.a;}\nfn parallaxCorrectNormal(vertexPos: vec3f,origVec: vec3f,cubeSize: vec3f,cubePos: vec3f)->vec3f {let invOrigVec: vec3f=vec3f(1.)/origVec;let halfSize: vec3f=cubeSize*0.5;let intersecAtMaxPlane: vec3f=(cubePos+halfSize-vertexPos)*invOrigVec;let intersecAtMinPlane: vec3f=(cubePos-halfSize-vertexPos)*invOrigVec;let largestIntersec: vec3f=max(intersecAtMaxPlane,intersecAtMinPlane);let distance: f32=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);let intersectPositionWS: vec3f=vertexPos+origVec*distance;return intersectPositionWS-cubePos;}\nfn equirectangularToCubemapDirection(uv : vec2f)->vec3f {var longitude : f32=uv.x*TWO_PI-PI;var latitude : f32=HALF_PI-uv.y*PI;var direction : vec3f;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}\nfn sqrtClamped(value: f32)->f32 {return sqrt(max(value,0.));}\nfn avg(value: vec3f)->f32 {return dot(value,vec3f(0.333333333));}\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const helperFunctionsWGSL = { name, shader };\n//# sourceMappingURL=helperFunctions.js.map"],"names":["ShaderStore","IncludesShadersStoreWGSL"],"mappings":"gDAgFAA,EAAYC,yBAA6B,gBA7E1B"}
@@ -1,2 +0,0 @@
1
- import{i as e}from"./index-DRbhrB0j.esm.min.js";e.IncludesShadersStore.helperFunctions="const float PI=3.1415926535897932384626433832795;const float TWO_PI=6.283185307179586;const float HALF_PI=1.5707963267948966;const float RECIPROCAL_PI=0.3183098861837907;const float RECIPROCAL_PI2=0.15915494309189535;const float RECIPROCAL_PI4=0.07957747154594767;const float HALF_MIN=5.96046448e-08; \nconst float LinearEncodePowerApprox=2.2;const float GammaEncodePowerApprox=1.0/LinearEncodePowerApprox;const vec3 LuminanceEncodeApprox=vec3(0.2126,0.7152,0.0722);const float Epsilon=0.0000001;\n#define saturate(x) clamp(x,0.0,1.0)\n#define absEps(x) abs(x)+Epsilon\n#define maxEps(x) max(x,Epsilon)\n#define saturateEps(x) clamp(x,Epsilon,1.0)\nmat3 transposeMat3(mat3 inMatrix) {vec3 i0=inMatrix[0];vec3 i1=inMatrix[1];vec3 i2=inMatrix[2];mat3 outMatrix=mat3(\nvec3(i0.x,i1.x,i2.x),\nvec3(i0.y,i1.y,i2.y),\nvec3(i0.z,i1.z,i2.z)\n);return outMatrix;}\nmat3 inverseMat3(mat3 inMatrix) {float a00=inMatrix[0][0],a01=inMatrix[0][1],a02=inMatrix[0][2];float a10=inMatrix[1][0],a11=inMatrix[1][1],a12=inMatrix[1][2];float a20=inMatrix[2][0],a21=inMatrix[2][1],a22=inMatrix[2][2];float b01=a22*a11-a12*a21;float b11=-a22*a10+a12*a20;float b21=a21*a10-a11*a20;float det=a00*b01+a01*b11+a02*b21;return mat3(b01,(-a22*a01+a02*a21),(a12*a01-a02*a11),\nb11,(a22*a00-a02*a20),(-a12*a00+a02*a10),\nb21,(-a21*a00+a01*a20),(a11*a00-a01*a10))/det;}\n#if USE_EXACT_SRGB_CONVERSIONS\nvec3 toLinearSpaceExact(vec3 color)\n{vec3 nearZeroSection=0.0773993808*color;vec3 remainingSection=pow(0.947867299*(color+vec3(0.055)),vec3(2.4));\n#if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)\nreturn mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.04045)));\n#else\nreturn\nvec3(\ncolor.r<=0.04045 ? nearZeroSection.r : remainingSection.r,\ncolor.g<=0.04045 ? nearZeroSection.g : remainingSection.g,\ncolor.b<=0.04045 ? nearZeroSection.b : remainingSection.b);\n#endif\n}\nvec3 toGammaSpaceExact(vec3 color)\n{vec3 nearZeroSection=12.92*color;vec3 remainingSection=1.055*pow(color,vec3(0.41666))-vec3(0.055);\n#if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)\nreturn mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.0031308)));\n#else\nreturn\nvec3(\ncolor.r<=0.0031308 ? nearZeroSection.r : remainingSection.r,\ncolor.g<=0.0031308 ? nearZeroSection.g : remainingSection.g,\ncolor.b<=0.0031308 ? nearZeroSection.b : remainingSection.b);\n#endif\n}\n#endif\nfloat toLinearSpace(float color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nfloat nearZeroSection=0.0773993808*color;float remainingSection=pow(0.947867299*(color+0.055),2.4);return color<=0.04045 ? nearZeroSection : remainingSection;\n#else\nreturn pow(color,LinearEncodePowerApprox);\n#endif\n}\nvec3 toLinearSpace(vec3 color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn toLinearSpaceExact(color);\n#else\nreturn pow(color,vec3(LinearEncodePowerApprox));\n#endif\n}\nvec4 toLinearSpace(vec4 color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn vec4(toLinearSpaceExact(color.rgb),color.a);\n#else\nreturn vec4(pow(color.rgb,vec3(LinearEncodePowerApprox)),color.a);\n#endif\n}\nfloat toGammaSpace(float color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nfloat nearZeroSection=12.92*color;float remainingSection=1.055*pow(color,0.41666)-0.055;return color<=0.0031308 ? nearZeroSection : remainingSection;\n#else\nreturn pow(color,GammaEncodePowerApprox);\n#endif\n}\nvec3 toGammaSpace(vec3 color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn toGammaSpaceExact(color);\n#else\nreturn pow(color,vec3(GammaEncodePowerApprox));\n#endif\n}\nvec4 toGammaSpace(vec4 color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn vec4(toGammaSpaceExact(color.rgb),color.a);\n#else\nreturn vec4(pow(color.rgb,vec3(GammaEncodePowerApprox)),color.a);\n#endif\n}\nfloat square(float value)\n{return value*value;}\nvec3 square(vec3 value)\n{return value*value;}\nfloat pow5(float value) {float sq=value*value;return sq*sq*value;}\nfloat getLuminance(vec3 color)\n{return saturate(dot(color,LuminanceEncodeApprox));}\nfloat getRand(vec2 seed) {return fract(sin(dot(seed.xy ,vec2(12.9898,78.233)))*43758.5453);}\nfloat dither(vec2 seed,float varianceAmount) {float rand=getRand(seed);float normVariance=varianceAmount/255.0;float dither=mix(-normVariance,normVariance,rand);return dither;}\nconst float rgbdMaxRange=255.;vec4 toRGBD(vec3 color) {float maxRGB=maxEps(max(color.r,max(color.g,color.b)));float D =max(rgbdMaxRange/maxRGB,1.);D =saturate(floor(D)/255.);vec3 rgb=color.rgb*D;rgb=toGammaSpace(rgb);return vec4(saturate(rgb),D);}\nvec3 fromRGBD(vec4 rgbd) {rgbd.rgb=toLinearSpace(rgbd.rgb);return rgbd.rgb/rgbd.a;}\nvec3 parallaxCorrectNormal( vec3 vertexPos,vec3 origVec,vec3 cubeSize,vec3 cubePos ) {vec3 invOrigVec=vec3(1.)/origVec;vec3 halfSize=cubeSize*0.5;vec3 intersecAtMaxPlane=(cubePos+halfSize-vertexPos)*invOrigVec;vec3 intersecAtMinPlane=(cubePos-halfSize-vertexPos)*invOrigVec;vec3 largestIntersec=max(intersecAtMaxPlane,intersecAtMinPlane);float distance=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);vec3 intersectPositionWS=vertexPos+origVec*distance;return intersectPositionWS-cubePos;}\nvec3 equirectangularToCubemapDirection(vec2 uv) {float longitude=uv.x*TWO_PI-PI;float latitude=HALF_PI-uv.y*PI;vec3 direction;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}\nfloat sqrtClamped(float value) {return sqrt(max(value,0.));}\nfloat avg(vec3 value) {return dot(value,vec3(0.333333333));}";
2
- //# sourceMappingURL=helperFunctions-DjoUVhI2.esm.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helperFunctions-DjoUVhI2.esm.min.js","sources":["../../../../../dev/core/dist/Shaders/ShadersInclude/helperFunctions.js"],"sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"helperFunctions\";\nconst shader = `const float PI=3.1415926535897932384626433832795;const float TWO_PI=6.283185307179586;const float HALF_PI=1.5707963267948966;const float RECIPROCAL_PI=0.3183098861837907;const float RECIPROCAL_PI2=0.15915494309189535;const float RECIPROCAL_PI4=0.07957747154594767;const float HALF_MIN=5.96046448e-08; \nconst float LinearEncodePowerApprox=2.2;const float GammaEncodePowerApprox=1.0/LinearEncodePowerApprox;const vec3 LuminanceEncodeApprox=vec3(0.2126,0.7152,0.0722);const float Epsilon=0.0000001;\n#define saturate(x) clamp(x,0.0,1.0)\n#define absEps(x) abs(x)+Epsilon\n#define maxEps(x) max(x,Epsilon)\n#define saturateEps(x) clamp(x,Epsilon,1.0)\nmat3 transposeMat3(mat3 inMatrix) {vec3 i0=inMatrix[0];vec3 i1=inMatrix[1];vec3 i2=inMatrix[2];mat3 outMatrix=mat3(\nvec3(i0.x,i1.x,i2.x),\nvec3(i0.y,i1.y,i2.y),\nvec3(i0.z,i1.z,i2.z)\n);return outMatrix;}\nmat3 inverseMat3(mat3 inMatrix) {float a00=inMatrix[0][0],a01=inMatrix[0][1],a02=inMatrix[0][2];float a10=inMatrix[1][0],a11=inMatrix[1][1],a12=inMatrix[1][2];float a20=inMatrix[2][0],a21=inMatrix[2][1],a22=inMatrix[2][2];float b01=a22*a11-a12*a21;float b11=-a22*a10+a12*a20;float b21=a21*a10-a11*a20;float det=a00*b01+a01*b11+a02*b21;return mat3(b01,(-a22*a01+a02*a21),(a12*a01-a02*a11),\nb11,(a22*a00-a02*a20),(-a12*a00+a02*a10),\nb21,(-a21*a00+a01*a20),(a11*a00-a01*a10))/det;}\n#if USE_EXACT_SRGB_CONVERSIONS\nvec3 toLinearSpaceExact(vec3 color)\n{vec3 nearZeroSection=0.0773993808*color;vec3 remainingSection=pow(0.947867299*(color+vec3(0.055)),vec3(2.4));\n#if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)\nreturn mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.04045)));\n#else\nreturn\nvec3(\ncolor.r<=0.04045 ? nearZeroSection.r : remainingSection.r,\ncolor.g<=0.04045 ? nearZeroSection.g : remainingSection.g,\ncolor.b<=0.04045 ? nearZeroSection.b : remainingSection.b);\n#endif\n}\nvec3 toGammaSpaceExact(vec3 color)\n{vec3 nearZeroSection=12.92*color;vec3 remainingSection=1.055*pow(color,vec3(0.41666))-vec3(0.055);\n#if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)\nreturn mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.0031308)));\n#else\nreturn\nvec3(\ncolor.r<=0.0031308 ? nearZeroSection.r : remainingSection.r,\ncolor.g<=0.0031308 ? nearZeroSection.g : remainingSection.g,\ncolor.b<=0.0031308 ? nearZeroSection.b : remainingSection.b);\n#endif\n}\n#endif\nfloat toLinearSpace(float color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nfloat nearZeroSection=0.0773993808*color;float remainingSection=pow(0.947867299*(color+0.055),2.4);return color<=0.04045 ? nearZeroSection : remainingSection;\n#else\nreturn pow(color,LinearEncodePowerApprox);\n#endif\n}\nvec3 toLinearSpace(vec3 color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn toLinearSpaceExact(color);\n#else\nreturn pow(color,vec3(LinearEncodePowerApprox));\n#endif\n}\nvec4 toLinearSpace(vec4 color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn vec4(toLinearSpaceExact(color.rgb),color.a);\n#else\nreturn vec4(pow(color.rgb,vec3(LinearEncodePowerApprox)),color.a);\n#endif\n}\nfloat toGammaSpace(float color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nfloat nearZeroSection=12.92*color;float remainingSection=1.055*pow(color,0.41666)-0.055;return color<=0.0031308 ? nearZeroSection : remainingSection;\n#else\nreturn pow(color,GammaEncodePowerApprox);\n#endif\n}\nvec3 toGammaSpace(vec3 color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn toGammaSpaceExact(color);\n#else\nreturn pow(color,vec3(GammaEncodePowerApprox));\n#endif\n}\nvec4 toGammaSpace(vec4 color)\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn vec4(toGammaSpaceExact(color.rgb),color.a);\n#else\nreturn vec4(pow(color.rgb,vec3(GammaEncodePowerApprox)),color.a);\n#endif\n}\nfloat square(float value)\n{return value*value;}\nvec3 square(vec3 value)\n{return value*value;}\nfloat pow5(float value) {float sq=value*value;return sq*sq*value;}\nfloat getLuminance(vec3 color)\n{return saturate(dot(color,LuminanceEncodeApprox));}\nfloat getRand(vec2 seed) {return fract(sin(dot(seed.xy ,vec2(12.9898,78.233)))*43758.5453);}\nfloat dither(vec2 seed,float varianceAmount) {float rand=getRand(seed);float normVariance=varianceAmount/255.0;float dither=mix(-normVariance,normVariance,rand);return dither;}\nconst float rgbdMaxRange=255.;vec4 toRGBD(vec3 color) {float maxRGB=maxEps(max(color.r,max(color.g,color.b)));float D =max(rgbdMaxRange/maxRGB,1.);D =saturate(floor(D)/255.);vec3 rgb=color.rgb*D;rgb=toGammaSpace(rgb);return vec4(saturate(rgb),D);}\nvec3 fromRGBD(vec4 rgbd) {rgbd.rgb=toLinearSpace(rgbd.rgb);return rgbd.rgb/rgbd.a;}\nvec3 parallaxCorrectNormal( vec3 vertexPos,vec3 origVec,vec3 cubeSize,vec3 cubePos ) {vec3 invOrigVec=vec3(1.)/origVec;vec3 halfSize=cubeSize*0.5;vec3 intersecAtMaxPlane=(cubePos+halfSize-vertexPos)*invOrigVec;vec3 intersecAtMinPlane=(cubePos-halfSize-vertexPos)*invOrigVec;vec3 largestIntersec=max(intersecAtMaxPlane,intersecAtMinPlane);float distance=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);vec3 intersectPositionWS=vertexPos+origVec*distance;return intersectPositionWS-cubePos;}\nvec3 equirectangularToCubemapDirection(vec2 uv) {float longitude=uv.x*TWO_PI-PI;float latitude=HALF_PI-uv.y*PI;vec3 direction;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}\nfloat sqrtClamped(float value) {return sqrt(max(value,0.));}\nfloat avg(vec3 value) {return dot(value,vec3(0.333333333));}`;\n// Sideeffect\nShaderStore.IncludesShadersStore[name] = shader;\n/** @internal */\nexport const helperFunctions = { name, shader };\n//# sourceMappingURL=helperFunctions.js.map"],"names":["ShaderStore","IncludesShadersStore"],"mappings":"gDA2GAA,EAAYC,qBAAyB,gBAxGtB"}
@@ -1,83 +0,0 @@
1
- import { i as ShaderStore } from './index-Cw2FZpYY.esm.js';
2
-
3
- // Do not edit.
4
- const name = "helperFunctions";
5
- const shader = `const PI: f32=3.1415926535897932384626433832795;const TWO_PI: f32=6.283185307179586;const HALF_PI: f32=1.5707963267948966;const RECIPROCAL_PI: f32=0.3183098861837907;const RECIPROCAL_PI2: f32=0.15915494309189535;const RECIPROCAL_PI4: f32=0.07957747154594767;const HALF_MIN: f32=5.96046448e-08;
6
- const LinearEncodePowerApprox: f32=2.2;const GammaEncodePowerApprox: f32=1.0/LinearEncodePowerApprox;const LuminanceEncodeApprox: vec3f=vec3f(0.2126,0.7152,0.0722);const Epsilon:f32=0.0000001;fn square(x: f32)->f32 {return x*x;}
7
- fn saturate(x: f32)->f32 {return clamp(x,0.0,1.0);}
8
- fn saturateVec3(x: vec3f)->vec3f {return clamp(x,vec3f(),vec3f(1.0));}
9
- fn saturateEps(x: f32)->f32 {return clamp(x,Epsilon,1.0);}
10
- fn maxEps(x: f32)->f32 {return max(x,Epsilon);}
11
- fn maxEpsVec3(x: vec3f)->vec3f {return max(x,vec3f(Epsilon));}
12
- fn absEps(x: f32)->f32 {return abs(x)+Epsilon;}
13
- fn transposeMat3(inMatrix: mat3x3f)->mat3x3f {let i0: vec3f=inMatrix[0];let i1: vec3f=inMatrix[1];let i2: vec3f=inMatrix[2];let outMatrix:mat3x3f=mat3x3f(
14
- vec3(i0.x,i1.x,i2.x),
15
- vec3(i0.y,i1.y,i2.y),
16
- vec3(i0.z,i1.z,i2.z)
17
- );return outMatrix;}
18
- fn inverseMat3(inMatrix: mat3x3f)->mat3x3f {let a00: f32=inMatrix[0][0];let a01: f32=inMatrix[0][1];let a02: f32=inMatrix[0][2];let a10: f32=inMatrix[1][0];let a11: f32=inMatrix[1][1];let a12: f32=inMatrix[1][2];let a20: f32=inMatrix[2][0];let a21: f32=inMatrix[2][1];let a22: f32=inMatrix[2][2];let b01: f32=a22*a11-a12*a21;let b11: f32=-a22*a10+a12*a20;let b21: f32=a21*a10-a11*a20;let det: f32=a00*b01+a01*b11+a02*b21;return mat3x3f(b01/det,(-a22*a01+a02*a21)/det,(a12*a01-a02*a11)/det,
19
- b11/det,(a22*a00-a02*a20)/det,(-a12*a00+a02*a10)/det,
20
- b21/det,(-a21*a00+a01*a20)/det,(a11*a00-a01*a10)/det);}
21
- #if USE_EXACT_SRGB_CONVERSIONS
22
- fn toLinearSpaceExact(color: vec3f)->vec3f
23
- {let nearZeroSection: vec3f=0.0773993808*color;let remainingSection: vec3f=pow(0.947867299*(color+vec3f(0.055)),vec3f(2.4));return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3f(0.04045)));}
24
- fn toGammaSpaceExact(color: vec3f)->vec3f
25
- {let nearZeroSection: vec3f=12.92*color;let remainingSection: vec3f=1.055*pow(color,vec3f(0.41666))-vec3f(0.055);return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3f(0.0031308)));}
26
- #endif
27
- fn toLinearSpace(color: f32)->f32
28
- {
29
- #if USE_EXACT_SRGB_CONVERSIONS
30
- var nearZeroSection=0.0773993808*color;var remainingSection=pow(0.947867299*(color+0.055),2.4);return select(remainingSection,nearZeroSection,color<=0.04045);
31
- #else
32
- return pow(color,LinearEncodePowerApprox);
33
- #endif
34
- }
35
- fn toLinearSpaceVec3(color: vec3f)->vec3f
36
- {
37
- #if USE_EXACT_SRGB_CONVERSIONS
38
- return toLinearSpaceExact(color);
39
- #else
40
- return pow(color,vec3f(LinearEncodePowerApprox));
41
- #endif
42
- }
43
- fn toLinearSpaceVec4(color: vec4<f32>)->vec4<f32>
44
- {
45
- #if USE_EXACT_SRGB_CONVERSIONS
46
- return vec4f(toLinearSpaceExact(color.rgb),color.a);
47
- #else
48
- return vec4f(pow(color.rgb,vec3f(LinearEncodePowerApprox)),color.a);
49
- #endif
50
- }
51
- fn toGammaSpace(color: vec4<f32>)->vec4<f32>
52
- {
53
- #if USE_EXACT_SRGB_CONVERSIONS
54
- return vec4<f32>(toGammaSpaceExact(color.rgb),color.a);
55
- #else
56
- return vec4<f32>(pow(color.rgb,vec3f(GammaEncodePowerApprox)),color.a);
57
- #endif
58
- }
59
- fn toGammaSpaceVec3(color: vec3f)->vec3f
60
- {
61
- #if USE_EXACT_SRGB_CONVERSIONS
62
- return toGammaSpaceExact(color);
63
- #else
64
- return pow(color,vec3f(GammaEncodePowerApprox));
65
- #endif
66
- }
67
- fn squareVec3(value: vec3f)->vec3f
68
- {return value*value;}
69
- fn pow5(value: f32)->f32 {let sq: f32=value*value;return sq*sq*value;}
70
- fn getLuminance(color: vec3f)->f32
71
- {return saturate(dot(color,LuminanceEncodeApprox));}
72
- fn getRand(seed: vec2<f32>)->f32 {return fract(sin(dot(seed.xy ,vec2<f32>(12.9898,78.233)))*43758.5453);}
73
- fn dither(seed: vec2<f32>,varianceAmount: f32)->f32 {let rand: f32=getRand(seed);let normVariance: f32=varianceAmount/255.0;let dither: f32=mix(-normVariance,normVariance,rand);return dither;}
74
- const rgbdMaxRange: f32=255.0;fn toRGBD(color: vec3f)->vec4<f32> {let maxRGB: f32=max(max(color.r,max(color.g,color.b)),Epsilon);var D: f32 =max(rgbdMaxRange/maxRGB,1.);D =clamp(floor(D)/255.0,0.,1.);var rgb: vec3f =color.rgb*D;rgb=toGammaSpaceVec3(rgb);return vec4<f32>(saturateVec3(rgb),D);}
75
- fn fromRGBD(rgbd: vec4<f32>)->vec3f {let rgb=toLinearSpaceVec3(rgbd.rgb);return rgb/rgbd.a;}
76
- fn parallaxCorrectNormal(vertexPos: vec3f,origVec: vec3f,cubeSize: vec3f,cubePos: vec3f)->vec3f {let invOrigVec: vec3f=vec3f(1.)/origVec;let halfSize: vec3f=cubeSize*0.5;let intersecAtMaxPlane: vec3f=(cubePos+halfSize-vertexPos)*invOrigVec;let intersecAtMinPlane: vec3f=(cubePos-halfSize-vertexPos)*invOrigVec;let largestIntersec: vec3f=max(intersecAtMaxPlane,intersecAtMinPlane);let distance: f32=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);let intersectPositionWS: vec3f=vertexPos+origVec*distance;return intersectPositionWS-cubePos;}
77
- fn equirectangularToCubemapDirection(uv : vec2f)->vec3f {var longitude : f32=uv.x*TWO_PI-PI;var latitude : f32=HALF_PI-uv.y*PI;var direction : vec3f;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}
78
- fn sqrtClamped(value: f32)->f32 {return sqrt(max(value,0.));}
79
- fn avg(value: vec3f)->f32 {return dot(value,vec3f(0.333333333));}
80
- `;
81
- // Sideeffect
82
- ShaderStore.IncludesShadersStoreWGSL[name] = shader;
83
- //# sourceMappingURL=helperFunctions-Ds3-3-tu.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helperFunctions-Ds3-3-tu.esm.js","sources":["../../../../../dev/core/dist/ShadersWGSL/ShadersInclude/helperFunctions.js"],"sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"helperFunctions\";\nconst shader = `const PI: f32=3.1415926535897932384626433832795;const TWO_PI: f32=6.283185307179586;const HALF_PI: f32=1.5707963267948966;const RECIPROCAL_PI: f32=0.3183098861837907;const RECIPROCAL_PI2: f32=0.15915494309189535;const RECIPROCAL_PI4: f32=0.07957747154594767;const HALF_MIN: f32=5.96046448e-08; \nconst LinearEncodePowerApprox: f32=2.2;const GammaEncodePowerApprox: f32=1.0/LinearEncodePowerApprox;const LuminanceEncodeApprox: vec3f=vec3f(0.2126,0.7152,0.0722);const Epsilon:f32=0.0000001;fn square(x: f32)->f32 {return x*x;}\nfn saturate(x: f32)->f32 {return clamp(x,0.0,1.0);}\nfn saturateVec3(x: vec3f)->vec3f {return clamp(x,vec3f(),vec3f(1.0));}\nfn saturateEps(x: f32)->f32 {return clamp(x,Epsilon,1.0);}\nfn maxEps(x: f32)->f32 {return max(x,Epsilon);}\nfn maxEpsVec3(x: vec3f)->vec3f {return max(x,vec3f(Epsilon));}\nfn absEps(x: f32)->f32 {return abs(x)+Epsilon;}\nfn transposeMat3(inMatrix: mat3x3f)->mat3x3f {let i0: vec3f=inMatrix[0];let i1: vec3f=inMatrix[1];let i2: vec3f=inMatrix[2];let outMatrix:mat3x3f=mat3x3f(\nvec3(i0.x,i1.x,i2.x),\nvec3(i0.y,i1.y,i2.y),\nvec3(i0.z,i1.z,i2.z)\n);return outMatrix;}\nfn inverseMat3(inMatrix: mat3x3f)->mat3x3f {let a00: f32=inMatrix[0][0];let a01: f32=inMatrix[0][1];let a02: f32=inMatrix[0][2];let a10: f32=inMatrix[1][0];let a11: f32=inMatrix[1][1];let a12: f32=inMatrix[1][2];let a20: f32=inMatrix[2][0];let a21: f32=inMatrix[2][1];let a22: f32=inMatrix[2][2];let b01: f32=a22*a11-a12*a21;let b11: f32=-a22*a10+a12*a20;let b21: f32=a21*a10-a11*a20;let det: f32=a00*b01+a01*b11+a02*b21;return mat3x3f(b01/det,(-a22*a01+a02*a21)/det,(a12*a01-a02*a11)/det,\nb11/det,(a22*a00-a02*a20)/det,(-a12*a00+a02*a10)/det,\nb21/det,(-a21*a00+a01*a20)/det,(a11*a00-a01*a10)/det);}\n#if USE_EXACT_SRGB_CONVERSIONS\nfn toLinearSpaceExact(color: vec3f)->vec3f\n{let nearZeroSection: vec3f=0.0773993808*color;let remainingSection: vec3f=pow(0.947867299*(color+vec3f(0.055)),vec3f(2.4));return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3f(0.04045)));}\nfn toGammaSpaceExact(color: vec3f)->vec3f\n{let nearZeroSection: vec3f=12.92*color;let remainingSection: vec3f=1.055*pow(color,vec3f(0.41666))-vec3f(0.055);return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3f(0.0031308)));}\n#endif\nfn toLinearSpace(color: f32)->f32\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nvar nearZeroSection=0.0773993808*color;var remainingSection=pow(0.947867299*(color+0.055),2.4);return select(remainingSection,nearZeroSection,color<=0.04045);\n#else\nreturn pow(color,LinearEncodePowerApprox);\n#endif\n}\nfn toLinearSpaceVec3(color: vec3f)->vec3f\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn toLinearSpaceExact(color);\n#else\nreturn pow(color,vec3f(LinearEncodePowerApprox));\n#endif\n}\nfn toLinearSpaceVec4(color: vec4<f32>)->vec4<f32>\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn vec4f(toLinearSpaceExact(color.rgb),color.a);\n#else\nreturn vec4f(pow(color.rgb,vec3f(LinearEncodePowerApprox)),color.a);\n#endif\n}\nfn toGammaSpace(color: vec4<f32>)->vec4<f32>\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn vec4<f32>(toGammaSpaceExact(color.rgb),color.a);\n#else\nreturn vec4<f32>(pow(color.rgb,vec3f(GammaEncodePowerApprox)),color.a);\n#endif\n}\nfn toGammaSpaceVec3(color: vec3f)->vec3f\n{\n#if USE_EXACT_SRGB_CONVERSIONS\nreturn toGammaSpaceExact(color);\n#else\nreturn pow(color,vec3f(GammaEncodePowerApprox));\n#endif\n}\nfn squareVec3(value: vec3f)->vec3f\n{return value*value;}\nfn pow5(value: f32)->f32 {let sq: f32=value*value;return sq*sq*value;}\nfn getLuminance(color: vec3f)->f32\n{return saturate(dot(color,LuminanceEncodeApprox));}\nfn getRand(seed: vec2<f32>)->f32 {return fract(sin(dot(seed.xy ,vec2<f32>(12.9898,78.233)))*43758.5453);}\nfn dither(seed: vec2<f32>,varianceAmount: f32)->f32 {let rand: f32=getRand(seed);let normVariance: f32=varianceAmount/255.0;let dither: f32=mix(-normVariance,normVariance,rand);return dither;}\nconst rgbdMaxRange: f32=255.0;fn toRGBD(color: vec3f)->vec4<f32> {let maxRGB: f32=max(max(color.r,max(color.g,color.b)),Epsilon);var D: f32 =max(rgbdMaxRange/maxRGB,1.);D =clamp(floor(D)/255.0,0.,1.);var rgb: vec3f =color.rgb*D;rgb=toGammaSpaceVec3(rgb);return vec4<f32>(saturateVec3(rgb),D);}\nfn fromRGBD(rgbd: vec4<f32>)->vec3f {let rgb=toLinearSpaceVec3(rgbd.rgb);return rgb/rgbd.a;}\nfn parallaxCorrectNormal(vertexPos: vec3f,origVec: vec3f,cubeSize: vec3f,cubePos: vec3f)->vec3f {let invOrigVec: vec3f=vec3f(1.)/origVec;let halfSize: vec3f=cubeSize*0.5;let intersecAtMaxPlane: vec3f=(cubePos+halfSize-vertexPos)*invOrigVec;let intersecAtMinPlane: vec3f=(cubePos-halfSize-vertexPos)*invOrigVec;let largestIntersec: vec3f=max(intersecAtMaxPlane,intersecAtMinPlane);let distance: f32=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);let intersectPositionWS: vec3f=vertexPos+origVec*distance;return intersectPositionWS-cubePos;}\nfn equirectangularToCubemapDirection(uv : vec2f)->vec3f {var longitude : f32=uv.x*TWO_PI-PI;var latitude : f32=HALF_PI-uv.y*PI;var direction : vec3f;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}\nfn sqrtClamped(value: f32)->f32 {return sqrt(max(value,0.));}\nfn avg(value: vec3f)->f32 {return dot(value,vec3f(0.333333333));}\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const helperFunctionsWGSL = { name, shader };\n//# sourceMappingURL=helperFunctions.js.map"],"names":[],"mappings":";;AAAA;AAEA,MAAM,IAAI,GAAG,iBAAiB;AAC9B,MAAM,MAAM,GAAG,CAAC;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,MAAM"}
@@ -1,189 +0,0 @@
1
- import { bF as Lerp, C as Constants } from './index-Cw2FZpYY.esm.js';
2
-
3
- function lineToArray(line) {
4
- return line
5
- .split(" ")
6
- .filter((x) => x !== "")
7
- .map((x) => parseFloat(x));
8
- }
9
- function readArray(dataPointer, count, targetArray) {
10
- while (targetArray.length !== count) {
11
- const line = lineToArray(dataPointer.lines[dataPointer.index++]);
12
- targetArray.push(...line);
13
- }
14
- }
15
- function interpolateCandelaValues(data, phi, theta) {
16
- let phiIndex = 0;
17
- let thetaIndex = 0;
18
- let startTheta = 0;
19
- let endTheta = 0;
20
- let startPhi = 0;
21
- let endPhi = 0;
22
- // Check if the angle is outside the range
23
- for (let index = 0; index < data.numberOfHorizontalAngles - 1; index++) {
24
- if (theta < data.horizontalAngles[index + 1] || index === data.numberOfHorizontalAngles - 2) {
25
- thetaIndex = index;
26
- startTheta = data.horizontalAngles[index];
27
- endTheta = data.horizontalAngles[index + 1];
28
- break;
29
- }
30
- }
31
- for (let index = 0; index < data.numberOfVerticalAngles - 1; index++) {
32
- if (phi < data.verticalAngles[index + 1] || index === data.numberOfVerticalAngles - 2) {
33
- phiIndex = index;
34
- startPhi = data.verticalAngles[index];
35
- endPhi = data.verticalAngles[index + 1];
36
- break;
37
- }
38
- }
39
- const deltaTheta = endTheta - startTheta;
40
- const deltaPhi = endPhi - startPhi;
41
- if (deltaPhi === 0) {
42
- return 0;
43
- }
44
- // Interpolate
45
- const t1 = deltaTheta === 0 ? 0 : (theta - startTheta) / deltaTheta;
46
- const t2 = (phi - startPhi) / deltaPhi;
47
- const nextThetaIndex = deltaTheta === 0 ? thetaIndex : thetaIndex + 1;
48
- const v1 = Lerp(data.candelaValues[thetaIndex][phiIndex], data.candelaValues[nextThetaIndex][phiIndex], t1);
49
- const v2 = Lerp(data.candelaValues[thetaIndex][phiIndex + 1], data.candelaValues[nextThetaIndex][phiIndex + 1], t1);
50
- const v = Lerp(v1, v2, t2);
51
- return v;
52
- }
53
- /**
54
- * Generates IES data buffer from a string representing the IES data.
55
- * @param uint8Array defines the IES data
56
- * @returns the IES data buffer
57
- * @see https://ieslibrary.com/browse
58
- * #UQGPDT#1
59
- */
60
- function LoadIESData(uint8Array) {
61
- const decoder = new TextDecoder("utf-8");
62
- const source = decoder.decode(uint8Array);
63
- // Read data
64
- const dataPointer = {
65
- lines: source.split("\n"),
66
- index: 0,
67
- };
68
- const data = { version: dataPointer.lines[0], candelaValues: [], horizontalAngles: [], verticalAngles: [], numberOfHorizontalAngles: 0, numberOfVerticalAngles: 0 };
69
- // Skip metadata
70
- dataPointer.index = 1;
71
- while (dataPointer.lines.length > 0 && !dataPointer.lines[dataPointer.index].includes("TILT=")) {
72
- dataPointer.index++;
73
- }
74
- // Process tilt data?
75
- if (dataPointer.lines[dataPointer.index].includes("INCLUDE")) ;
76
- dataPointer.index++;
77
- // Header
78
- const header = lineToArray(dataPointer.lines[dataPointer.index++]);
79
- data.numberOfLights = header[0];
80
- data.lumensPerLamp = header[1];
81
- data.candelaMultiplier = header[2];
82
- data.numberOfVerticalAngles = header[3];
83
- data.numberOfHorizontalAngles = header[4];
84
- data.photometricType = header[5]; // We ignore cylindrical type for now. Will add support later if needed
85
- data.unitsType = header[6];
86
- data.width = header[7];
87
- data.length = header[8];
88
- data.height = header[9];
89
- // Additional data
90
- const additionalData = lineToArray(dataPointer.lines[dataPointer.index++]);
91
- data.ballastFactor = additionalData[0];
92
- data.fileGenerationType = additionalData[1];
93
- data.inputWatts = additionalData[2];
94
- // Prepare arrays
95
- for (let index = 0; index < data.numberOfHorizontalAngles; index++) {
96
- data.candelaValues[index] = [];
97
- }
98
- // Vertical angles
99
- readArray(dataPointer, data.numberOfVerticalAngles, data.verticalAngles);
100
- // Horizontal angles
101
- readArray(dataPointer, data.numberOfHorizontalAngles, data.horizontalAngles);
102
- // Candela values
103
- for (let index = 0; index < data.numberOfHorizontalAngles; index++) {
104
- readArray(dataPointer, data.numberOfVerticalAngles, data.candelaValues[index]);
105
- }
106
- // Evaluate candela values
107
- let maxCandela = -1;
108
- for (let index = 0; index < data.numberOfHorizontalAngles; index++) {
109
- for (let subIndex = 0; subIndex < data.numberOfVerticalAngles; subIndex++) {
110
- data.candelaValues[index][subIndex] *= data.candelaValues[index][subIndex] * data.candelaMultiplier * data.ballastFactor * data.fileGenerationType;
111
- maxCandela = Math.max(maxCandela, data.candelaValues[index][subIndex]);
112
- }
113
- }
114
- // Normalize candela values
115
- if (maxCandela > 0) {
116
- for (let index = 0; index < data.numberOfHorizontalAngles; index++) {
117
- for (let subIndex = 0; subIndex < data.numberOfVerticalAngles; subIndex++) {
118
- data.candelaValues[index][subIndex] /= maxCandela;
119
- }
120
- }
121
- }
122
- // Create the cylindrical texture
123
- const height = 180;
124
- const width = height * 2;
125
- const size = width * height;
126
- const arrayBuffer = new Float32Array(width * height);
127
- // Fill the texture
128
- const startTheta = data.horizontalAngles[0];
129
- const endTheta = data.horizontalAngles[data.numberOfHorizontalAngles - 1];
130
- for (let index = 0; index < size; index++) {
131
- let theta = index % width;
132
- const phi = Math.floor(index / width);
133
- // Symmetry
134
- if (endTheta - startTheta !== 0 && (theta < startTheta || theta >= endTheta)) {
135
- theta %= endTheta * 2;
136
- if (theta > endTheta) {
137
- theta = endTheta * 2 - theta;
138
- }
139
- }
140
- arrayBuffer[phi + theta * height] = interpolateCandelaValues(data, phi, theta);
141
- }
142
- // So far we only need the first half of the first row of the texture as we only support IES for spot light. We can add support for other types later.
143
- return {
144
- width: width / 2,
145
- height: 1,
146
- data: arrayBuffer,
147
- };
148
- }
149
-
150
- /**
151
- * Implementation of the IES Texture Loader.
152
- * @internal
153
- */
154
- // eslint-disable-next-line @typescript-eslint/naming-convention
155
- class _IESTextureLoader {
156
- constructor() {
157
- /**
158
- * Defines whether the loader supports cascade loading the different faces.
159
- */
160
- this.supportCascades = false;
161
- }
162
- /**
163
- * Uploads the cube texture data to the WebGL texture. It has already been bound.
164
- */
165
- loadCubeData() {
166
- // eslint-disable-next-line no-throw-literal
167
- throw ".ies not supported in Cube.";
168
- }
169
- /**
170
- * Uploads the 2D texture data to the WebGL texture. It has already been bound once in the callback.
171
- * @param data contains the texture data
172
- * @param texture defines the BabylonJS internal texture
173
- * @param callback defines the method to call once ready to upload
174
- */
175
- loadData(data, texture, callback) {
176
- const uint8array = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
177
- const textureData = LoadIESData(uint8array);
178
- callback(textureData.width, textureData.height, false, false, () => {
179
- const engine = texture.getEngine();
180
- texture.type = Constants.TEXTURETYPE_FLOAT;
181
- texture.format = Constants.TEXTUREFORMAT_R;
182
- texture._gammaSpace = false;
183
- engine._uploadDataToTextureDirectly(texture, textureData.data);
184
- });
185
- }
186
- }
187
-
188
- export { _IESTextureLoader };
189
- //# sourceMappingURL=iesTextureLoader-CsnjIN7M.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iesTextureLoader-CsnjIN7M.esm.js","sources":["../../../../../dev/core/dist/Lights/IES/iesLoader.js","../../../../../dev/core/dist/Materials/Textures/Loaders/iesTextureLoader.js"],"sourcesContent":["import { Lerp } from \"core/Maths/math.scalar.functions\";\nfunction lineToArray(line) {\n return line\n .split(\" \")\n .filter((x) => x !== \"\")\n .map((x) => parseFloat(x));\n}\nfunction readArray(dataPointer, count, targetArray) {\n while (targetArray.length !== count) {\n const line = lineToArray(dataPointer.lines[dataPointer.index++]);\n targetArray.push(...line);\n }\n}\nfunction interpolateCandelaValues(data, phi, theta) {\n let phiIndex = 0;\n let thetaIndex = 0;\n let startTheta = 0;\n let endTheta = 0;\n let startPhi = 0;\n let endPhi = 0;\n // Check if the angle is outside the range\n for (let index = 0; index < data.numberOfHorizontalAngles - 1; index++) {\n if (theta < data.horizontalAngles[index + 1] || index === data.numberOfHorizontalAngles - 2) {\n thetaIndex = index;\n startTheta = data.horizontalAngles[index];\n endTheta = data.horizontalAngles[index + 1];\n break;\n }\n }\n for (let index = 0; index < data.numberOfVerticalAngles - 1; index++) {\n if (phi < data.verticalAngles[index + 1] || index === data.numberOfVerticalAngles - 2) {\n phiIndex = index;\n startPhi = data.verticalAngles[index];\n endPhi = data.verticalAngles[index + 1];\n break;\n }\n }\n const deltaTheta = endTheta - startTheta;\n const deltaPhi = endPhi - startPhi;\n if (deltaPhi === 0) {\n return 0;\n }\n // Interpolate\n const t1 = deltaTheta === 0 ? 0 : (theta - startTheta) / deltaTheta;\n const t2 = (phi - startPhi) / deltaPhi;\n const nextThetaIndex = deltaTheta === 0 ? thetaIndex : thetaIndex + 1;\n const v1 = Lerp(data.candelaValues[thetaIndex][phiIndex], data.candelaValues[nextThetaIndex][phiIndex], t1);\n const v2 = Lerp(data.candelaValues[thetaIndex][phiIndex + 1], data.candelaValues[nextThetaIndex][phiIndex + 1], t1);\n const v = Lerp(v1, v2, t2);\n return v;\n}\n/**\n * Generates IES data buffer from a string representing the IES data.\n * @param uint8Array defines the IES data\n * @returns the IES data buffer\n * @see https://ieslibrary.com/browse\n * #UQGPDT#1\n */\nexport function LoadIESData(uint8Array) {\n const decoder = new TextDecoder(\"utf-8\");\n const source = decoder.decode(uint8Array);\n // Read data\n const dataPointer = {\n lines: source.split(\"\\n\"),\n index: 0,\n };\n const data = { version: dataPointer.lines[0], candelaValues: [], horizontalAngles: [], verticalAngles: [], numberOfHorizontalAngles: 0, numberOfVerticalAngles: 0 };\n // Skip metadata\n dataPointer.index = 1;\n while (dataPointer.lines.length > 0 && !dataPointer.lines[dataPointer.index].includes(\"TILT=\")) {\n dataPointer.index++;\n }\n // Process tilt data?\n if (dataPointer.lines[dataPointer.index].includes(\"INCLUDE\")) {\n // Not supported yet as I did not manage to find an example :)\n }\n dataPointer.index++;\n // Header\n const header = lineToArray(dataPointer.lines[dataPointer.index++]);\n data.numberOfLights = header[0];\n data.lumensPerLamp = header[1];\n data.candelaMultiplier = header[2];\n data.numberOfVerticalAngles = header[3];\n data.numberOfHorizontalAngles = header[4];\n data.photometricType = header[5]; // We ignore cylindrical type for now. Will add support later if needed\n data.unitsType = header[6];\n data.width = header[7];\n data.length = header[8];\n data.height = header[9];\n // Additional data\n const additionalData = lineToArray(dataPointer.lines[dataPointer.index++]);\n data.ballastFactor = additionalData[0];\n data.fileGenerationType = additionalData[1];\n data.inputWatts = additionalData[2];\n // Prepare arrays\n for (let index = 0; index < data.numberOfHorizontalAngles; index++) {\n data.candelaValues[index] = [];\n }\n // Vertical angles\n readArray(dataPointer, data.numberOfVerticalAngles, data.verticalAngles);\n // Horizontal angles\n readArray(dataPointer, data.numberOfHorizontalAngles, data.horizontalAngles);\n // Candela values\n for (let index = 0; index < data.numberOfHorizontalAngles; index++) {\n readArray(dataPointer, data.numberOfVerticalAngles, data.candelaValues[index]);\n }\n // Evaluate candela values\n let maxCandela = -1;\n for (let index = 0; index < data.numberOfHorizontalAngles; index++) {\n for (let subIndex = 0; subIndex < data.numberOfVerticalAngles; subIndex++) {\n data.candelaValues[index][subIndex] *= data.candelaValues[index][subIndex] * data.candelaMultiplier * data.ballastFactor * data.fileGenerationType;\n maxCandela = Math.max(maxCandela, data.candelaValues[index][subIndex]);\n }\n }\n // Normalize candela values\n if (maxCandela > 0) {\n for (let index = 0; index < data.numberOfHorizontalAngles; index++) {\n for (let subIndex = 0; subIndex < data.numberOfVerticalAngles; subIndex++) {\n data.candelaValues[index][subIndex] /= maxCandela;\n }\n }\n }\n // Create the cylindrical texture\n const height = 180;\n const width = height * 2;\n const size = width * height;\n const arrayBuffer = new Float32Array(width * height);\n // Fill the texture\n const startTheta = data.horizontalAngles[0];\n const endTheta = data.horizontalAngles[data.numberOfHorizontalAngles - 1];\n for (let index = 0; index < size; index++) {\n let theta = index % width;\n const phi = Math.floor(index / width);\n // Symmetry\n if (endTheta - startTheta !== 0 && (theta < startTheta || theta >= endTheta)) {\n theta %= endTheta * 2;\n if (theta > endTheta) {\n theta = endTheta * 2 - theta;\n }\n }\n arrayBuffer[phi + theta * height] = interpolateCandelaValues(data, phi, theta);\n }\n // So far we only need the first half of the first row of the texture as we only support IES for spot light. We can add support for other types later.\n return {\n width: width / 2,\n height: 1,\n data: arrayBuffer,\n };\n}\n//# sourceMappingURL=iesLoader.js.map","import { Constants } from \"../../../Engines/constants\";\nimport { LoadIESData } from \"core/Lights/IES/iesLoader\";\n/**\n * Implementation of the IES Texture Loader.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class _IESTextureLoader {\n constructor() {\n /**\n * Defines whether the loader supports cascade loading the different faces.\n */\n this.supportCascades = false;\n }\n /**\n * Uploads the cube texture data to the WebGL texture. It has already been bound.\n */\n loadCubeData() {\n // eslint-disable-next-line no-throw-literal\n throw \".ies not supported in Cube.\";\n }\n /**\n * Uploads the 2D texture data to the WebGL texture. It has already been bound once in the callback.\n * @param data contains the texture data\n * @param texture defines the BabylonJS internal texture\n * @param callback defines the method to call once ready to upload\n */\n loadData(data, texture, callback) {\n const uint8array = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n const textureData = LoadIESData(uint8array);\n callback(textureData.width, textureData.height, false, false, () => {\n const engine = texture.getEngine();\n texture.type = Constants.TEXTURETYPE_FLOAT;\n texture.format = Constants.TEXTUREFORMAT_R;\n texture._gammaSpace = false;\n engine._uploadDataToTextureDirectly(texture, textureData.data);\n });\n }\n}\n//# sourceMappingURL=iesTextureLoader.js.map"],"names":[],"mappings":"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"}