@babylonjs/viewer 7.37.2-alpha → 7.37.2

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 (607) 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 +27 -18
  158. package/readme.md +21 -145
  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_image_based-D45X9BPl.esm.js +0 -171
  198. package/dist/chunks/EXT_lights_image_based-D45X9BPl.esm.js.map +0 -1
  199. package/dist/chunks/EXT_lights_image_based-DvoqYcdP.esm.min.js +0 -2
  200. package/dist/chunks/EXT_lights_image_based-DvoqYcdP.esm.min.js.map +0 -1
  201. package/dist/chunks/EXT_mesh_gpu_instancing-DUn1RAdN.esm.min.js +0 -2
  202. package/dist/chunks/EXT_mesh_gpu_instancing-DUn1RAdN.esm.min.js.map +0 -1
  203. package/dist/chunks/EXT_mesh_gpu_instancing-Dp_omjlL.esm.js +0 -86
  204. package/dist/chunks/EXT_mesh_gpu_instancing-Dp_omjlL.esm.js.map +0 -1
  205. package/dist/chunks/EXT_meshopt_compression-BQC_7caz.esm.min.js +0 -2
  206. package/dist/chunks/EXT_meshopt_compression-BQC_7caz.esm.min.js.map +0 -1
  207. package/dist/chunks/EXT_meshopt_compression-FzRlF20_.esm.js +0 -134
  208. package/dist/chunks/EXT_meshopt_compression-FzRlF20_.esm.js.map +0 -1
  209. package/dist/chunks/EXT_texture_avif-NFJz66Ay.esm.js +0 -44
  210. package/dist/chunks/EXT_texture_avif-NFJz66Ay.esm.js.map +0 -1
  211. package/dist/chunks/EXT_texture_avif-yLvrskbZ.esm.min.js +0 -2
  212. package/dist/chunks/EXT_texture_avif-yLvrskbZ.esm.min.js.map +0 -1
  213. package/dist/chunks/EXT_texture_webp-CR7Z5YIQ.esm.js +0 -43
  214. package/dist/chunks/EXT_texture_webp-CR7Z5YIQ.esm.js.map +0 -1
  215. package/dist/chunks/EXT_texture_webp-Cu47KLsz.esm.min.js +0 -2
  216. package/dist/chunks/EXT_texture_webp-Cu47KLsz.esm.min.js.map +0 -1
  217. package/dist/chunks/ExtrasAsMetadata-BwakFlBM.esm.js +0 -64
  218. package/dist/chunks/ExtrasAsMetadata-BwakFlBM.esm.js.map +0 -1
  219. package/dist/chunks/ExtrasAsMetadata-u1k4kprs.esm.min.js +0 -2
  220. package/dist/chunks/ExtrasAsMetadata-u1k4kprs.esm.min.js.map +0 -1
  221. package/dist/chunks/KHR_animation_pointer-DPbRpQcN.esm.min.js +0 -2
  222. package/dist/chunks/KHR_animation_pointer-DPbRpQcN.esm.min.js.map +0 -1
  223. package/dist/chunks/KHR_animation_pointer-wjOBsM1d.esm.js +0 -343
  224. package/dist/chunks/KHR_animation_pointer-wjOBsM1d.esm.js.map +0 -1
  225. package/dist/chunks/KHR_draco_mesh_compression-BkgYMOOx.esm.min.js +0 -2
  226. package/dist/chunks/KHR_draco_mesh_compression-BkgYMOOx.esm.min.js.map +0 -1
  227. package/dist/chunks/KHR_draco_mesh_compression-CvnZzfX3.esm.js +0 -617
  228. package/dist/chunks/KHR_draco_mesh_compression-CvnZzfX3.esm.js.map +0 -1
  229. package/dist/chunks/KHR_interactivity-Bp7_TJm9.esm.min.js +0 -2
  230. package/dist/chunks/KHR_interactivity-Bp7_TJm9.esm.min.js.map +0 -1
  231. package/dist/chunks/KHR_interactivity-C_Z4RJhE.esm.js +0 -4033
  232. package/dist/chunks/KHR_interactivity-C_Z4RJhE.esm.js.map +0 -1
  233. package/dist/chunks/KHR_lights_punctual-BbuFDbKG.esm.min.js +0 -2
  234. package/dist/chunks/KHR_lights_punctual-BbuFDbKG.esm.min.js.map +0 -1
  235. package/dist/chunks/KHR_lights_punctual-GHjZ7VCq.esm.js +0 -1253
  236. package/dist/chunks/KHR_lights_punctual-GHjZ7VCq.esm.js.map +0 -1
  237. package/dist/chunks/KHR_materials_anisotropy-DHgmJTOh.esm.js +0 -65
  238. package/dist/chunks/KHR_materials_anisotropy-DHgmJTOh.esm.js.map +0 -1
  239. package/dist/chunks/KHR_materials_anisotropy-Dc4Evl1P.esm.min.js +0 -2
  240. package/dist/chunks/KHR_materials_anisotropy-Dc4Evl1P.esm.min.js.map +0 -1
  241. package/dist/chunks/KHR_materials_clearcoat-BOp_vaqd.esm.js +0 -96
  242. package/dist/chunks/KHR_materials_clearcoat-BOp_vaqd.esm.js.map +0 -1
  243. package/dist/chunks/KHR_materials_clearcoat-D2jlT4tq.esm.min.js +0 -2
  244. package/dist/chunks/KHR_materials_clearcoat-D2jlT4tq.esm.min.js.map +0 -1
  245. package/dist/chunks/KHR_materials_diffuse_transmission-YlZ556xa.esm.js +0 -97
  246. package/dist/chunks/KHR_materials_diffuse_transmission-YlZ556xa.esm.js.map +0 -1
  247. package/dist/chunks/KHR_materials_diffuse_transmission-uETEXjDc.esm.min.js +0 -2
  248. package/dist/chunks/KHR_materials_diffuse_transmission-uETEXjDc.esm.min.js.map +0 -1
  249. package/dist/chunks/KHR_materials_dispersion-CbThEQRc.esm.min.js +0 -2
  250. package/dist/chunks/KHR_materials_dispersion-CbThEQRc.esm.min.js.map +0 -1
  251. package/dist/chunks/KHR_materials_dispersion-CeAPqVnK.esm.js +0 -62
  252. package/dist/chunks/KHR_materials_dispersion-CeAPqVnK.esm.js.map +0 -1
  253. package/dist/chunks/KHR_materials_emissive_strength-C-T3BnvJ.esm.js +0 -55
  254. package/dist/chunks/KHR_materials_emissive_strength-C-T3BnvJ.esm.js.map +0 -1
  255. package/dist/chunks/KHR_materials_emissive_strength-DpIZDJjV.esm.min.js +0 -2
  256. package/dist/chunks/KHR_materials_emissive_strength-DpIZDJjV.esm.min.js.map +0 -1
  257. package/dist/chunks/KHR_materials_ior-BPl8Q63c.esm.min.js +0 -2
  258. package/dist/chunks/KHR_materials_ior-BPl8Q63c.esm.min.js.map +0 -1
  259. package/dist/chunks/KHR_materials_ior-CMoT96u7.esm.js +0 -64
  260. package/dist/chunks/KHR_materials_ior-CMoT96u7.esm.js.map +0 -1
  261. package/dist/chunks/KHR_materials_iridescence-CbiG9QMp.esm.js +0 -72
  262. package/dist/chunks/KHR_materials_iridescence-CbiG9QMp.esm.js.map +0 -1
  263. package/dist/chunks/KHR_materials_iridescence-DazLBrvx.esm.min.js +0 -2
  264. package/dist/chunks/KHR_materials_iridescence-DazLBrvx.esm.min.js.map +0 -1
  265. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CJ_wCBPx.esm.min.js +0 -2
  266. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CJ_wCBPx.esm.min.js.map +0 -1
  267. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CYVtDKuH.esm.js +0 -81
  268. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CYVtDKuH.esm.js.map +0 -1
  269. package/dist/chunks/KHR_materials_sheen-DnGPeNaP.esm.min.js +0 -2
  270. package/dist/chunks/KHR_materials_sheen-DnGPeNaP.esm.min.js.map +0 -1
  271. package/dist/chunks/KHR_materials_sheen-DwVBW5RD.esm.js +0 -85
  272. package/dist/chunks/KHR_materials_sheen-DwVBW5RD.esm.js.map +0 -1
  273. package/dist/chunks/KHR_materials_specular-CAsu1BbY.esm.js +0 -75
  274. package/dist/chunks/KHR_materials_specular-CAsu1BbY.esm.js.map +0 -1
  275. package/dist/chunks/KHR_materials_specular-CChgOSyW.esm.min.js +0 -2
  276. package/dist/chunks/KHR_materials_specular-CChgOSyW.esm.min.js.map +0 -1
  277. package/dist/chunks/KHR_materials_transmission-BrFI5--W.esm.min.js +0 -2
  278. package/dist/chunks/KHR_materials_transmission-BrFI5--W.esm.min.js.map +0 -1
  279. package/dist/chunks/KHR_materials_transmission-CLJ21RLG.esm.js +0 -307
  280. package/dist/chunks/KHR_materials_transmission-CLJ21RLG.esm.js.map +0 -1
  281. package/dist/chunks/KHR_materials_unlit-ChwDkFrO.esm.min.js +0 -2
  282. package/dist/chunks/KHR_materials_unlit-ChwDkFrO.esm.min.js.map +0 -1
  283. package/dist/chunks/KHR_materials_unlit-D1jnRNyV.esm.js +0 -74
  284. package/dist/chunks/KHR_materials_unlit-D1jnRNyV.esm.js.map +0 -1
  285. package/dist/chunks/KHR_materials_variants-Ddre8Lod.esm.js +0 -262
  286. package/dist/chunks/KHR_materials_variants-Ddre8Lod.esm.js.map +0 -1
  287. package/dist/chunks/KHR_materials_variants-Dpc2HvWc.esm.min.js +0 -2
  288. package/dist/chunks/KHR_materials_variants-Dpc2HvWc.esm.min.js.map +0 -1
  289. package/dist/chunks/KHR_materials_volume-BDaeNwhf.esm.min.js +0 -2
  290. package/dist/chunks/KHR_materials_volume-BDaeNwhf.esm.min.js.map +0 -1
  291. package/dist/chunks/KHR_materials_volume-BZ-tXxF4.esm.js +0 -87
  292. package/dist/chunks/KHR_materials_volume-BZ-tXxF4.esm.js.map +0 -1
  293. package/dist/chunks/KHR_mesh_quantization-D4HKzP6W.esm.js +0 -26
  294. package/dist/chunks/KHR_mesh_quantization-D4HKzP6W.esm.js.map +0 -1
  295. package/dist/chunks/KHR_mesh_quantization-DWr7XBwO.esm.min.js +0 -2
  296. package/dist/chunks/KHR_mesh_quantization-DWr7XBwO.esm.min.js.map +0 -1
  297. package/dist/chunks/KHR_node_visibility-BM8WB-g8.esm.js +0 -46
  298. package/dist/chunks/KHR_node_visibility-BM8WB-g8.esm.js.map +0 -1
  299. package/dist/chunks/KHR_node_visibility-CMgS0dIb.esm.min.js +0 -2
  300. package/dist/chunks/KHR_node_visibility-CMgS0dIb.esm.min.js.map +0 -1
  301. package/dist/chunks/KHR_texture_basisu-CFiKlH_6.esm.min.js +0 -2
  302. package/dist/chunks/KHR_texture_basisu-CFiKlH_6.esm.min.js.map +0 -1
  303. package/dist/chunks/KHR_texture_basisu-wSj80uo8.esm.js +0 -43
  304. package/dist/chunks/KHR_texture_basisu-wSj80uo8.esm.js.map +0 -1
  305. package/dist/chunks/KHR_texture_transform-BHJQrws1.esm.min.js +0 -2
  306. package/dist/chunks/KHR_texture_transform-BHJQrws1.esm.min.js.map +0 -1
  307. package/dist/chunks/KHR_texture_transform-DfIfyEiA.esm.js +0 -63
  308. package/dist/chunks/KHR_texture_transform-DfIfyEiA.esm.js.map +0 -1
  309. package/dist/chunks/KHR_xmp_json_ld-DAafq-bI.esm.min.js +0 -2
  310. package/dist/chunks/KHR_xmp_json_ld-DAafq-bI.esm.min.js.map +0 -1
  311. package/dist/chunks/KHR_xmp_json_ld-RfffrpV5.esm.js +0 -51
  312. package/dist/chunks/KHR_xmp_json_ld-RfffrpV5.esm.js.map +0 -1
  313. package/dist/chunks/MSFT_audio_emitter-CKrMwXYI.esm.min.js +0 -2
  314. package/dist/chunks/MSFT_audio_emitter-CKrMwXYI.esm.min.js.map +0 -1
  315. package/dist/chunks/MSFT_audio_emitter-DDYuCTGi.esm.js +0 -2207
  316. package/dist/chunks/MSFT_audio_emitter-DDYuCTGi.esm.js.map +0 -1
  317. package/dist/chunks/MSFT_lod-Cfc1EV9L.esm.min.js +0 -2
  318. package/dist/chunks/MSFT_lod-Cfc1EV9L.esm.min.js.map +0 -1
  319. package/dist/chunks/MSFT_lod-RVQcBMWp.esm.js +0 -337
  320. package/dist/chunks/MSFT_lod-RVQcBMWp.esm.js.map +0 -1
  321. package/dist/chunks/MSFT_minecraftMesh-Dm5jAW21.esm.js +0 -46
  322. package/dist/chunks/MSFT_minecraftMesh-Dm5jAW21.esm.js.map +0 -1
  323. package/dist/chunks/MSFT_minecraftMesh-yuZO0qjN.esm.min.js +0 -2
  324. package/dist/chunks/MSFT_minecraftMesh-yuZO0qjN.esm.min.js.map +0 -1
  325. package/dist/chunks/MSFT_sRGBFactors-C7KWVh91.esm.min.js +0 -2
  326. package/dist/chunks/MSFT_sRGBFactors-C7KWVh91.esm.min.js.map +0 -1
  327. package/dist/chunks/MSFT_sRGBFactors-CNCFUZ1u.esm.js +0 -47
  328. package/dist/chunks/MSFT_sRGBFactors-CNCFUZ1u.esm.js.map +0 -1
  329. package/dist/chunks/animationGroup-BIh9TTLl.esm.min.js +0 -2
  330. package/dist/chunks/animationGroup-BIh9TTLl.esm.min.js.map +0 -1
  331. package/dist/chunks/animationGroup-QFeHaJ5n.esm.js +0 -2482
  332. package/dist/chunks/animationGroup-QFeHaJ5n.esm.js.map +0 -1
  333. package/dist/chunks/assetContainer-Cp4IJx4o.esm.min.js +0 -2
  334. package/dist/chunks/assetContainer-Cp4IJx4o.esm.min.js.map +0 -1
  335. package/dist/chunks/assetContainer-GrtWSUiK.esm.js +0 -1720
  336. package/dist/chunks/assetContainer-GrtWSUiK.esm.js.map +0 -1
  337. package/dist/chunks/audioEngine-QQVA159S.esm.min.js +0 -2
  338. package/dist/chunks/audioEngine-QQVA159S.esm.min.js.map +0 -1
  339. package/dist/chunks/audioEngine-oSZiqHGi.esm.js +0 -305
  340. package/dist/chunks/audioEngine-oSZiqHGi.esm.js.map +0 -1
  341. package/dist/chunks/bakedVertexAnimation-2pyORBI7.esm.min.js +0 -2
  342. package/dist/chunks/bakedVertexAnimation-2pyORBI7.esm.min.js.map +0 -1
  343. package/dist/chunks/bakedVertexAnimation-DOpeNPuF.esm.js +0 -114
  344. package/dist/chunks/bakedVertexAnimation-DOpeNPuF.esm.js.map +0 -1
  345. package/dist/chunks/basisTextureLoader-ComLMdtf.esm.js +0 -600
  346. package/dist/chunks/basisTextureLoader-ComLMdtf.esm.js.map +0 -1
  347. package/dist/chunks/basisTextureLoader-ryrt7c0b.esm.min.js +0 -2
  348. package/dist/chunks/basisTextureLoader-ryrt7c0b.esm.min.js.map +0 -1
  349. package/dist/chunks/dds-CCuknht7.esm.min.js +0 -2
  350. package/dist/chunks/dds-CCuknht7.esm.min.js.map +0 -1
  351. package/dist/chunks/dds-D2pCV6Dq.esm.js +0 -540
  352. package/dist/chunks/dds-D2pCV6Dq.esm.js.map +0 -1
  353. package/dist/chunks/ddsTextureLoader-HN5kNxqf.esm.js +0 -88
  354. package/dist/chunks/ddsTextureLoader-HN5kNxqf.esm.js.map +0 -1
  355. package/dist/chunks/ddsTextureLoader-cmTmJqr6.esm.min.js +0 -2
  356. package/dist/chunks/ddsTextureLoader-cmTmJqr6.esm.min.js.map +0 -1
  357. package/dist/chunks/decalFragment-CaoV_r5e.esm.min.js +0 -2
  358. package/dist/chunks/decalFragment-CaoV_r5e.esm.min.js.map +0 -1
  359. package/dist/chunks/decalFragment-CmM9_XL6.esm.js +0 -18
  360. package/dist/chunks/decalFragment-CmM9_XL6.esm.js.map +0 -1
  361. package/dist/chunks/default.fragment-CIxCcBci.esm.js +0 -497
  362. package/dist/chunks/default.fragment-CIxCcBci.esm.js.map +0 -1
  363. package/dist/chunks/default.fragment-CvpwsFNV.esm.min.js +0 -2
  364. package/dist/chunks/default.fragment-CvpwsFNV.esm.min.js.map +0 -1
  365. package/dist/chunks/default.fragment-DvQjHRFZ.esm.min.js +0 -2
  366. package/dist/chunks/default.fragment-DvQjHRFZ.esm.min.js.map +0 -1
  367. package/dist/chunks/default.fragment-FNsxMRYc.esm.js +0 -433
  368. package/dist/chunks/default.fragment-FNsxMRYc.esm.js.map +0 -1
  369. package/dist/chunks/default.vertex-D5X4nYce.esm.js +0 -181
  370. package/dist/chunks/default.vertex-D5X4nYce.esm.js.map +0 -1
  371. package/dist/chunks/default.vertex-DBu79v_q.esm.js +0 -201
  372. package/dist/chunks/default.vertex-DBu79v_q.esm.js.map +0 -1
  373. package/dist/chunks/default.vertex-Ds-nhawD.esm.min.js +0 -2
  374. package/dist/chunks/default.vertex-Ds-nhawD.esm.min.js.map +0 -1
  375. package/dist/chunks/default.vertex-ygxHkYqf.esm.min.js +0 -2
  376. package/dist/chunks/default.vertex-ygxHkYqf.esm.min.js.map +0 -1
  377. package/dist/chunks/defaultUboDeclaration-5ubIZhWI.esm.min.js +0 -2
  378. package/dist/chunks/defaultUboDeclaration-5ubIZhWI.esm.min.js.map +0 -1
  379. package/dist/chunks/defaultUboDeclaration-C_kmc54_.esm.min.js +0 -2
  380. package/dist/chunks/defaultUboDeclaration-C_kmc54_.esm.min.js.map +0 -1
  381. package/dist/chunks/defaultUboDeclaration-CudfJrM7.esm.js +0 -13
  382. package/dist/chunks/defaultUboDeclaration-CudfJrM7.esm.js.map +0 -1
  383. package/dist/chunks/defaultUboDeclaration-PoxtscR6.esm.js +0 -15
  384. package/dist/chunks/defaultUboDeclaration-PoxtscR6.esm.js.map +0 -1
  385. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +0 -11
  386. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +0 -1
  387. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +0 -2
  388. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +0 -1
  389. package/dist/chunks/dumpTools-BSmwAfi2.esm.js +0 -200
  390. package/dist/chunks/dumpTools-BSmwAfi2.esm.js.map +0 -1
  391. package/dist/chunks/dumpTools-CqXIdkU-.esm.min.js +0 -2
  392. package/dist/chunks/dumpTools-CqXIdkU-.esm.min.js.map +0 -1
  393. package/dist/chunks/engine-BUErRw8z.esm.js +0 -2216
  394. package/dist/chunks/engine-BUErRw8z.esm.js.map +0 -1
  395. package/dist/chunks/engine-DcXDbWe5.esm.min.js +0 -2
  396. package/dist/chunks/engine-DcXDbWe5.esm.min.js.map +0 -1
  397. package/dist/chunks/engine.common-BCrfrLRA.esm.js +0 -1162
  398. package/dist/chunks/engine.common-BCrfrLRA.esm.js.map +0 -1
  399. package/dist/chunks/engine.common-DbmFdD7r.esm.min.js +0 -2
  400. package/dist/chunks/engine.common-DbmFdD7r.esm.min.js.map +0 -1
  401. package/dist/chunks/envTextureLoader-DhLFo68T.esm.js +0 -64
  402. package/dist/chunks/envTextureLoader-DhLFo68T.esm.js.map +0 -1
  403. package/dist/chunks/envTextureLoader-xWQSOdW2.esm.min.js +0 -2
  404. package/dist/chunks/envTextureLoader-xWQSOdW2.esm.min.js.map +0 -1
  405. package/dist/chunks/environmentTextureTools-BPxq8YFx.esm.js +0 -382
  406. package/dist/chunks/environmentTextureTools-BPxq8YFx.esm.js.map +0 -1
  407. package/dist/chunks/environmentTextureTools-CRklR_jR.esm.min.js +0 -2
  408. package/dist/chunks/environmentTextureTools-CRklR_jR.esm.min.js.map +0 -1
  409. package/dist/chunks/exrTextureLoader-CyfB-RNW.esm.min.js +0 -2
  410. package/dist/chunks/exrTextureLoader-CyfB-RNW.esm.min.js.map +0 -1
  411. package/dist/chunks/exrTextureLoader-DZBdy7B_.esm.js +0 -1682
  412. package/dist/chunks/exrTextureLoader-DZBdy7B_.esm.js.map +0 -1
  413. package/dist/chunks/fogFragment-C49gmIGZ.esm.js +0 -101
  414. package/dist/chunks/fogFragment-C49gmIGZ.esm.js.map +0 -1
  415. package/dist/chunks/fogFragment-Csq7eneI.esm.min.js +0 -2
  416. package/dist/chunks/fogFragment-Csq7eneI.esm.min.js.map +0 -1
  417. package/dist/chunks/fogFragment-D-sKHdDf.esm.js +0 -102
  418. package/dist/chunks/fogFragment-D-sKHdDf.esm.js.map +0 -1
  419. package/dist/chunks/fogFragment-alFkMSt9.esm.min.js +0 -2
  420. package/dist/chunks/fogFragment-alFkMSt9.esm.min.js.map +0 -1
  421. package/dist/chunks/fresnelFunction-DU40wmqQ.esm.min.js +0 -2
  422. package/dist/chunks/fresnelFunction-DU40wmqQ.esm.min.js.map +0 -1
  423. package/dist/chunks/fresnelFunction-FeK3vqPy.esm.js +0 -12
  424. package/dist/chunks/fresnelFunction-FeK3vqPy.esm.js.map +0 -1
  425. package/dist/chunks/glTFLoader-BWXrbzqs.esm.js +0 -7586
  426. package/dist/chunks/glTFLoader-BWXrbzqs.esm.js.map +0 -1
  427. package/dist/chunks/glTFLoader-D5p5qYp8.esm.min.js +0 -2
  428. package/dist/chunks/glTFLoader-D5p5qYp8.esm.min.js.map +0 -1
  429. package/dist/chunks/glTFLoaderAnimation-BrCiuknj.esm.js +0 -77
  430. package/dist/chunks/glTFLoaderAnimation-BrCiuknj.esm.js.map +0 -1
  431. package/dist/chunks/glTFLoaderAnimation-DNByJ6HG.esm.min.js +0 -2
  432. package/dist/chunks/glTFLoaderAnimation-DNByJ6HG.esm.min.js.map +0 -1
  433. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
  434. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
  435. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
  436. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
  437. package/dist/chunks/harmonicsFunctions-B_19mESZ.esm.js +0 -34
  438. package/dist/chunks/harmonicsFunctions-B_19mESZ.esm.js.map +0 -1
  439. package/dist/chunks/harmonicsFunctions-C6ei29IM.esm.min.js +0 -2
  440. package/dist/chunks/harmonicsFunctions-C6ei29IM.esm.min.js.map +0 -1
  441. package/dist/chunks/harmonicsFunctions-D8MhBUfH.esm.min.js +0 -2
  442. package/dist/chunks/harmonicsFunctions-D8MhBUfH.esm.min.js.map +0 -1
  443. package/dist/chunks/harmonicsFunctions-NlQ7ssUT.esm.js +0 -35
  444. package/dist/chunks/harmonicsFunctions-NlQ7ssUT.esm.js.map +0 -1
  445. package/dist/chunks/hdrTextureLoader-CJeDP7zV.esm.min.js +0 -2
  446. package/dist/chunks/hdrTextureLoader-CJeDP7zV.esm.min.js.map +0 -1
  447. package/dist/chunks/hdrTextureLoader-DknF3R6J.esm.js +0 -252
  448. package/dist/chunks/hdrTextureLoader-DknF3R6J.esm.js.map +0 -1
  449. package/dist/chunks/helperFunctions-BLuUx2nq.esm.js +0 -80
  450. package/dist/chunks/helperFunctions-BLuUx2nq.esm.js.map +0 -1
  451. package/dist/chunks/helperFunctions-BqcsL6kO.esm.min.js +0 -2
  452. package/dist/chunks/helperFunctions-BqcsL6kO.esm.min.js.map +0 -1
  453. package/dist/chunks/helperFunctions-BskUYxag.esm.min.js +0 -2
  454. package/dist/chunks/helperFunctions-BskUYxag.esm.min.js.map +0 -1
  455. package/dist/chunks/helperFunctions-C7bDmqf5.esm.js +0 -108
  456. package/dist/chunks/helperFunctions-C7bDmqf5.esm.js.map +0 -1
  457. package/dist/chunks/iesTextureLoader-BGpmR-Zu.esm.js +0 -189
  458. package/dist/chunks/iesTextureLoader-BGpmR-Zu.esm.js.map +0 -1
  459. package/dist/chunks/iesTextureLoader-CMHpguQr.esm.min.js +0 -2
  460. package/dist/chunks/iesTextureLoader-CMHpguQr.esm.min.js.map +0 -1
  461. package/dist/chunks/index-BeKEIRka.esm.js +0 -74617
  462. package/dist/chunks/index-BeKEIRka.esm.js.map +0 -1
  463. package/dist/chunks/index-DprAUBKz.esm.min.js +0 -57
  464. package/dist/chunks/index-DprAUBKz.esm.min.js.map +0 -1
  465. package/dist/chunks/ktxTextureLoader-C19SUsox.esm.js +0 -814
  466. package/dist/chunks/ktxTextureLoader-C19SUsox.esm.js.map +0 -1
  467. package/dist/chunks/ktxTextureLoader-C6_J2kq9.esm.min.js +0 -2
  468. package/dist/chunks/ktxTextureLoader-C6_J2kq9.esm.min.js.map +0 -1
  469. package/dist/chunks/logDepthDeclaration-BpynUx1A.esm.js +0 -35
  470. package/dist/chunks/logDepthDeclaration-BpynUx1A.esm.js.map +0 -1
  471. package/dist/chunks/logDepthDeclaration-CGzm1tYf.esm.min.js +0 -2
  472. package/dist/chunks/logDepthDeclaration-CGzm1tYf.esm.min.js.map +0 -1
  473. package/dist/chunks/logDepthDeclaration-CyTQagov.esm.js +0 -11
  474. package/dist/chunks/logDepthDeclaration-CyTQagov.esm.js.map +0 -1
  475. package/dist/chunks/logDepthDeclaration-Dut4SmA8.esm.min.js +0 -2
  476. package/dist/chunks/logDepthDeclaration-Dut4SmA8.esm.min.js.map +0 -1
  477. package/dist/chunks/logDepthVertex-Bc0blXM8.esm.min.js +0 -2
  478. package/dist/chunks/logDepthVertex-Bc0blXM8.esm.min.js.map +0 -1
  479. package/dist/chunks/logDepthVertex-C-kcsA2L.esm.js +0 -77
  480. package/dist/chunks/logDepthVertex-C-kcsA2L.esm.js.map +0 -1
  481. package/dist/chunks/logDepthVertex-COozVPxI.esm.js +0 -77
  482. package/dist/chunks/logDepthVertex-COozVPxI.esm.js.map +0 -1
  483. package/dist/chunks/logDepthVertex-CfOVhbNj.esm.min.js +0 -2
  484. package/dist/chunks/logDepthVertex-CfOVhbNj.esm.min.js.map +0 -1
  485. package/dist/chunks/mainUVVaryingDeclaration-BKPNmc9Q.esm.js +0 -11
  486. package/dist/chunks/mainUVVaryingDeclaration-BKPNmc9Q.esm.js.map +0 -1
  487. package/dist/chunks/mainUVVaryingDeclaration-Cu9Tv4Kw.esm.min.js +0 -2
  488. package/dist/chunks/mainUVVaryingDeclaration-Cu9Tv4Kw.esm.min.js.map +0 -1
  489. package/dist/chunks/mainUVVaryingDeclaration-DYf1yJUX.esm.js +0 -11
  490. package/dist/chunks/mainUVVaryingDeclaration-DYf1yJUX.esm.js.map +0 -1
  491. package/dist/chunks/mainUVVaryingDeclaration-DpLnjXfZ.esm.min.js +0 -2
  492. package/dist/chunks/mainUVVaryingDeclaration-DpLnjXfZ.esm.min.js.map +0 -1
  493. package/dist/chunks/meshUboDeclaration-BJYErIa3.esm.min.js +0 -2
  494. package/dist/chunks/meshUboDeclaration-BJYErIa3.esm.min.js.map +0 -1
  495. package/dist/chunks/meshUboDeclaration-BiUwws9z.esm.js +0 -24
  496. package/dist/chunks/meshUboDeclaration-BiUwws9z.esm.js.map +0 -1
  497. package/dist/chunks/objFileLoader-BE_E9yJf.esm.js +0 -1338
  498. package/dist/chunks/objFileLoader-BE_E9yJf.esm.js.map +0 -1
  499. package/dist/chunks/objFileLoader-MOi7ZG3R.esm.min.js +0 -2
  500. package/dist/chunks/objFileLoader-MOi7ZG3R.esm.min.js.map +0 -1
  501. package/dist/chunks/oitFragment-CAIIewpS.esm.js +0 -1210
  502. package/dist/chunks/oitFragment-CAIIewpS.esm.js.map +0 -1
  503. package/dist/chunks/oitFragment-DDp3gQTd.esm.min.js +0 -2
  504. package/dist/chunks/oitFragment-DDp3gQTd.esm.min.js.map +0 -1
  505. package/dist/chunks/oitFragment-SgLz27Xb.esm.js +0 -1051
  506. package/dist/chunks/oitFragment-SgLz27Xb.esm.js.map +0 -1
  507. package/dist/chunks/oitFragment-oiPVwqmm.esm.min.js +0 -2
  508. package/dist/chunks/oitFragment-oiPVwqmm.esm.min.js.map +0 -1
  509. package/dist/chunks/pass.fragment-Au3QTn6B.esm.js +0 -15
  510. package/dist/chunks/pass.fragment-Au3QTn6B.esm.js.map +0 -1
  511. package/dist/chunks/pass.fragment-CWxLTOY2.esm.js +0 -15
  512. package/dist/chunks/pass.fragment-CWxLTOY2.esm.js.map +0 -1
  513. package/dist/chunks/pass.fragment-Dv_aTu4L.esm.min.js +0 -2
  514. package/dist/chunks/pass.fragment-Dv_aTu4L.esm.min.js.map +0 -1
  515. package/dist/chunks/pass.fragment-Ke_m_FfE.esm.min.js +0 -2
  516. package/dist/chunks/pass.fragment-Ke_m_FfE.esm.min.js.map +0 -1
  517. package/dist/chunks/pbr.fragment-BBn9zhoH.esm.min.js +0 -2
  518. package/dist/chunks/pbr.fragment-BBn9zhoH.esm.min.js.map +0 -1
  519. package/dist/chunks/pbr.fragment-C109MBuS.esm.js +0 -3230
  520. package/dist/chunks/pbr.fragment-C109MBuS.esm.js.map +0 -1
  521. package/dist/chunks/pbr.fragment-CTmhpwgS.esm.min.js +0 -2
  522. package/dist/chunks/pbr.fragment-CTmhpwgS.esm.min.js.map +0 -1
  523. package/dist/chunks/pbr.fragment-PiPyhFG1.esm.js +0 -3270
  524. package/dist/chunks/pbr.fragment-PiPyhFG1.esm.js.map +0 -1
  525. package/dist/chunks/pbr.vertex-3Vrjv1Zy.esm.min.js +0 -2
  526. package/dist/chunks/pbr.vertex-3Vrjv1Zy.esm.min.js.map +0 -1
  527. package/dist/chunks/pbr.vertex-BiMD8ykF.esm.js +0 -338
  528. package/dist/chunks/pbr.vertex-BiMD8ykF.esm.js.map +0 -1
  529. package/dist/chunks/pbr.vertex-C2mqbEjQ.esm.js +0 -214
  530. package/dist/chunks/pbr.vertex-C2mqbEjQ.esm.js.map +0 -1
  531. package/dist/chunks/pbr.vertex-CfuqNHe_.esm.min.js +0 -2
  532. package/dist/chunks/pbr.vertex-CfuqNHe_.esm.min.js.map +0 -1
  533. package/dist/chunks/postprocess.vertex-BtpQ106t.esm.js +0 -20
  534. package/dist/chunks/postprocess.vertex-BtpQ106t.esm.js.map +0 -1
  535. package/dist/chunks/postprocess.vertex-y8C6e1Vg.esm.min.js +0 -2
  536. package/dist/chunks/postprocess.vertex-y8C6e1Vg.esm.min.js.map +0 -1
  537. package/dist/chunks/rawTexture-DWVljNAA.esm.js +0 -191
  538. package/dist/chunks/rawTexture-DWVljNAA.esm.js.map +0 -1
  539. package/dist/chunks/rawTexture-hwvFuG11.esm.min.js +0 -2
  540. package/dist/chunks/rawTexture-hwvFuG11.esm.min.js.map +0 -1
  541. package/dist/chunks/ray-CK8RMihf.esm.js +0 -946
  542. package/dist/chunks/ray-CK8RMihf.esm.js.map +0 -1
  543. package/dist/chunks/ray-DsHByFt_.esm.min.js +0 -2
  544. package/dist/chunks/ray-DsHByFt_.esm.min.js.map +0 -1
  545. package/dist/chunks/rgbdDecode.fragment-BJZU7xWj.esm.js +0 -17
  546. package/dist/chunks/rgbdDecode.fragment-BJZU7xWj.esm.js.map +0 -1
  547. package/dist/chunks/rgbdDecode.fragment-Bihg7c2V.esm.min.js +0 -2
  548. package/dist/chunks/rgbdDecode.fragment-Bihg7c2V.esm.min.js.map +0 -1
  549. package/dist/chunks/rgbdDecode.fragment-DL0b7M1l.esm.min.js +0 -2
  550. package/dist/chunks/rgbdDecode.fragment-DL0b7M1l.esm.min.js.map +0 -1
  551. package/dist/chunks/rgbdDecode.fragment-Dy9zwXIU.esm.js +0 -17
  552. package/dist/chunks/rgbdDecode.fragment-Dy9zwXIU.esm.js.map +0 -1
  553. package/dist/chunks/rgbdEncode.fragment-7kMkvRwb.esm.js +0 -17
  554. package/dist/chunks/rgbdEncode.fragment-7kMkvRwb.esm.js.map +0 -1
  555. package/dist/chunks/rgbdEncode.fragment-DBRJSber.esm.min.js +0 -2
  556. package/dist/chunks/rgbdEncode.fragment-DBRJSber.esm.min.js.map +0 -1
  557. package/dist/chunks/rgbdEncode.fragment-EHDS-v9B.esm.js +0 -17
  558. package/dist/chunks/rgbdEncode.fragment-EHDS-v9B.esm.js.map +0 -1
  559. package/dist/chunks/rgbdEncode.fragment-GVps7HU4.esm.min.js +0 -2
  560. package/dist/chunks/rgbdEncode.fragment-GVps7HU4.esm.min.js.map +0 -1
  561. package/dist/chunks/splatFileLoader-DRz20nEn.esm.js +0 -3371
  562. package/dist/chunks/splatFileLoader-DRz20nEn.esm.js.map +0 -1
  563. package/dist/chunks/splatFileLoader-Z6j5oKHW.esm.min.js +0 -2
  564. package/dist/chunks/splatFileLoader-Z6j5oKHW.esm.min.js.map +0 -1
  565. package/dist/chunks/standardMaterial-B3ecSQEW.esm.min.js +0 -2
  566. package/dist/chunks/standardMaterial-B3ecSQEW.esm.min.js.map +0 -1
  567. package/dist/chunks/standardMaterial-Be8wL70k.esm.js +0 -1805
  568. package/dist/chunks/standardMaterial-Be8wL70k.esm.js.map +0 -1
  569. package/dist/chunks/stlFileLoader-C6LdEQ75.esm.js +0 -238
  570. package/dist/chunks/stlFileLoader-C6LdEQ75.esm.js.map +0 -1
  571. package/dist/chunks/stlFileLoader-JCne-dxw.esm.min.js +0 -2
  572. package/dist/chunks/stlFileLoader-JCne-dxw.esm.min.js.map +0 -1
  573. package/dist/chunks/tgaTextureLoader-BZMSekx5.esm.js +0 -349
  574. package/dist/chunks/tgaTextureLoader-BZMSekx5.esm.js.map +0 -1
  575. package/dist/chunks/tgaTextureLoader-DOEvqOPE.esm.min.js +0 -2
  576. package/dist/chunks/tgaTextureLoader-DOEvqOPE.esm.min.js.map +0 -1
  577. package/dist/chunks/thinEngine-BTbbTZix.esm.js +0 -3842
  578. package/dist/chunks/thinEngine-BTbbTZix.esm.js.map +0 -1
  579. package/dist/chunks/thinEngine-v-NSiDW-.esm.min.js +0 -2
  580. package/dist/chunks/thinEngine-v-NSiDW-.esm.min.js.map +0 -1
  581. package/dist/chunks/thinInstanceMesh-B8SVyfho.esm.js +0 -314
  582. package/dist/chunks/thinInstanceMesh-B8SVyfho.esm.js.map +0 -1
  583. package/dist/chunks/thinInstanceMesh-BxfZu7jF.esm.min.js +0 -2
  584. package/dist/chunks/thinInstanceMesh-BxfZu7jF.esm.min.js.map +0 -1
  585. package/dist/chunks/vertexColorMixing-BBpDYi6i.esm.js +0 -412
  586. package/dist/chunks/vertexColorMixing-BBpDYi6i.esm.js.map +0 -1
  587. package/dist/chunks/vertexColorMixing-DKlgUR7M.esm.js +0 -522
  588. package/dist/chunks/vertexColorMixing-DKlgUR7M.esm.js.map +0 -1
  589. package/dist/chunks/vertexColorMixing-Dk4L1tJ7.esm.min.js +0 -2
  590. package/dist/chunks/vertexColorMixing-Dk4L1tJ7.esm.min.js.map +0 -1
  591. package/dist/chunks/vertexColorMixing-f0SaBMnM.esm.min.js +0 -2
  592. package/dist/chunks/vertexColorMixing-f0SaBMnM.esm.min.js.map +0 -1
  593. package/dist/chunks/webgpuEngine-DGT-ms2c.esm.min.js +0 -2
  594. package/dist/chunks/webgpuEngine-DGT-ms2c.esm.min.js.map +0 -1
  595. package/dist/chunks/webgpuEngine-DvWEXB_l.esm.js +0 -11533
  596. package/dist/chunks/webgpuEngine-DvWEXB_l.esm.js.map +0 -1
  597. package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
  598. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
  599. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
  600. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
  601. package/docs/ViewerDefault.jpg +0 -0
  602. package/docs/ViewerParts.jpg +0 -0
  603. package/docs/ViewerSlots.jpg +0 -0
  604. package/docs/ViewerStyled.jpg +0 -0
  605. package/lib/index.d.ts +0 -568
  606. package/lib/index.js +0 -2067
  607. package/lib/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"KHR_lights_punctual-GHjZ7VCq.esm.js","sources":["../../../../../dev/core/dist/Lights/shadowLight.js","../../../../../dev/core/dist/Lights/directionalLight.js","../../../../../dev/core/dist/Lights/pointLight.js","../../../../../dev/core/dist/Lights/spotLight.js","../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_lights_punctual.js"],"sourcesContent":["import { __decorate } from \"tslib\";\nimport { serialize, serializeAsVector3 } from \"../Misc/decorators\";\nimport { Matrix, TmpVectors, Vector3 } from \"../Maths/math.vector\";\nimport { Light } from \"./light\";\nimport { Axis } from \"../Maths/math.axis\";\n/**\n * Base implementation IShadowLight\n * It groups all the common behaviour in order to reduce duplication and better follow the DRY pattern.\n */\nexport class ShadowLight extends Light {\n constructor() {\n super(...arguments);\n this._needProjectionMatrixCompute = true;\n this._viewMatrix = Matrix.Identity();\n this._projectionMatrix = Matrix.Identity();\n }\n _setPosition(value) {\n this._position = value;\n }\n /**\n * Sets the position the shadow will be casted from. Also use as the light position for both\n * point and spot lights.\n */\n get position() {\n return this._position;\n }\n /**\n * Sets the position the shadow will be casted from. Also use as the light position for both\n * point and spot lights.\n */\n set position(value) {\n this._setPosition(value);\n }\n _setDirection(value) {\n this._direction = value;\n }\n /**\n * In 2d mode (needCube being false), gets the direction used to cast the shadow.\n * Also use as the light direction on spot and directional lights.\n */\n get direction() {\n return this._direction;\n }\n /**\n * In 2d mode (needCube being false), sets the direction used to cast the shadow.\n * Also use as the light direction on spot and directional lights.\n */\n set direction(value) {\n this._setDirection(value);\n }\n /**\n * Gets the shadow projection clipping minimum z value.\n */\n get shadowMinZ() {\n return this._shadowMinZ;\n }\n /**\n * Sets the shadow projection clipping minimum z value.\n */\n set shadowMinZ(value) {\n this._shadowMinZ = value;\n this.forceProjectionMatrixCompute();\n }\n /**\n * Sets the shadow projection clipping maximum z value.\n */\n get shadowMaxZ() {\n return this._shadowMaxZ;\n }\n /**\n * Gets the shadow projection clipping maximum z value.\n */\n set shadowMaxZ(value) {\n this._shadowMaxZ = value;\n this.forceProjectionMatrixCompute();\n }\n /**\n * Computes the transformed information (transformedPosition and transformedDirection in World space) of the current light\n * @returns true if the information has been computed, false if it does not need to (no parenting)\n */\n computeTransformedInformation() {\n if (this.parent && this.parent.getWorldMatrix) {\n if (!this.transformedPosition) {\n this.transformedPosition = Vector3.Zero();\n }\n Vector3.TransformCoordinatesToRef(this.position, this.parent.getWorldMatrix(), this.transformedPosition);\n // In case the direction is present.\n if (this.direction) {\n if (!this.transformedDirection) {\n this.transformedDirection = Vector3.Zero();\n }\n Vector3.TransformNormalToRef(this.direction, this.parent.getWorldMatrix(), this.transformedDirection);\n }\n return true;\n }\n return false;\n }\n /**\n * Return the depth scale used for the shadow map.\n * @returns the depth scale.\n */\n getDepthScale() {\n return 50.0;\n }\n /**\n * Get the direction to use to render the shadow map. In case of cube texture, the face index can be passed.\n * @param faceIndex The index of the face we are computed the direction to generate shadow\n * @returns The set direction in 2d mode otherwise the direction to the cubemap face if needCube() is true\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getShadowDirection(faceIndex) {\n return this.transformedDirection ? this.transformedDirection : this.direction;\n }\n /**\n * If computeTransformedInformation has been called, returns the ShadowLight absolute position in the world. Otherwise, returns the local position.\n * @returns the position vector in world space\n */\n getAbsolutePosition() {\n return this.transformedPosition ? this.transformedPosition : this.position;\n }\n /**\n * Sets the ShadowLight direction toward the passed target.\n * @param target The point to target in local space\n * @returns the updated ShadowLight direction\n */\n setDirectionToTarget(target) {\n this.direction = Vector3.Normalize(target.subtract(this.position));\n return this.direction;\n }\n /**\n * Returns the light rotation in euler definition.\n * @returns the x y z rotation in local space.\n */\n getRotation() {\n this.direction.normalize();\n const xaxis = Vector3.Cross(this.direction, Axis.Y);\n const yaxis = Vector3.Cross(xaxis, this.direction);\n return Vector3.RotationFromAxis(xaxis, yaxis, this.direction);\n }\n /**\n * Returns whether or not the shadow generation require a cube texture or a 2d texture.\n * @returns true if a cube texture needs to be use\n */\n needCube() {\n return false;\n }\n /**\n * Detects if the projection matrix requires to be recomputed this frame.\n * @returns true if it requires to be recomputed otherwise, false.\n */\n needProjectionMatrixCompute() {\n return this._needProjectionMatrixCompute;\n }\n /**\n * Forces the shadow generator to recompute the projection matrix even if position and direction did not changed.\n */\n forceProjectionMatrixCompute() {\n this._needProjectionMatrixCompute = true;\n }\n /** @internal */\n _initCache() {\n super._initCache();\n this._cache.position = Vector3.Zero();\n }\n /** @internal */\n _isSynchronized() {\n if (!this._cache.position.equals(this.position)) {\n return false;\n }\n return true;\n }\n /**\n * Computes the world matrix of the node\n * @param force defines if the cache version should be invalidated forcing the world matrix to be created from scratch\n * @returns the world matrix\n */\n computeWorldMatrix(force) {\n if (!force && this.isSynchronized()) {\n this._currentRenderId = this.getScene().getRenderId();\n return this._worldMatrix;\n }\n this._updateCache();\n this._cache.position.copyFrom(this.position);\n if (!this._worldMatrix) {\n this._worldMatrix = Matrix.Identity();\n }\n Matrix.TranslationToRef(this.position.x, this.position.y, this.position.z, this._worldMatrix);\n if (this.parent && this.parent.getWorldMatrix) {\n this._worldMatrix.multiplyToRef(this.parent.getWorldMatrix(), this._worldMatrix);\n this._markSyncedWithParent();\n }\n // Cache the determinant\n this._worldMatrixDeterminantIsDirty = true;\n return this._worldMatrix;\n }\n /**\n * Gets the minZ used for shadow according to both the scene and the light.\n * @param activeCamera The camera we are returning the min for\n * @returns the depth min z\n */\n getDepthMinZ(activeCamera) {\n return this.shadowMinZ !== undefined ? this.shadowMinZ : activeCamera.minZ;\n }\n /**\n * Gets the maxZ used for shadow according to both the scene and the light.\n * @param activeCamera The camera we are returning the max for\n * @returns the depth max z\n */\n getDepthMaxZ(activeCamera) {\n return this.shadowMaxZ !== undefined ? this.shadowMaxZ : activeCamera.maxZ;\n }\n /**\n * Sets the shadow projection matrix in parameter to the generated projection matrix.\n * @param matrix The matrix to updated with the projection information\n * @param viewMatrix The transform matrix of the light\n * @param renderList The list of mesh to render in the map\n * @returns The current light\n */\n setShadowProjectionMatrix(matrix, viewMatrix, renderList) {\n if (this.customProjectionMatrixBuilder) {\n this.customProjectionMatrixBuilder(viewMatrix, renderList, matrix);\n }\n else {\n this._setDefaultShadowProjectionMatrix(matrix, viewMatrix, renderList);\n }\n return this;\n }\n /** @internal */\n _syncParentEnabledState() {\n super._syncParentEnabledState();\n if (!this.parent || !this.parent.getWorldMatrix) {\n this.transformedPosition = null;\n this.transformedDirection = null;\n }\n }\n /**\n * Returns the view matrix.\n * @param faceIndex The index of the face for which we want to extract the view matrix. Only used for point light types.\n * @returns The view matrix. Can be null, if a view matrix cannot be defined for the type of light considered (as for a hemispherical light, for example).\n */\n getViewMatrix(faceIndex) {\n const lightDirection = TmpVectors.Vector3[0];\n let lightPosition = this.position;\n if (this.computeTransformedInformation()) {\n lightPosition = this.transformedPosition;\n }\n Vector3.NormalizeToRef(this.getShadowDirection(faceIndex), lightDirection);\n if (Math.abs(Vector3.Dot(lightDirection, Vector3.Up())) === 1.0) {\n lightDirection.z = 0.0000000000001; // Required to avoid perfectly perpendicular light\n }\n const lightTarget = TmpVectors.Vector3[1];\n lightPosition.addToRef(lightDirection, lightTarget);\n Matrix.LookAtLHToRef(lightPosition, lightTarget, Vector3.Up(), this._viewMatrix);\n return this._viewMatrix;\n }\n /**\n * Returns the projection matrix.\n * Note that viewMatrix and renderList are optional and are only used by lights that calculate the projection matrix from a list of meshes (e.g. directional lights with automatic extents calculation).\n * @param viewMatrix The view transform matrix of the light (optional).\n * @param renderList The list of meshes to take into account when calculating the projection matrix (optional).\n * @returns The projection matrix. Can be null, if a projection matrix cannot be defined for the type of light considered (as for a hemispherical light, for example).\n */\n getProjectionMatrix(viewMatrix, renderList) {\n this.setShadowProjectionMatrix(this._projectionMatrix, viewMatrix ?? this._viewMatrix, renderList ?? []);\n return this._projectionMatrix;\n }\n}\n__decorate([\n serializeAsVector3()\n], ShadowLight.prototype, \"position\", null);\n__decorate([\n serializeAsVector3()\n], ShadowLight.prototype, \"direction\", null);\n__decorate([\n serialize()\n], ShadowLight.prototype, \"shadowMinZ\", null);\n__decorate([\n serialize()\n], ShadowLight.prototype, \"shadowMaxZ\", null);\n//# sourceMappingURL=shadowLight.js.map","import { __decorate } from \"tslib\";\nimport { serialize } from \"../Misc/decorators\";\nimport { Matrix, Vector3 } from \"../Maths/math.vector\";\nimport { Node } from \"../node\";\nimport { Light } from \"./light\";\nimport { ShadowLight } from \"./shadowLight\";\nimport { RegisterClass } from \"../Misc/typeStore\";\nNode.AddNodeConstructor(\"Light_Type_1\", (name, scene) => {\n return () => new DirectionalLight(name, Vector3.Zero(), scene);\n});\n/**\n * A directional light is defined by a direction (what a surprise!).\n * The light is emitted from everywhere in the specified direction, and has an infinite range.\n * An example of a directional light is when a distance planet is lit by the apparently parallel lines of light from its sun. Light in a downward direction will light the top of an object.\n * Documentation: https://doc.babylonjs.com/features/featuresDeepDive/lights/lights_introduction\n */\nexport class DirectionalLight extends ShadowLight {\n /**\n * Fix frustum size for the shadow generation. This is disabled if the value is 0.\n */\n get shadowFrustumSize() {\n return this._shadowFrustumSize;\n }\n /**\n * Specifies a fix frustum size for the shadow generation.\n */\n set shadowFrustumSize(value) {\n this._shadowFrustumSize = value;\n this.forceProjectionMatrixCompute();\n }\n /**\n * Gets the shadow projection scale against the optimal computed one.\n * 0.1 by default which means that the projection window is increase by 10% from the optimal size.\n * This does not impact in fixed frustum size (shadowFrustumSize being set)\n */\n get shadowOrthoScale() {\n return this._shadowOrthoScale;\n }\n /**\n * Sets the shadow projection scale against the optimal computed one.\n * 0.1 by default which means that the projection window is increase by 10% from the optimal size.\n * This does not impact in fixed frustum size (shadowFrustumSize being set)\n */\n set shadowOrthoScale(value) {\n this._shadowOrthoScale = value;\n this.forceProjectionMatrixCompute();\n }\n /**\n * Gets or sets the orthoLeft property used to build the light frustum\n */\n get orthoLeft() {\n return this._orthoLeft;\n }\n set orthoLeft(left) {\n this._orthoLeft = left;\n }\n /**\n * Gets or sets the orthoRight property used to build the light frustum\n */\n get orthoRight() {\n return this._orthoRight;\n }\n set orthoRight(right) {\n this._orthoRight = right;\n }\n /**\n * Gets or sets the orthoTop property used to build the light frustum\n */\n get orthoTop() {\n return this._orthoTop;\n }\n set orthoTop(top) {\n this._orthoTop = top;\n }\n /**\n * Gets or sets the orthoBottom property used to build the light frustum\n */\n get orthoBottom() {\n return this._orthoBottom;\n }\n set orthoBottom(bottom) {\n this._orthoBottom = bottom;\n }\n /**\n * Creates a DirectionalLight object in the scene, oriented towards the passed direction (Vector3).\n * The directional light is emitted from everywhere in the given direction.\n * It can cast shadows.\n * Documentation : https://doc.babylonjs.com/features/featuresDeepDive/lights/lights_introduction\n * @param name The friendly name of the light\n * @param direction The direction of the light\n * @param scene The scene the light belongs to\n */\n constructor(name, direction, scene) {\n super(name, scene);\n this._shadowFrustumSize = 0;\n this._shadowOrthoScale = 0.1;\n /**\n * Automatically compute the projection matrix to best fit (including all the casters)\n * on each frame.\n */\n this.autoUpdateExtends = true;\n /**\n * Automatically compute the shadowMinZ and shadowMaxZ for the projection matrix to best fit (including all the casters)\n * on each frame. autoUpdateExtends must be set to true for this to work\n */\n this.autoCalcShadowZBounds = false;\n // Cache\n this._orthoLeft = Number.MAX_VALUE;\n this._orthoRight = Number.MIN_VALUE;\n this._orthoTop = Number.MIN_VALUE;\n this._orthoBottom = Number.MAX_VALUE;\n this.position = direction.scale(-1.0);\n this.direction = direction;\n }\n /**\n * Returns the string \"DirectionalLight\".\n * @returns The class name\n */\n getClassName() {\n return \"DirectionalLight\";\n }\n /**\n * Returns the integer 1.\n * @returns The light Type id as a constant defines in Light.LIGHTTYPEID_x\n */\n getTypeID() {\n return Light.LIGHTTYPEID_DIRECTIONALLIGHT;\n }\n /**\n * Sets the passed matrix \"matrix\" as projection matrix for the shadows cast by the light according to the passed view matrix.\n * Returns the DirectionalLight Shadow projection matrix.\n * @param matrix\n * @param viewMatrix\n * @param renderList\n */\n _setDefaultShadowProjectionMatrix(matrix, viewMatrix, renderList) {\n if (this.shadowFrustumSize > 0) {\n this._setDefaultFixedFrustumShadowProjectionMatrix(matrix);\n }\n else {\n this._setDefaultAutoExtendShadowProjectionMatrix(matrix, viewMatrix, renderList);\n }\n }\n /**\n * Sets the passed matrix \"matrix\" as fixed frustum projection matrix for the shadows cast by the light according to the passed view matrix.\n * Returns the DirectionalLight Shadow projection matrix.\n * @param matrix\n */\n _setDefaultFixedFrustumShadowProjectionMatrix(matrix) {\n const activeCamera = this.getScene().activeCamera;\n if (!activeCamera) {\n return;\n }\n Matrix.OrthoLHToRef(this.shadowFrustumSize, this.shadowFrustumSize, this.shadowMinZ !== undefined ? this.shadowMinZ : activeCamera.minZ, this.shadowMaxZ !== undefined ? this.shadowMaxZ : activeCamera.maxZ, matrix, this.getScene().getEngine().isNDCHalfZRange);\n }\n /**\n * Sets the passed matrix \"matrix\" as auto extend projection matrix for the shadows cast by the light according to the passed view matrix.\n * Returns the DirectionalLight Shadow projection matrix.\n * @param matrix\n * @param viewMatrix\n * @param renderList\n */\n _setDefaultAutoExtendShadowProjectionMatrix(matrix, viewMatrix, renderList) {\n const activeCamera = this.getScene().activeCamera;\n if (!activeCamera) {\n return;\n }\n // Check extends\n if (this.autoUpdateExtends || this._orthoLeft === Number.MAX_VALUE) {\n const tempVector3 = Vector3.Zero();\n this._orthoLeft = Number.MAX_VALUE;\n this._orthoRight = -Number.MAX_VALUE;\n this._orthoTop = -Number.MAX_VALUE;\n this._orthoBottom = Number.MAX_VALUE;\n let shadowMinZ = Number.MAX_VALUE;\n let shadowMaxZ = -Number.MAX_VALUE;\n for (let meshIndex = 0; meshIndex < renderList.length; meshIndex++) {\n const mesh = renderList[meshIndex];\n if (!mesh) {\n continue;\n }\n const boundingInfo = mesh.getBoundingInfo();\n const boundingBox = boundingInfo.boundingBox;\n for (let index = 0; index < boundingBox.vectorsWorld.length; index++) {\n Vector3.TransformCoordinatesToRef(boundingBox.vectorsWorld[index], viewMatrix, tempVector3);\n if (tempVector3.x < this._orthoLeft) {\n this._orthoLeft = tempVector3.x;\n }\n if (tempVector3.y < this._orthoBottom) {\n this._orthoBottom = tempVector3.y;\n }\n if (tempVector3.x > this._orthoRight) {\n this._orthoRight = tempVector3.x;\n }\n if (tempVector3.y > this._orthoTop) {\n this._orthoTop = tempVector3.y;\n }\n if (this.autoCalcShadowZBounds) {\n if (tempVector3.z < shadowMinZ) {\n shadowMinZ = tempVector3.z;\n }\n if (tempVector3.z > shadowMaxZ) {\n shadowMaxZ = tempVector3.z;\n }\n }\n }\n }\n if (this.autoCalcShadowZBounds) {\n this._shadowMinZ = shadowMinZ;\n this._shadowMaxZ = shadowMaxZ;\n }\n }\n const xOffset = this._orthoRight - this._orthoLeft;\n const yOffset = this._orthoTop - this._orthoBottom;\n const minZ = this.shadowMinZ !== undefined ? this.shadowMinZ : activeCamera.minZ;\n const maxZ = this.shadowMaxZ !== undefined ? this.shadowMaxZ : activeCamera.maxZ;\n const useReverseDepthBuffer = this.getScene().getEngine().useReverseDepthBuffer;\n Matrix.OrthoOffCenterLHToRef(this._orthoLeft - xOffset * this.shadowOrthoScale, this._orthoRight + xOffset * this.shadowOrthoScale, this._orthoBottom - yOffset * this.shadowOrthoScale, this._orthoTop + yOffset * this.shadowOrthoScale, useReverseDepthBuffer ? maxZ : minZ, useReverseDepthBuffer ? minZ : maxZ, matrix, this.getScene().getEngine().isNDCHalfZRange);\n }\n _buildUniformLayout() {\n this._uniformBuffer.addUniform(\"vLightData\", 4);\n this._uniformBuffer.addUniform(\"vLightDiffuse\", 4);\n this._uniformBuffer.addUniform(\"vLightSpecular\", 4);\n this._uniformBuffer.addUniform(\"shadowsInfo\", 3);\n this._uniformBuffer.addUniform(\"depthValues\", 2);\n this._uniformBuffer.create();\n }\n /**\n * Sets the passed Effect object with the DirectionalLight transformed position (or position if not parented) and the passed name.\n * @param effect The effect to update\n * @param lightIndex The index of the light in the effect to update\n * @returns The directional light\n */\n transferToEffect(effect, lightIndex) {\n if (this.computeTransformedInformation()) {\n this._uniformBuffer.updateFloat4(\"vLightData\", this.transformedDirection.x, this.transformedDirection.y, this.transformedDirection.z, 1, lightIndex);\n return this;\n }\n this._uniformBuffer.updateFloat4(\"vLightData\", this.direction.x, this.direction.y, this.direction.z, 1, lightIndex);\n return this;\n }\n transferToNodeMaterialEffect(effect, lightDataUniformName) {\n if (this.computeTransformedInformation()) {\n effect.setFloat3(lightDataUniformName, this.transformedDirection.x, this.transformedDirection.y, this.transformedDirection.z);\n return this;\n }\n effect.setFloat3(lightDataUniformName, this.direction.x, this.direction.y, this.direction.z);\n return this;\n }\n /**\n * Gets the minZ used for shadow according to both the scene and the light.\n *\n * Values are fixed on directional lights as it relies on an ortho projection hence the need to convert being\n * -1 and 1 to 0 and 1 doing (depth + min) / (min + max) -> (depth + 1) / (1 + 1) -> (depth * 0.5) + 0.5.\n * (when not using reverse depth buffer / NDC half Z range)\n * @param activeCamera The camera we are returning the min for\n * @returns the depth min z\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getDepthMinZ(activeCamera) {\n const engine = this._scene.getEngine();\n return !engine.useReverseDepthBuffer && engine.isNDCHalfZRange ? 0 : 1;\n }\n /**\n * Gets the maxZ used for shadow according to both the scene and the light.\n *\n * Values are fixed on directional lights as it relies on an ortho projection hence the need to convert being\n * -1 and 1 to 0 and 1 doing (depth + min) / (min + max) -> (depth + 1) / (1 + 1) -> (depth * 0.5) + 0.5.\n * (when not using reverse depth buffer / NDC half Z range)\n * @param activeCamera The camera we are returning the max for\n * @returns the depth max z\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getDepthMaxZ(activeCamera) {\n const engine = this._scene.getEngine();\n return engine.useReverseDepthBuffer && engine.isNDCHalfZRange ? 0 : 1;\n }\n /**\n * Prepares the list of defines specific to the light type.\n * @param defines the list of defines\n * @param lightIndex defines the index of the light for the effect\n */\n prepareLightSpecificDefines(defines, lightIndex) {\n defines[\"DIRLIGHT\" + lightIndex] = true;\n }\n}\n__decorate([\n serialize()\n], DirectionalLight.prototype, \"shadowFrustumSize\", null);\n__decorate([\n serialize()\n], DirectionalLight.prototype, \"shadowOrthoScale\", null);\n__decorate([\n serialize()\n], DirectionalLight.prototype, \"autoUpdateExtends\", void 0);\n__decorate([\n serialize()\n], DirectionalLight.prototype, \"autoCalcShadowZBounds\", void 0);\n__decorate([\n serialize(\"orthoLeft\")\n], DirectionalLight.prototype, \"_orthoLeft\", void 0);\n__decorate([\n serialize(\"orthoRight\")\n], DirectionalLight.prototype, \"_orthoRight\", void 0);\n__decorate([\n serialize(\"orthoTop\")\n], DirectionalLight.prototype, \"_orthoTop\", void 0);\n__decorate([\n serialize(\"orthoBottom\")\n], DirectionalLight.prototype, \"_orthoBottom\", void 0);\n// Register Class Name\nRegisterClass(\"BABYLON.DirectionalLight\", DirectionalLight);\n//# sourceMappingURL=directionalLight.js.map","import { __decorate } from \"tslib\";\nimport { serialize } from \"../Misc/decorators\";\nimport { Matrix, Vector3 } from \"../Maths/math.vector\";\nimport { Node } from \"../node\";\nimport { Light } from \"./light\";\nimport { ShadowLight } from \"./shadowLight\";\nimport { RegisterClass } from \"../Misc/typeStore\";\nNode.AddNodeConstructor(\"Light_Type_0\", (name, scene) => {\n return () => new PointLight(name, Vector3.Zero(), scene);\n});\n/**\n * A point light is a light defined by an unique point in world space.\n * The light is emitted in every direction from this point.\n * A good example of a point light is a standard light bulb.\n * Documentation: https://doc.babylonjs.com/features/featuresDeepDive/lights/lights_introduction\n */\nexport class PointLight extends ShadowLight {\n /**\n * Getter: In case of direction provided, the shadow will not use a cube texture but simulate a spot shadow as a fallback\n * This specifies what angle the shadow will use to be created.\n *\n * It default to 90 degrees to work nicely with the cube texture generation for point lights shadow maps.\n */\n get shadowAngle() {\n return this._shadowAngle;\n }\n /**\n * Setter: In case of direction provided, the shadow will not use a cube texture but simulate a spot shadow as a fallback\n * This specifies what angle the shadow will use to be created.\n *\n * It default to 90 degrees to work nicely with the cube texture generation for point lights shadow maps.\n */\n set shadowAngle(value) {\n this._shadowAngle = value;\n this.forceProjectionMatrixCompute();\n }\n /**\n * Gets the direction if it has been set.\n * In case of direction provided, the shadow will not use a cube texture but simulate a spot shadow as a fallback\n */\n get direction() {\n return this._direction;\n }\n /**\n * In case of direction provided, the shadow will not use a cube texture but simulate a spot shadow as a fallback\n */\n set direction(value) {\n const previousNeedCube = this.needCube();\n this._direction = value;\n if (this.needCube() !== previousNeedCube && this._shadowGenerators) {\n const iterator = this._shadowGenerators.values();\n for (let key = iterator.next(); key.done !== true; key = iterator.next()) {\n const shadowGenerator = key.value;\n shadowGenerator.recreateShadowMap();\n }\n }\n }\n /**\n * Creates a PointLight object from the passed name and position (Vector3) and adds it in the scene.\n * A PointLight emits the light in every direction.\n * It can cast shadows.\n * If the scene camera is already defined and you want to set your PointLight at the camera position, just set it :\n * ```javascript\n * var pointLight = new PointLight(\"pl\", camera.position, scene);\n * ```\n * Documentation : https://doc.babylonjs.com/features/featuresDeepDive/lights/lights_introduction\n * @param name The light friendly name\n * @param position The position of the point light in the scene\n * @param scene The scene the lights belongs to\n */\n constructor(name, position, scene) {\n super(name, scene);\n this._shadowAngle = Math.PI / 2;\n this.position = position;\n }\n /**\n * Returns the string \"PointLight\"\n * @returns the class name\n */\n getClassName() {\n return \"PointLight\";\n }\n /**\n * Returns the integer 0.\n * @returns The light Type id as a constant defines in Light.LIGHTTYPEID_x\n */\n getTypeID() {\n return Light.LIGHTTYPEID_POINTLIGHT;\n }\n /**\n * Specifies whether or not the shadowmap should be a cube texture.\n * @returns true if the shadowmap needs to be a cube texture.\n */\n needCube() {\n return !this.direction;\n }\n /**\n * Returns a new Vector3 aligned with the PointLight cube system according to the passed cube face index (integer).\n * @param faceIndex The index of the face we are computed the direction to generate shadow\n * @returns The set direction in 2d mode otherwise the direction to the cubemap face if needCube() is true\n */\n getShadowDirection(faceIndex) {\n if (this.direction) {\n return super.getShadowDirection(faceIndex);\n }\n else {\n switch (faceIndex) {\n case 0:\n return new Vector3(1.0, 0.0, 0.0);\n case 1:\n return new Vector3(-1.0, 0.0, 0.0);\n case 2:\n return new Vector3(0.0, -1.0, 0.0);\n case 3:\n return new Vector3(0.0, 1.0, 0.0);\n case 4:\n return new Vector3(0.0, 0.0, 1.0);\n case 5:\n return new Vector3(0.0, 0.0, -1.0);\n }\n }\n return Vector3.Zero();\n }\n /**\n * Sets the passed matrix \"matrix\" as a left-handed perspective projection matrix with the following settings :\n * - fov = PI / 2\n * - aspect ratio : 1.0\n * - z-near and far equal to the active camera minZ and maxZ.\n * Returns the PointLight.\n * @param matrix\n * @param viewMatrix\n * @param renderList\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _setDefaultShadowProjectionMatrix(matrix, viewMatrix, renderList) {\n const activeCamera = this.getScene().activeCamera;\n if (!activeCamera) {\n return;\n }\n const minZ = this.shadowMinZ !== undefined ? this.shadowMinZ : activeCamera.minZ;\n const maxZ = this.shadowMaxZ !== undefined ? this.shadowMaxZ : activeCamera.maxZ;\n const useReverseDepthBuffer = this.getScene().getEngine().useReverseDepthBuffer;\n Matrix.PerspectiveFovLHToRef(this.shadowAngle, 1.0, useReverseDepthBuffer ? maxZ : minZ, useReverseDepthBuffer ? minZ : maxZ, matrix, true, this._scene.getEngine().isNDCHalfZRange, undefined, useReverseDepthBuffer);\n }\n _buildUniformLayout() {\n this._uniformBuffer.addUniform(\"vLightData\", 4);\n this._uniformBuffer.addUniform(\"vLightDiffuse\", 4);\n this._uniformBuffer.addUniform(\"vLightSpecular\", 4);\n this._uniformBuffer.addUniform(\"vLightFalloff\", 4);\n this._uniformBuffer.addUniform(\"shadowsInfo\", 3);\n this._uniformBuffer.addUniform(\"depthValues\", 2);\n this._uniformBuffer.create();\n }\n /**\n * Sets the passed Effect \"effect\" with the PointLight transformed position (or position, if none) and passed name (string).\n * @param effect The effect to update\n * @param lightIndex The index of the light in the effect to update\n * @returns The point light\n */\n transferToEffect(effect, lightIndex) {\n if (this.computeTransformedInformation()) {\n this._uniformBuffer.updateFloat4(\"vLightData\", this.transformedPosition.x, this.transformedPosition.y, this.transformedPosition.z, 0.0, lightIndex);\n }\n else {\n this._uniformBuffer.updateFloat4(\"vLightData\", this.position.x, this.position.y, this.position.z, 0, lightIndex);\n }\n this._uniformBuffer.updateFloat4(\"vLightFalloff\", this.range, this._inverseSquaredRange, 0, 0, lightIndex);\n return this;\n }\n transferToNodeMaterialEffect(effect, lightDataUniformName) {\n if (this.computeTransformedInformation()) {\n effect.setFloat3(lightDataUniformName, this.transformedPosition.x, this.transformedPosition.y, this.transformedPosition.z);\n }\n else {\n effect.setFloat3(lightDataUniformName, this.position.x, this.position.y, this.position.z);\n }\n return this;\n }\n /**\n * Prepares the list of defines specific to the light type.\n * @param defines the list of defines\n * @param lightIndex defines the index of the light for the effect\n */\n prepareLightSpecificDefines(defines, lightIndex) {\n defines[\"POINTLIGHT\" + lightIndex] = true;\n }\n}\n__decorate([\n serialize()\n], PointLight.prototype, \"shadowAngle\", null);\n// Register Class Name\nRegisterClass(\"BABYLON.PointLight\", PointLight);\n//# sourceMappingURL=pointLight.js.map","import { __decorate } from \"tslib\";\nimport { serialize, serializeAsTexture } from \"../Misc/decorators\";\nimport { Matrix, Vector3 } from \"../Maths/math.vector\";\nimport { Node } from \"../node\";\nimport { Light } from \"./light\";\nimport { ShadowLight } from \"./shadowLight\";\nimport { Texture } from \"../Materials/Textures/texture\";\nimport { RegisterClass } from \"../Misc/typeStore\";\nNode.AddNodeConstructor(\"Light_Type_2\", (name, scene) => {\n return () => new SpotLight(name, Vector3.Zero(), Vector3.Zero(), 0, 0, scene);\n});\n/**\n * A spot light is defined by a position, a direction, an angle, and an exponent.\n * These values define a cone of light starting from the position, emitting toward the direction.\n * The angle, in radians, defines the size (field of illumination) of the spotlight's conical beam,\n * and the exponent defines the speed of the decay of the light with distance (reach).\n * Documentation: https://doc.babylonjs.com/features/featuresDeepDive/lights/lights_introduction\n */\nexport class SpotLight extends ShadowLight {\n /**\n * Gets the cone angle of the spot light in Radians.\n */\n get angle() {\n return this._angle;\n }\n /**\n * Sets the cone angle of the spot light in Radians.\n */\n set angle(value) {\n this._angle = value;\n this._cosHalfAngle = Math.cos(value * 0.5);\n this._projectionTextureProjectionLightDirty = true;\n this.forceProjectionMatrixCompute();\n this._computeAngleValues();\n }\n /**\n * Only used in gltf falloff mode, this defines the angle where\n * the directional falloff will start before cutting at angle which could be seen\n * as outer angle.\n */\n get innerAngle() {\n return this._innerAngle;\n }\n /**\n * Only used in gltf falloff mode, this defines the angle where\n * the directional falloff will start before cutting at angle which could be seen\n * as outer angle.\n */\n set innerAngle(value) {\n this._innerAngle = value;\n this._computeAngleValues();\n }\n /**\n * Allows scaling the angle of the light for shadow generation only.\n */\n get shadowAngleScale() {\n return this._shadowAngleScale;\n }\n /**\n * Allows scaling the angle of the light for shadow generation only.\n */\n set shadowAngleScale(value) {\n this._shadowAngleScale = value;\n this.forceProjectionMatrixCompute();\n }\n /**\n * Allows reading the projection texture\n */\n get projectionTextureMatrix() {\n return this._projectionTextureMatrix;\n }\n /**\n * Gets the near clip of the Spotlight for texture projection.\n */\n get projectionTextureLightNear() {\n return this._projectionTextureLightNear;\n }\n /**\n * Sets the near clip of the Spotlight for texture projection.\n */\n set projectionTextureLightNear(value) {\n this._projectionTextureLightNear = value;\n this._projectionTextureProjectionLightDirty = true;\n }\n /**\n * Gets the far clip of the Spotlight for texture projection.\n */\n get projectionTextureLightFar() {\n return this._projectionTextureLightFar;\n }\n /**\n * Sets the far clip of the Spotlight for texture projection.\n */\n set projectionTextureLightFar(value) {\n this._projectionTextureLightFar = value;\n this._projectionTextureProjectionLightDirty = true;\n }\n /**\n * Gets the Up vector of the Spotlight for texture projection.\n */\n get projectionTextureUpDirection() {\n return this._projectionTextureUpDirection;\n }\n /**\n * Sets the Up vector of the Spotlight for texture projection.\n */\n set projectionTextureUpDirection(value) {\n this._projectionTextureUpDirection = value;\n this._projectionTextureProjectionLightDirty = true;\n }\n /**\n * Gets the projection texture of the light.\n */\n get projectionTexture() {\n return this._projectionTexture;\n }\n /**\n * Sets the projection texture of the light.\n */\n set projectionTexture(value) {\n if (this._projectionTexture === value) {\n return;\n }\n this._projectionTexture = value;\n this._projectionTextureDirty = true;\n if (this._projectionTexture && !this._projectionTexture.isReady()) {\n if (SpotLight._IsProceduralTexture(this._projectionTexture)) {\n this._projectionTexture.getEffect().executeWhenCompiled(() => {\n this._markMeshesAsLightDirty();\n });\n }\n else if (SpotLight._IsTexture(this._projectionTexture)) {\n this._projectionTexture.onLoadObservable.addOnce(() => {\n this._markMeshesAsLightDirty();\n });\n }\n }\n }\n static _IsProceduralTexture(texture) {\n return texture.onGeneratedObservable !== undefined;\n }\n static _IsTexture(texture) {\n return texture.onLoadObservable !== undefined;\n }\n /**\n * Gets or sets the light projection matrix as used by the projection texture\n */\n get projectionTextureProjectionLightMatrix() {\n return this._projectionTextureProjectionLightMatrix;\n }\n set projectionTextureProjectionLightMatrix(projection) {\n this._projectionTextureProjectionLightMatrix = projection;\n this._projectionTextureProjectionLightDirty = false;\n this._projectionTextureDirty = true;\n }\n /**\n * Creates a SpotLight object in the scene. A spot light is a simply light oriented cone.\n * It can cast shadows.\n * Documentation : https://doc.babylonjs.com/features/featuresDeepDive/lights/lights_introduction\n * @param name The light friendly name\n * @param position The position of the spot light in the scene\n * @param direction The direction of the light in the scene\n * @param angle The cone angle of the light in Radians\n * @param exponent The light decay speed with the distance from the emission spot\n * @param scene The scene the lights belongs to\n */\n constructor(name, position, direction, angle, exponent, scene) {\n super(name, scene);\n this._innerAngle = 0;\n this._projectionTextureMatrix = Matrix.Zero();\n this._projectionTextureLightNear = 1e-6;\n this._projectionTextureLightFar = 1000.0;\n this._projectionTextureUpDirection = Vector3.Up();\n this._projectionTextureViewLightDirty = true;\n this._projectionTextureProjectionLightDirty = true;\n this._projectionTextureDirty = true;\n this._projectionTextureViewTargetVector = Vector3.Zero();\n this._projectionTextureViewLightMatrix = Matrix.Zero();\n this._projectionTextureProjectionLightMatrix = Matrix.Zero();\n this._projectionTextureScalingMatrix = Matrix.FromValues(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);\n this.position = position;\n this.direction = direction;\n this.angle = angle;\n this.exponent = exponent;\n }\n /**\n * Returns the string \"SpotLight\".\n * @returns the class name\n */\n getClassName() {\n return \"SpotLight\";\n }\n /**\n * Returns the integer 2.\n * @returns The light Type id as a constant defines in Light.LIGHTTYPEID_x\n */\n getTypeID() {\n return Light.LIGHTTYPEID_SPOTLIGHT;\n }\n /**\n * Overrides the direction setter to recompute the projection texture view light Matrix.\n * @param value\n */\n _setDirection(value) {\n super._setDirection(value);\n this._projectionTextureViewLightDirty = true;\n }\n /**\n * Overrides the position setter to recompute the projection texture view light Matrix.\n * @param value\n */\n _setPosition(value) {\n super._setPosition(value);\n this._projectionTextureViewLightDirty = true;\n }\n /**\n * Sets the passed matrix \"matrix\" as perspective projection matrix for the shadows and the passed view matrix with the fov equal to the SpotLight angle and and aspect ratio of 1.0.\n * Returns the SpotLight.\n * @param matrix\n * @param viewMatrix\n * @param renderList\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _setDefaultShadowProjectionMatrix(matrix, viewMatrix, renderList) {\n const activeCamera = this.getScene().activeCamera;\n if (!activeCamera) {\n return;\n }\n this._shadowAngleScale = this._shadowAngleScale || 1;\n const angle = this._shadowAngleScale * this._angle;\n const minZ = this.shadowMinZ !== undefined ? this.shadowMinZ : activeCamera.minZ;\n const maxZ = this.shadowMaxZ !== undefined ? this.shadowMaxZ : activeCamera.maxZ;\n const useReverseDepthBuffer = this.getScene().getEngine().useReverseDepthBuffer;\n Matrix.PerspectiveFovLHToRef(angle, 1.0, useReverseDepthBuffer ? maxZ : minZ, useReverseDepthBuffer ? minZ : maxZ, matrix, true, this._scene.getEngine().isNDCHalfZRange, undefined, useReverseDepthBuffer);\n }\n _computeProjectionTextureViewLightMatrix() {\n this._projectionTextureViewLightDirty = false;\n this._projectionTextureDirty = true;\n this.getAbsolutePosition().addToRef(this.getShadowDirection(), this._projectionTextureViewTargetVector);\n Matrix.LookAtLHToRef(this.getAbsolutePosition(), this._projectionTextureViewTargetVector, this._projectionTextureUpDirection, this._projectionTextureViewLightMatrix);\n }\n _computeProjectionTextureProjectionLightMatrix() {\n this._projectionTextureProjectionLightDirty = false;\n this._projectionTextureDirty = true;\n const lightFar = this.projectionTextureLightFar;\n const lightNear = this.projectionTextureLightNear;\n const P = lightFar / (lightFar - lightNear);\n const Q = -P * lightNear;\n const S = 1.0 / Math.tan(this._angle / 2.0);\n const A = 1.0;\n Matrix.FromValuesToRef(S / A, 0.0, 0.0, 0.0, 0.0, S, 0.0, 0.0, 0.0, 0.0, P, 1.0, 0.0, 0.0, Q, 0.0, this._projectionTextureProjectionLightMatrix);\n }\n /**\n * Main function for light texture projection matrix computing.\n */\n _computeProjectionTextureMatrix() {\n this._projectionTextureDirty = false;\n this._projectionTextureViewLightMatrix.multiplyToRef(this._projectionTextureProjectionLightMatrix, this._projectionTextureMatrix);\n if (this._projectionTexture instanceof Texture) {\n const u = this._projectionTexture.uScale / 2.0;\n const v = this._projectionTexture.vScale / 2.0;\n Matrix.FromValuesToRef(u, 0.0, 0.0, 0.0, 0.0, v, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0, this._projectionTextureScalingMatrix);\n }\n this._projectionTextureMatrix.multiplyToRef(this._projectionTextureScalingMatrix, this._projectionTextureMatrix);\n }\n _buildUniformLayout() {\n this._uniformBuffer.addUniform(\"vLightData\", 4);\n this._uniformBuffer.addUniform(\"vLightDiffuse\", 4);\n this._uniformBuffer.addUniform(\"vLightSpecular\", 4);\n this._uniformBuffer.addUniform(\"vLightDirection\", 3);\n this._uniformBuffer.addUniform(\"vLightFalloff\", 4);\n this._uniformBuffer.addUniform(\"shadowsInfo\", 3);\n this._uniformBuffer.addUniform(\"depthValues\", 2);\n this._uniformBuffer.create();\n }\n _computeAngleValues() {\n this._lightAngleScale = 1.0 / Math.max(0.001, Math.cos(this._innerAngle * 0.5) - this._cosHalfAngle);\n this._lightAngleOffset = -this._cosHalfAngle * this._lightAngleScale;\n }\n /**\n * Sets the passed Effect \"effect\" with the Light textures.\n * @param effect The effect to update\n * @param lightIndex The index of the light in the effect to update\n * @returns The light\n */\n transferTexturesToEffect(effect, lightIndex) {\n if (this.projectionTexture && this.projectionTexture.isReady()) {\n if (this._projectionTextureViewLightDirty) {\n this._computeProjectionTextureViewLightMatrix();\n }\n if (this._projectionTextureProjectionLightDirty) {\n this._computeProjectionTextureProjectionLightMatrix();\n }\n if (this._projectionTextureDirty) {\n this._computeProjectionTextureMatrix();\n }\n effect.setMatrix(\"textureProjectionMatrix\" + lightIndex, this._projectionTextureMatrix);\n effect.setTexture(\"projectionLightTexture\" + lightIndex, this.projectionTexture);\n }\n return this;\n }\n /**\n * Sets the passed Effect object with the SpotLight transformed position (or position if not parented) and normalized direction.\n * @param effect The effect to update\n * @param lightIndex The index of the light in the effect to update\n * @returns The spot light\n */\n transferToEffect(effect, lightIndex) {\n let normalizeDirection;\n if (this.computeTransformedInformation()) {\n this._uniformBuffer.updateFloat4(\"vLightData\", this.transformedPosition.x, this.transformedPosition.y, this.transformedPosition.z, this.exponent, lightIndex);\n normalizeDirection = Vector3.Normalize(this.transformedDirection);\n }\n else {\n this._uniformBuffer.updateFloat4(\"vLightData\", this.position.x, this.position.y, this.position.z, this.exponent, lightIndex);\n normalizeDirection = Vector3.Normalize(this.direction);\n }\n this._uniformBuffer.updateFloat4(\"vLightDirection\", normalizeDirection.x, normalizeDirection.y, normalizeDirection.z, this._cosHalfAngle, lightIndex);\n this._uniformBuffer.updateFloat4(\"vLightFalloff\", this.range, this._inverseSquaredRange, this._lightAngleScale, this._lightAngleOffset, lightIndex);\n return this;\n }\n transferToNodeMaterialEffect(effect, lightDataUniformName) {\n let normalizeDirection;\n if (this.computeTransformedInformation()) {\n normalizeDirection = Vector3.Normalize(this.transformedDirection);\n }\n else {\n normalizeDirection = Vector3.Normalize(this.direction);\n }\n if (this.getScene().useRightHandedSystem) {\n effect.setFloat3(lightDataUniformName, -normalizeDirection.x, -normalizeDirection.y, -normalizeDirection.z);\n }\n else {\n effect.setFloat3(lightDataUniformName, normalizeDirection.x, normalizeDirection.y, normalizeDirection.z);\n }\n return this;\n }\n /**\n * Disposes the light and the associated resources.\n */\n dispose() {\n super.dispose();\n if (this._projectionTexture) {\n this._projectionTexture.dispose();\n }\n }\n /**\n * Gets the minZ used for shadow according to both the scene and the light.\n * @param activeCamera The camera we are returning the min for\n * @returns the depth min z\n */\n getDepthMinZ(activeCamera) {\n const engine = this._scene.getEngine();\n const minZ = this.shadowMinZ !== undefined ? this.shadowMinZ : activeCamera.minZ;\n return engine.useReverseDepthBuffer && engine.isNDCHalfZRange ? minZ : this._scene.getEngine().isNDCHalfZRange ? 0 : minZ;\n }\n /**\n * Gets the maxZ used for shadow according to both the scene and the light.\n * @param activeCamera The camera we are returning the max for\n * @returns the depth max z\n */\n getDepthMaxZ(activeCamera) {\n const engine = this._scene.getEngine();\n const maxZ = this.shadowMaxZ !== undefined ? this.shadowMaxZ : activeCamera.maxZ;\n return engine.useReverseDepthBuffer && engine.isNDCHalfZRange ? 0 : maxZ;\n }\n /**\n * Prepares the list of defines specific to the light type.\n * @param defines the list of defines\n * @param lightIndex defines the index of the light for the effect\n */\n prepareLightSpecificDefines(defines, lightIndex) {\n defines[\"SPOTLIGHT\" + lightIndex] = true;\n defines[\"PROJECTEDLIGHTTEXTURE\" + lightIndex] = this.projectionTexture && this.projectionTexture.isReady() ? true : false;\n }\n}\n__decorate([\n serialize()\n], SpotLight.prototype, \"angle\", null);\n__decorate([\n serialize()\n], SpotLight.prototype, \"innerAngle\", null);\n__decorate([\n serialize()\n], SpotLight.prototype, \"shadowAngleScale\", null);\n__decorate([\n serialize()\n], SpotLight.prototype, \"exponent\", void 0);\n__decorate([\n serialize()\n], SpotLight.prototype, \"projectionTextureLightNear\", null);\n__decorate([\n serialize()\n], SpotLight.prototype, \"projectionTextureLightFar\", null);\n__decorate([\n serialize()\n], SpotLight.prototype, \"projectionTextureUpDirection\", null);\n__decorate([\n serializeAsTexture(\"projectedLightTexture\")\n], SpotLight.prototype, \"_projectionTexture\", void 0);\n// Register Class Name\nRegisterClass(\"BABYLON.SpotLight\", SpotLight);\n//# sourceMappingURL=spotLight.js.map","import { Vector3 } from \"core/Maths/math.vector\";\nimport { Color3 } from \"core/Maths/math.color\";\nimport { DirectionalLight } from \"core/Lights/directionalLight\";\nimport { PointLight } from \"core/Lights/pointLight\";\nimport { SpotLight } from \"core/Lights/spotLight\";\nimport { Light } from \"core/Lights/light\";\nimport { GLTFLoader, ArrayItem } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_lights_punctual\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_lights_punctual/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_lights {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n delete this._lights;\n }\n /** @internal */\n onLoading() {\n const extensions = this._loader.gltf.extensions;\n if (extensions && extensions[this.name]) {\n const extension = extensions[this.name];\n this._lights = extension.lights;\n ArrayItem.Assign(this._lights);\n }\n }\n /**\n * @internal\n */\n loadNodeAsync(context, node, assign) {\n return GLTFLoader.LoadExtensionAsync(context, node, this.name, (extensionContext, extension) => {\n this._loader._allMaterialsDirtyRequired = true;\n return this._loader.loadNodeAsync(context, node, (babylonMesh) => {\n let babylonLight;\n const light = ArrayItem.Get(extensionContext, this._lights, extension.light);\n const name = light.name || babylonMesh.name;\n this._loader.babylonScene._blockEntityCollection = !!this._loader._assetContainer;\n switch (light.type) {\n case \"directional\" /* KHRLightsPunctual_LightType.DIRECTIONAL */: {\n const babylonDirectionalLight = new DirectionalLight(name, Vector3.Backward(), this._loader.babylonScene);\n babylonDirectionalLight.position.setAll(0);\n babylonLight = babylonDirectionalLight;\n break;\n }\n case \"point\" /* KHRLightsPunctual_LightType.POINT */: {\n babylonLight = new PointLight(name, Vector3.Zero(), this._loader.babylonScene);\n break;\n }\n case \"spot\" /* KHRLightsPunctual_LightType.SPOT */: {\n const babylonSpotLight = new SpotLight(name, Vector3.Zero(), Vector3.Backward(), 0, 1, this._loader.babylonScene);\n babylonSpotLight.angle = ((light.spot && light.spot.outerConeAngle) || Math.PI / 4) * 2;\n babylonSpotLight.innerAngle = ((light.spot && light.spot.innerConeAngle) || 0) * 2;\n babylonLight = babylonSpotLight;\n break;\n }\n default: {\n this._loader.babylonScene._blockEntityCollection = false;\n throw new Error(`${extensionContext}: Invalid light type (${light.type})`);\n }\n }\n babylonLight._parentContainer = this._loader._assetContainer;\n this._loader.babylonScene._blockEntityCollection = false;\n light._babylonLight = babylonLight;\n babylonLight.falloffType = Light.FALLOFF_GLTF;\n babylonLight.diffuse = light.color ? Color3.FromArray(light.color) : Color3.White();\n babylonLight.intensity = light.intensity == undefined ? 1 : light.intensity;\n babylonLight.range = light.range == undefined ? Number.MAX_VALUE : light.range;\n babylonLight.parent = babylonMesh;\n this._loader._babylonLights.push(babylonLight);\n GLTFLoader.AddPointerMetadata(babylonLight, extensionContext);\n assign(babylonMesh);\n });\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_lights(loader));\n//# sourceMappingURL=KHR_lights_punctual.js.map"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- import { a_ as PBRMaterial, aP as unregisterGLTFExtension, aQ as registerGLTFExtension } from './index-BeKEIRka.esm.js';
2
- import { G as GLTFLoader } from './glTFLoader-BWXrbzqs.esm.js';
3
- import './rawTexture-DWVljNAA.esm.js';
4
- import './assetContainer-GrtWSUiK.esm.js';
5
- import './glTFLoaderAnimation-BrCiuknj.esm.js';
6
-
7
- const NAME = "KHR_materials_anisotropy";
8
- /**
9
- * [Specification](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_anisotropy)
10
- */
11
- // eslint-disable-next-line @typescript-eslint/naming-convention
12
- class KHR_materials_anisotropy {
13
- /**
14
- * @internal
15
- */
16
- constructor(loader) {
17
- /**
18
- * The name of this extension.
19
- */
20
- this.name = NAME;
21
- /**
22
- * Defines a number that determines the order the extensions are applied.
23
- */
24
- this.order = 195;
25
- this._loader = loader;
26
- this.enabled = this._loader.isExtensionUsed(NAME);
27
- }
28
- /** @internal */
29
- dispose() {
30
- this._loader = null;
31
- }
32
- /**
33
- * @internal
34
- */
35
- loadMaterialPropertiesAsync(context, material, babylonMaterial) {
36
- return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {
37
- const promises = new Array();
38
- promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));
39
- promises.push(this._loadIridescencePropertiesAsync(extensionContext, extension, babylonMaterial));
40
- return Promise.all(promises).then(() => { });
41
- });
42
- }
43
- _loadIridescencePropertiesAsync(context, properties, babylonMaterial) {
44
- if (!(babylonMaterial instanceof PBRMaterial)) {
45
- throw new Error(`${context}: Material type not supported`);
46
- }
47
- const promises = new Array();
48
- babylonMaterial.anisotropy.isEnabled = true;
49
- babylonMaterial.anisotropy.intensity = properties.anisotropyStrength ?? 0;
50
- babylonMaterial.anisotropy.angle = properties.anisotropyRotation ?? 0;
51
- if (properties.anisotropyTexture) {
52
- properties.anisotropyTexture.nonColorData = true;
53
- promises.push(this._loader.loadTextureInfoAsync(`${context}/anisotropyTexture`, properties.anisotropyTexture, (texture) => {
54
- texture.name = `${babylonMaterial.name} (Anisotropy Intensity)`;
55
- babylonMaterial.anisotropy.texture = texture;
56
- }));
57
- }
58
- return Promise.all(promises).then(() => { });
59
- }
60
- }
61
- unregisterGLTFExtension(NAME);
62
- registerGLTFExtension(NAME, true, (loader) => new KHR_materials_anisotropy(loader));
63
-
64
- export { KHR_materials_anisotropy };
65
- //# sourceMappingURL=KHR_materials_anisotropy-DHgmJTOh.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KHR_materials_anisotropy-DHgmJTOh.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_anisotropy.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_anisotropy\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_anisotropy)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_anisotropy {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines a number that determines the order the extensions are applied.\n */\n this.order = 195;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));\n promises.push(this._loadIridescencePropertiesAsync(extensionContext, extension, babylonMaterial));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadIridescencePropertiesAsync(context, properties, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n babylonMaterial.anisotropy.isEnabled = true;\n babylonMaterial.anisotropy.intensity = properties.anisotropyStrength ?? 0;\n babylonMaterial.anisotropy.angle = properties.anisotropyRotation ?? 0;\n if (properties.anisotropyTexture) {\n properties.anisotropyTexture.nonColorData = true;\n promises.push(this._loader.loadTextureInfoAsync(`${context}/anisotropyTexture`, properties.anisotropyTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Anisotropy Intensity)`;\n babylonMaterial.anisotropy.texture = texture;\n }));\n }\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_anisotropy(loader));\n//# sourceMappingURL=KHR_materials_anisotropy.js.map"],"names":[],"mappings":";;;;;;AAGA,MAAM,IAAI,GAAG,0BAA0B;AACvC;AACA;AACA;AACA;AACO,MAAM,wBAAwB,CAAC;AACtC;AACA;AACA;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,GAAG;AACxB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM;AAC7B,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;AACzD;AACA;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI;AAC3B;AACA;AACA;AACA;AACA,IAAI,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;AACpE,QAAQ,OAAO,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,gBAAgB,EAAE,SAAS,KAAK;AAC5G,YAAY,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAE;AACxC,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;AACvG,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,gBAAgB,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAC7G,YAAY,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;AACxD,SAAS,CAAC;AACV;AACA,IAAI,+BAA+B,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE;AAC1E,QAAQ,IAAI,EAAE,eAAe,YAAY,WAAW,CAAC,EAAE;AACvD,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAC;AACtE;AACA,QAAQ,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAE;AACpC,QAAQ,eAAe,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI;AACnD,QAAQ,eAAe,CAAC,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,kBAAkB,IAAI,CAAC;AACjF,QAAQ,eAAe,CAAC,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,kBAAkB,IAAI,CAAC;AAC7E,QAAQ,IAAI,UAAU,CAAC,iBAAiB,EAAE;AAC1C,YAAY,UAAU,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI;AAC5D,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,OAAO,KAAK;AACvI,gBAAgB,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,uBAAuB,CAAC;AAC/E,gBAAgB,eAAe,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO;AAC5D,aAAa,CAAC,CAAC;AACf;AACA,QAAQ,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;AACpD;AACA;AACA,uBAAuB,CAAC,IAAI,CAAC;AAC7B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,wBAAwB,CAAC,MAAM,CAAC,CAAC;;;;"}
@@ -1,2 +0,0 @@
1
- import{a_ as e,aP as o,aQ as r}from"./index-DprAUBKz.esm.min.js";import{G as s}from"./glTFLoader-D5p5qYp8.esm.min.js";import"./rawTexture-hwvFuG11.esm.min.js";import"./assetContainer-Cp4IJx4o.esm.min.js";import"./glTFLoaderAnimation-DNByJ6HG.esm.min.js";const t="KHR_materials_anisotropy";class n{constructor(e){this.name=t,this.order=195,this._loader=e,this.enabled=this._loader.isExtensionUsed(t)}dispose(){this._loader=null}loadMaterialPropertiesAsync(e,o,r){return s.LoadExtensionAsync(e,o,this.name,((s,t)=>{const n=new Array;return n.push(this._loader.loadMaterialPropertiesAsync(e,o,r)),n.push(this._loadIridescencePropertiesAsync(s,t,r)),Promise.all(n).then((()=>{}))}))}_loadIridescencePropertiesAsync(o,r,s){if(!(s instanceof e))throw new Error(`${o}: Material type not supported`);const t=new Array;return s.anisotropy.isEnabled=!0,s.anisotropy.intensity=r.anisotropyStrength??0,s.anisotropy.angle=r.anisotropyRotation??0,r.anisotropyTexture&&(r.anisotropyTexture.nonColorData=!0,t.push(this._loader.loadTextureInfoAsync(`${o}/anisotropyTexture`,r.anisotropyTexture,(e=>{e.name=`${s.name} (Anisotropy Intensity)`,s.anisotropy.texture=e})))),Promise.all(t).then((()=>{}))}}o(t),r(t,!0,(e=>new n(e)));export{n as KHR_materials_anisotropy};
2
- //# sourceMappingURL=KHR_materials_anisotropy-Dc4Evl1P.esm.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KHR_materials_anisotropy-Dc4Evl1P.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_anisotropy.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_anisotropy\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_anisotropy)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_anisotropy {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines a number that determines the order the extensions are applied.\n */\n this.order = 195;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));\n promises.push(this._loadIridescencePropertiesAsync(extensionContext, extension, babylonMaterial));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadIridescencePropertiesAsync(context, properties, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n babylonMaterial.anisotropy.isEnabled = true;\n babylonMaterial.anisotropy.intensity = properties.anisotropyStrength ?? 0;\n babylonMaterial.anisotropy.angle = properties.anisotropyRotation ?? 0;\n if (properties.anisotropyTexture) {\n properties.anisotropyTexture.nonColorData = true;\n promises.push(this._loader.loadTextureInfoAsync(`${context}/anisotropyTexture`, properties.anisotropyTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Anisotropy Intensity)`;\n babylonMaterial.anisotropy.texture = texture;\n }));\n }\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_anisotropy(loader));\n//# sourceMappingURL=KHR_materials_anisotropy.js.map"],"names":["NAME","KHR_materials_anisotropy","constructor","loader","this","name","order","_loader","enabled","isExtensionUsed","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtensionAsync","extensionContext","extension","promises","Array","push","_loadIridescencePropertiesAsync","Promise","all","then","properties","PBRMaterial","Error","anisotropy","isEnabled","intensity","anisotropyStrength","angle","anisotropyRotation","anisotropyTexture","nonColorData","loadTextureInfoAsync","texture","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"8PAGA,MAAMA,EAAO,2BAKN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EAIZI,KAAKE,MAAQ,IACbF,KAAKG,QAAUJ,EACfC,KAAKI,QAAUJ,KAAKG,QAAQE,gBAAgBT,EACpD,CAEI,OAAAU,GACIN,KAAKG,QAAU,IACvB,CAII,2BAAAI,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,mBAAmBJ,EAASC,EAAUT,KAAKC,MAAM,CAACY,EAAkBC,KAClF,MAAMC,EAAW,IAAIC,MAGrB,OAFAD,EAASE,KAAKjB,KAAKG,QAAQI,4BAA4BC,EAASC,EAAUC,IAC1EK,EAASE,KAAKjB,KAAKkB,gCAAgCL,EAAkBC,EAAWJ,IACzES,QAAQC,IAAIL,GAAUM,MAAK,QAAU,GAExD,CACI,+BAAAH,CAAgCV,EAASc,EAAYZ,GACjD,KAAMA,aAA2Ba,GAC7B,MAAM,IAAIC,MAAM,GAAGhB,kCAEvB,MAAMO,EAAW,IAAIC,MAWrB,OAVAN,EAAgBe,WAAWC,WAAY,EACvChB,EAAgBe,WAAWE,UAAYL,EAAWM,oBAAsB,EACxElB,EAAgBe,WAAWI,MAAQP,EAAWQ,oBAAsB,EAChER,EAAWS,oBACXT,EAAWS,kBAAkBC,cAAe,EAC5CjB,EAASE,KAAKjB,KAAKG,QAAQ8B,qBAAqB,GAAGzB,sBAA6Bc,EAAWS,mBAAoBG,IAC3GA,EAAQjC,KAAO,GAAGS,EAAgBT,8BAClCS,EAAgBe,WAAWS,QAAUA,CAAO,MAG7Cf,QAAQC,IAAIL,GAAUM,MAAK,QAC1C,EAEAc,EAAwBvC,GACxBwC,EAAsBxC,GAAM,GAAOG,GAAW,IAAIF,EAAyBE"}
@@ -1,96 +0,0 @@
1
- import { a_ as PBRMaterial, aP as unregisterGLTFExtension, aQ as registerGLTFExtension } from './index-BeKEIRka.esm.js';
2
- import { G as GLTFLoader } from './glTFLoader-BWXrbzqs.esm.js';
3
- import './rawTexture-DWVljNAA.esm.js';
4
- import './assetContainer-GrtWSUiK.esm.js';
5
- import './glTFLoaderAnimation-BrCiuknj.esm.js';
6
-
7
- const NAME = "KHR_materials_clearcoat";
8
- /**
9
- * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_clearcoat/README.md)
10
- * [Playground Sample](https://www.babylonjs-playground.com/frame.html#7F7PN6#8)
11
- */
12
- // eslint-disable-next-line @typescript-eslint/naming-convention
13
- class KHR_materials_clearcoat {
14
- /**
15
- * @internal
16
- */
17
- constructor(loader) {
18
- /**
19
- * The name of this extension.
20
- */
21
- this.name = NAME;
22
- /**
23
- * Defines a number that determines the order the extensions are applied.
24
- */
25
- this.order = 190;
26
- this._loader = loader;
27
- this.enabled = this._loader.isExtensionUsed(NAME);
28
- }
29
- /** @internal */
30
- dispose() {
31
- this._loader = null;
32
- }
33
- /**
34
- * @internal
35
- */
36
- loadMaterialPropertiesAsync(context, material, babylonMaterial) {
37
- return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {
38
- const promises = new Array();
39
- promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));
40
- promises.push(this._loadClearCoatPropertiesAsync(extensionContext, extension, babylonMaterial));
41
- return Promise.all(promises).then(() => { });
42
- });
43
- }
44
- _loadClearCoatPropertiesAsync(context, properties, babylonMaterial) {
45
- if (!(babylonMaterial instanceof PBRMaterial)) {
46
- throw new Error(`${context}: Material type not supported`);
47
- }
48
- const promises = new Array();
49
- babylonMaterial.clearCoat.isEnabled = true;
50
- babylonMaterial.clearCoat.useRoughnessFromMainTexture = false;
51
- babylonMaterial.clearCoat.remapF0OnInterfaceChange = false;
52
- if (properties.clearcoatFactor != undefined) {
53
- babylonMaterial.clearCoat.intensity = properties.clearcoatFactor;
54
- }
55
- else {
56
- babylonMaterial.clearCoat.intensity = 0;
57
- }
58
- if (properties.clearcoatTexture) {
59
- promises.push(this._loader.loadTextureInfoAsync(`${context}/clearcoatTexture`, properties.clearcoatTexture, (texture) => {
60
- texture.name = `${babylonMaterial.name} (ClearCoat)`;
61
- babylonMaterial.clearCoat.texture = texture;
62
- }));
63
- }
64
- if (properties.clearcoatRoughnessFactor != undefined) {
65
- babylonMaterial.clearCoat.roughness = properties.clearcoatRoughnessFactor;
66
- }
67
- else {
68
- babylonMaterial.clearCoat.roughness = 0;
69
- }
70
- if (properties.clearcoatRoughnessTexture) {
71
- properties.clearcoatRoughnessTexture.nonColorData = true;
72
- promises.push(this._loader.loadTextureInfoAsync(`${context}/clearcoatRoughnessTexture`, properties.clearcoatRoughnessTexture, (texture) => {
73
- texture.name = `${babylonMaterial.name} (ClearCoat Roughness)`;
74
- babylonMaterial.clearCoat.textureRoughness = texture;
75
- }));
76
- }
77
- if (properties.clearcoatNormalTexture) {
78
- properties.clearcoatNormalTexture.nonColorData = true;
79
- promises.push(this._loader.loadTextureInfoAsync(`${context}/clearcoatNormalTexture`, properties.clearcoatNormalTexture, (texture) => {
80
- texture.name = `${babylonMaterial.name} (ClearCoat Normal)`;
81
- babylonMaterial.clearCoat.bumpTexture = texture;
82
- }));
83
- babylonMaterial.invertNormalMapX = !babylonMaterial.getScene().useRightHandedSystem;
84
- babylonMaterial.invertNormalMapY = babylonMaterial.getScene().useRightHandedSystem;
85
- if (properties.clearcoatNormalTexture.scale != undefined) {
86
- babylonMaterial.clearCoat.bumpTexture.level = properties.clearcoatNormalTexture.scale;
87
- }
88
- }
89
- return Promise.all(promises).then(() => { });
90
- }
91
- }
92
- unregisterGLTFExtension(NAME);
93
- registerGLTFExtension(NAME, true, (loader) => new KHR_materials_clearcoat(loader));
94
-
95
- export { KHR_materials_clearcoat };
96
- //# sourceMappingURL=KHR_materials_clearcoat-BOp_vaqd.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KHR_materials_clearcoat-BOp_vaqd.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_clearcoat.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_clearcoat\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_clearcoat/README.md)\n * [Playground Sample](https://www.babylonjs-playground.com/frame.html#7F7PN6#8)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_clearcoat {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines a number that determines the order the extensions are applied.\n */\n this.order = 190;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));\n promises.push(this._loadClearCoatPropertiesAsync(extensionContext, extension, babylonMaterial));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadClearCoatPropertiesAsync(context, properties, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n babylonMaterial.clearCoat.isEnabled = true;\n babylonMaterial.clearCoat.useRoughnessFromMainTexture = false;\n babylonMaterial.clearCoat.remapF0OnInterfaceChange = false;\n if (properties.clearcoatFactor != undefined) {\n babylonMaterial.clearCoat.intensity = properties.clearcoatFactor;\n }\n else {\n babylonMaterial.clearCoat.intensity = 0;\n }\n if (properties.clearcoatTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/clearcoatTexture`, properties.clearcoatTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (ClearCoat)`;\n babylonMaterial.clearCoat.texture = texture;\n }));\n }\n if (properties.clearcoatRoughnessFactor != undefined) {\n babylonMaterial.clearCoat.roughness = properties.clearcoatRoughnessFactor;\n }\n else {\n babylonMaterial.clearCoat.roughness = 0;\n }\n if (properties.clearcoatRoughnessTexture) {\n properties.clearcoatRoughnessTexture.nonColorData = true;\n promises.push(this._loader.loadTextureInfoAsync(`${context}/clearcoatRoughnessTexture`, properties.clearcoatRoughnessTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (ClearCoat Roughness)`;\n babylonMaterial.clearCoat.textureRoughness = texture;\n }));\n }\n if (properties.clearcoatNormalTexture) {\n properties.clearcoatNormalTexture.nonColorData = true;\n promises.push(this._loader.loadTextureInfoAsync(`${context}/clearcoatNormalTexture`, properties.clearcoatNormalTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (ClearCoat Normal)`;\n babylonMaterial.clearCoat.bumpTexture = texture;\n }));\n babylonMaterial.invertNormalMapX = !babylonMaterial.getScene().useRightHandedSystem;\n babylonMaterial.invertNormalMapY = babylonMaterial.getScene().useRightHandedSystem;\n if (properties.clearcoatNormalTexture.scale != undefined) {\n babylonMaterial.clearCoat.bumpTexture.level = properties.clearcoatNormalTexture.scale;\n }\n }\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_clearcoat(loader));\n//# sourceMappingURL=KHR_materials_clearcoat.js.map"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{a_ as e,aP as a,aQ as r}from"./index-DprAUBKz.esm.min.js";import{G as t}from"./glTFLoader-D5p5qYp8.esm.min.js";import"./rawTexture-hwvFuG11.esm.min.js";import"./assetContainer-Cp4IJx4o.esm.min.js";import"./glTFLoaderAnimation-DNByJ6HG.esm.min.js";const o="KHR_materials_clearcoat";class s{constructor(e){this.name=o,this.order=190,this._loader=e,this.enabled=this._loader.isExtensionUsed(o)}dispose(){this._loader=null}loadMaterialPropertiesAsync(e,a,r){return t.LoadExtensionAsync(e,a,this.name,((t,o)=>{const s=new Array;return s.push(this._loader.loadMaterialPropertiesAsync(e,a,r)),s.push(this._loadClearCoatPropertiesAsync(t,o,r)),Promise.all(s).then((()=>{}))}))}_loadClearCoatPropertiesAsync(a,r,t){if(!(t instanceof e))throw new Error(`${a}: Material type not supported`);const o=new Array;return t.clearCoat.isEnabled=!0,t.clearCoat.useRoughnessFromMainTexture=!1,t.clearCoat.remapF0OnInterfaceChange=!1,null!=r.clearcoatFactor?t.clearCoat.intensity=r.clearcoatFactor:t.clearCoat.intensity=0,r.clearcoatTexture&&o.push(this._loader.loadTextureInfoAsync(`${a}/clearcoatTexture`,r.clearcoatTexture,(e=>{e.name=`${t.name} (ClearCoat)`,t.clearCoat.texture=e}))),null!=r.clearcoatRoughnessFactor?t.clearCoat.roughness=r.clearcoatRoughnessFactor:t.clearCoat.roughness=0,r.clearcoatRoughnessTexture&&(r.clearcoatRoughnessTexture.nonColorData=!0,o.push(this._loader.loadTextureInfoAsync(`${a}/clearcoatRoughnessTexture`,r.clearcoatRoughnessTexture,(e=>{e.name=`${t.name} (ClearCoat Roughness)`,t.clearCoat.textureRoughness=e})))),r.clearcoatNormalTexture&&(r.clearcoatNormalTexture.nonColorData=!0,o.push(this._loader.loadTextureInfoAsync(`${a}/clearcoatNormalTexture`,r.clearcoatNormalTexture,(e=>{e.name=`${t.name} (ClearCoat Normal)`,t.clearCoat.bumpTexture=e}))),t.invertNormalMapX=!t.getScene().useRightHandedSystem,t.invertNormalMapY=t.getScene().useRightHandedSystem,null!=r.clearcoatNormalTexture.scale&&(t.clearCoat.bumpTexture.level=r.clearcoatNormalTexture.scale)),Promise.all(o).then((()=>{}))}}a(o),r(o,!0,(e=>new s(e)));export{s as KHR_materials_clearcoat};
2
- //# sourceMappingURL=KHR_materials_clearcoat-D2jlT4tq.esm.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KHR_materials_clearcoat-D2jlT4tq.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_clearcoat.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_clearcoat\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_clearcoat/README.md)\n * [Playground Sample](https://www.babylonjs-playground.com/frame.html#7F7PN6#8)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_clearcoat {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines a number that determines the order the extensions are applied.\n */\n this.order = 190;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));\n promises.push(this._loadClearCoatPropertiesAsync(extensionContext, extension, babylonMaterial));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadClearCoatPropertiesAsync(context, properties, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n babylonMaterial.clearCoat.isEnabled = true;\n babylonMaterial.clearCoat.useRoughnessFromMainTexture = false;\n babylonMaterial.clearCoat.remapF0OnInterfaceChange = false;\n if (properties.clearcoatFactor != undefined) {\n babylonMaterial.clearCoat.intensity = properties.clearcoatFactor;\n }\n else {\n babylonMaterial.clearCoat.intensity = 0;\n }\n if (properties.clearcoatTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/clearcoatTexture`, properties.clearcoatTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (ClearCoat)`;\n babylonMaterial.clearCoat.texture = texture;\n }));\n }\n if (properties.clearcoatRoughnessFactor != undefined) {\n babylonMaterial.clearCoat.roughness = properties.clearcoatRoughnessFactor;\n }\n else {\n babylonMaterial.clearCoat.roughness = 0;\n }\n if (properties.clearcoatRoughnessTexture) {\n properties.clearcoatRoughnessTexture.nonColorData = true;\n promises.push(this._loader.loadTextureInfoAsync(`${context}/clearcoatRoughnessTexture`, properties.clearcoatRoughnessTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (ClearCoat Roughness)`;\n babylonMaterial.clearCoat.textureRoughness = texture;\n }));\n }\n if (properties.clearcoatNormalTexture) {\n properties.clearcoatNormalTexture.nonColorData = true;\n promises.push(this._loader.loadTextureInfoAsync(`${context}/clearcoatNormalTexture`, properties.clearcoatNormalTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (ClearCoat Normal)`;\n babylonMaterial.clearCoat.bumpTexture = texture;\n }));\n babylonMaterial.invertNormalMapX = !babylonMaterial.getScene().useRightHandedSystem;\n babylonMaterial.invertNormalMapY = babylonMaterial.getScene().useRightHandedSystem;\n if (properties.clearcoatNormalTexture.scale != undefined) {\n babylonMaterial.clearCoat.bumpTexture.level = properties.clearcoatNormalTexture.scale;\n }\n }\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_clearcoat(loader));\n//# sourceMappingURL=KHR_materials_clearcoat.js.map"],"names":["NAME","KHR_materials_clearcoat","constructor","loader","this","name","order","_loader","enabled","isExtensionUsed","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtensionAsync","extensionContext","extension","promises","Array","push","_loadClearCoatPropertiesAsync","Promise","all","then","properties","PBRMaterial","Error","clearCoat","isEnabled","useRoughnessFromMainTexture","remapF0OnInterfaceChange","undefined","clearcoatFactor","intensity","clearcoatTexture","loadTextureInfoAsync","texture","clearcoatRoughnessFactor","roughness","clearcoatRoughnessTexture","nonColorData","textureRoughness","clearcoatNormalTexture","bumpTexture","invertNormalMapX","getScene","useRightHandedSystem","invertNormalMapY","scale","level","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"8PAGA,MAAMA,EAAO,0BAMN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EAIZI,KAAKE,MAAQ,IACbF,KAAKG,QAAUJ,EACfC,KAAKI,QAAUJ,KAAKG,QAAQE,gBAAgBT,EACpD,CAEI,OAAAU,GACIN,KAAKG,QAAU,IACvB,CAII,2BAAAI,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,mBAAmBJ,EAASC,EAAUT,KAAKC,MAAM,CAACY,EAAkBC,KAClF,MAAMC,EAAW,IAAIC,MAGrB,OAFAD,EAASE,KAAKjB,KAAKG,QAAQI,4BAA4BC,EAASC,EAAUC,IAC1EK,EAASE,KAAKjB,KAAKkB,8BAA8BL,EAAkBC,EAAWJ,IACvES,QAAQC,IAAIL,GAAUM,MAAK,QAAU,GAExD,CACI,6BAAAH,CAA8BV,EAASc,EAAYZ,GAC/C,KAAMA,aAA2Ba,GAC7B,MAAM,IAAIC,MAAM,GAAGhB,kCAEvB,MAAMO,EAAW,IAAIC,MAyCrB,OAxCAN,EAAgBe,UAAUC,WAAY,EACtChB,EAAgBe,UAAUE,6BAA8B,EACxDjB,EAAgBe,UAAUG,0BAA2B,EACnBC,MAA9BP,EAAWQ,gBACXpB,EAAgBe,UAAUM,UAAYT,EAAWQ,gBAGjDpB,EAAgBe,UAAUM,UAAY,EAEtCT,EAAWU,kBACXjB,EAASE,KAAKjB,KAAKG,QAAQ8B,qBAAqB,GAAGzB,qBAA4Bc,EAAWU,kBAAmBE,IACzGA,EAAQjC,KAAO,GAAGS,EAAgBT,mBAClCS,EAAgBe,UAAUS,QAAUA,CAAO,KAGRL,MAAvCP,EAAWa,yBACXzB,EAAgBe,UAAUW,UAAYd,EAAWa,yBAGjDzB,EAAgBe,UAAUW,UAAY,EAEtCd,EAAWe,4BACXf,EAAWe,0BAA0BC,cAAe,EACpDvB,EAASE,KAAKjB,KAAKG,QAAQ8B,qBAAqB,GAAGzB,8BAAqCc,EAAWe,2BAA4BH,IAC3HA,EAAQjC,KAAO,GAAGS,EAAgBT,6BAClCS,EAAgBe,UAAUc,iBAAmBL,CAAO,MAGxDZ,EAAWkB,yBACXlB,EAAWkB,uBAAuBF,cAAe,EACjDvB,EAASE,KAAKjB,KAAKG,QAAQ8B,qBAAqB,GAAGzB,2BAAkCc,EAAWkB,wBAAyBN,IACrHA,EAAQjC,KAAO,GAAGS,EAAgBT,0BAClCS,EAAgBe,UAAUgB,YAAcP,CAAO,KAEnDxB,EAAgBgC,kBAAoBhC,EAAgBiC,WAAWC,qBAC/DlC,EAAgBmC,iBAAmBnC,EAAgBiC,WAAWC,qBACff,MAA3CP,EAAWkB,uBAAuBM,QAClCpC,EAAgBe,UAAUgB,YAAYM,MAAQzB,EAAWkB,uBAAuBM,QAGjF3B,QAAQC,IAAIL,GAAUM,MAAK,QAC1C,EAEA2B,EAAwBpD,GACxBqD,EAAsBrD,GAAM,GAAOG,GAAW,IAAIF,EAAwBE"}
@@ -1,97 +0,0 @@
1
- import { a_ as PBRMaterial, s as Color3, aP as unregisterGLTFExtension, aQ as registerGLTFExtension } from './index-BeKEIRka.esm.js';
2
- import { G as GLTFLoader } from './glTFLoader-BWXrbzqs.esm.js';
3
- import './rawTexture-DWVljNAA.esm.js';
4
- import './assetContainer-GrtWSUiK.esm.js';
5
- import './glTFLoaderAnimation-BrCiuknj.esm.js';
6
-
7
- const NAME = "KHR_materials_diffuse_transmission";
8
- /**
9
- * [Proposed Specification](https://github.com/KhronosGroup/glTF/pull/1825)
10
- * !!! Experimental Extension Subject to Changes !!!
11
- */
12
- // eslint-disable-next-line @typescript-eslint/naming-convention
13
- class KHR_materials_diffuse_transmission {
14
- /**
15
- * @internal
16
- */
17
- constructor(loader) {
18
- /**
19
- * The name of this extension.
20
- */
21
- this.name = NAME;
22
- /**
23
- * Defines a number that determines the order the extensions are applied.
24
- */
25
- this.order = 174;
26
- this._loader = loader;
27
- this.enabled = this._loader.isExtensionUsed(NAME);
28
- if (this.enabled) {
29
- loader.parent.transparencyAsCoverage = true;
30
- }
31
- }
32
- /** @internal */
33
- dispose() {
34
- this._loader = null;
35
- }
36
- /**
37
- * @internal
38
- */
39
- loadMaterialPropertiesAsync(context, material, babylonMaterial) {
40
- return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {
41
- const promises = new Array();
42
- promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));
43
- promises.push(this._loadTranslucentPropertiesAsync(extensionContext, material, babylonMaterial, extension));
44
- return Promise.all(promises).then(() => { });
45
- });
46
- }
47
- _loadTranslucentPropertiesAsync(context, material, babylonMaterial, extension) {
48
- if (!(babylonMaterial instanceof PBRMaterial)) {
49
- throw new Error(`${context}: Material type not supported`);
50
- }
51
- const pbrMaterial = babylonMaterial;
52
- // Enables "translucency" texture which represents diffusely-transmitted light.
53
- pbrMaterial.subSurface.isTranslucencyEnabled = true;
54
- // Since this extension models thin-surface transmission only, we must make the
55
- // internal IOR == 1.0 and set the thickness to 0.
56
- pbrMaterial.subSurface.volumeIndexOfRefraction = 1.0;
57
- pbrMaterial.subSurface.minimumThickness = 0.0;
58
- pbrMaterial.subSurface.maximumThickness = 0.0;
59
- // Tint color will be used for transmission.
60
- pbrMaterial.subSurface.useAlbedoToTintTranslucency = false;
61
- if (extension.diffuseTransmissionFactor !== undefined) {
62
- pbrMaterial.subSurface.translucencyIntensity = extension.diffuseTransmissionFactor;
63
- }
64
- else {
65
- pbrMaterial.subSurface.translucencyIntensity = 0.0;
66
- pbrMaterial.subSurface.isTranslucencyEnabled = false;
67
- return Promise.resolve();
68
- }
69
- const promises = new Array();
70
- pbrMaterial.subSurface.useGltfStyleTextures = true;
71
- if (extension.diffuseTransmissionTexture) {
72
- extension.diffuseTransmissionTexture.nonColorData = true;
73
- promises.push(this._loader.loadTextureInfoAsync(`${context}/diffuseTransmissionTexture`, extension.diffuseTransmissionTexture).then((texture) => {
74
- texture.name = `${babylonMaterial.name} (Diffuse Transmission)`;
75
- pbrMaterial.subSurface.translucencyIntensityTexture = texture;
76
- }));
77
- }
78
- if (extension.diffuseTransmissionColorFactor !== undefined) {
79
- pbrMaterial.subSurface.translucencyColor = Color3.FromArray(extension.diffuseTransmissionColorFactor);
80
- }
81
- else {
82
- pbrMaterial.subSurface.translucencyColor = Color3.White();
83
- }
84
- if (extension.diffuseTransmissionColorTexture) {
85
- promises.push(this._loader.loadTextureInfoAsync(`${context}/diffuseTransmissionColorTexture`, extension.diffuseTransmissionColorTexture).then((texture) => {
86
- texture.name = `${babylonMaterial.name} (Diffuse Transmission Color)`;
87
- pbrMaterial.subSurface.translucencyColorTexture = texture;
88
- }));
89
- }
90
- return Promise.all(promises).then(() => { });
91
- }
92
- }
93
- unregisterGLTFExtension(NAME);
94
- registerGLTFExtension(NAME, true, (loader) => new KHR_materials_diffuse_transmission(loader));
95
-
96
- export { KHR_materials_diffuse_transmission };
97
- //# sourceMappingURL=KHR_materials_diffuse_transmission-YlZ556xa.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KHR_materials_diffuse_transmission-YlZ556xa.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { Color3 } from \"core/Maths/math.color\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_diffuse_transmission\";\n/**\n * [Proposed Specification](https://github.com/KhronosGroup/glTF/pull/1825)\n * !!! Experimental Extension Subject to Changes !!!\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_diffuse_transmission {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines a number that determines the order the extensions are applied.\n */\n this.order = 174;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n if (this.enabled) {\n loader.parent.transparencyAsCoverage = true;\n }\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));\n promises.push(this._loadTranslucentPropertiesAsync(extensionContext, material, babylonMaterial, extension));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadTranslucentPropertiesAsync(context, material, babylonMaterial, extension) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const pbrMaterial = babylonMaterial;\n // Enables \"translucency\" texture which represents diffusely-transmitted light.\n pbrMaterial.subSurface.isTranslucencyEnabled = true;\n // Since this extension models thin-surface transmission only, we must make the\n // internal IOR == 1.0 and set the thickness to 0.\n pbrMaterial.subSurface.volumeIndexOfRefraction = 1.0;\n pbrMaterial.subSurface.minimumThickness = 0.0;\n pbrMaterial.subSurface.maximumThickness = 0.0;\n // Tint color will be used for transmission.\n pbrMaterial.subSurface.useAlbedoToTintTranslucency = false;\n if (extension.diffuseTransmissionFactor !== undefined) {\n pbrMaterial.subSurface.translucencyIntensity = extension.diffuseTransmissionFactor;\n }\n else {\n pbrMaterial.subSurface.translucencyIntensity = 0.0;\n pbrMaterial.subSurface.isTranslucencyEnabled = false;\n return Promise.resolve();\n }\n const promises = new Array();\n pbrMaterial.subSurface.useGltfStyleTextures = true;\n if (extension.diffuseTransmissionTexture) {\n extension.diffuseTransmissionTexture.nonColorData = true;\n promises.push(this._loader.loadTextureInfoAsync(`${context}/diffuseTransmissionTexture`, extension.diffuseTransmissionTexture).then((texture) => {\n texture.name = `${babylonMaterial.name} (Diffuse Transmission)`;\n pbrMaterial.subSurface.translucencyIntensityTexture = texture;\n }));\n }\n if (extension.diffuseTransmissionColorFactor !== undefined) {\n pbrMaterial.subSurface.translucencyColor = Color3.FromArray(extension.diffuseTransmissionColorFactor);\n }\n else {\n pbrMaterial.subSurface.translucencyColor = Color3.White();\n }\n if (extension.diffuseTransmissionColorTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/diffuseTransmissionColorTexture`, extension.diffuseTransmissionColorTexture).then((texture) => {\n texture.name = `${babylonMaterial.name} (Diffuse Transmission Color)`;\n pbrMaterial.subSurface.translucencyColorTexture = texture;\n }));\n }\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_diffuse_transmission(loader));\n//# sourceMappingURL=KHR_materials_diffuse_transmission.js.map"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{a_ as s,s as e,aP as r,aQ as n}from"./index-DprAUBKz.esm.min.js";import{G as a}from"./glTFLoader-D5p5qYp8.esm.min.js";import"./rawTexture-hwvFuG11.esm.min.js";import"./assetContainer-Cp4IJx4o.esm.min.js";import"./glTFLoaderAnimation-DNByJ6HG.esm.min.js";const i="KHR_materials_diffuse_transmission";class o{constructor(s){this.name=i,this.order=174,this._loader=s,this.enabled=this._loader.isExtensionUsed(i),this.enabled&&(s.parent.transparencyAsCoverage=!0)}dispose(){this._loader=null}loadMaterialPropertiesAsync(s,e,r){return a.LoadExtensionAsync(s,e,this.name,((n,a)=>{const i=new Array;return i.push(this._loader.loadMaterialPropertiesAsync(s,e,r)),i.push(this._loadTranslucentPropertiesAsync(n,e,r,a)),Promise.all(i).then((()=>{}))}))}_loadTranslucentPropertiesAsync(r,n,a,i){if(!(a instanceof s))throw new Error(`${r}: Material type not supported`);const o=a;if(o.subSurface.isTranslucencyEnabled=!0,o.subSurface.volumeIndexOfRefraction=1,o.subSurface.minimumThickness=0,o.subSurface.maximumThickness=0,o.subSurface.useAlbedoToTintTranslucency=!1,void 0===i.diffuseTransmissionFactor)return o.subSurface.translucencyIntensity=0,o.subSurface.isTranslucencyEnabled=!1,Promise.resolve();o.subSurface.translucencyIntensity=i.diffuseTransmissionFactor;const t=new Array;return o.subSurface.useGltfStyleTextures=!0,i.diffuseTransmissionTexture&&(i.diffuseTransmissionTexture.nonColorData=!0,t.push(this._loader.loadTextureInfoAsync(`${r}/diffuseTransmissionTexture`,i.diffuseTransmissionTexture).then((s=>{s.name=`${a.name} (Diffuse Transmission)`,o.subSurface.translucencyIntensityTexture=s})))),void 0!==i.diffuseTransmissionColorFactor?o.subSurface.translucencyColor=e.FromArray(i.diffuseTransmissionColorFactor):o.subSurface.translucencyColor=e.White(),i.diffuseTransmissionColorTexture&&t.push(this._loader.loadTextureInfoAsync(`${r}/diffuseTransmissionColorTexture`,i.diffuseTransmissionColorTexture).then((s=>{s.name=`${a.name} (Diffuse Transmission Color)`,o.subSurface.translucencyColorTexture=s}))),Promise.all(t).then((()=>{}))}}r(i),n(i,!0,(s=>new o(s)));export{o as KHR_materials_diffuse_transmission};
2
- //# sourceMappingURL=KHR_materials_diffuse_transmission-uETEXjDc.esm.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KHR_materials_diffuse_transmission-uETEXjDc.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { Color3 } from \"core/Maths/math.color\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_diffuse_transmission\";\n/**\n * [Proposed Specification](https://github.com/KhronosGroup/glTF/pull/1825)\n * !!! Experimental Extension Subject to Changes !!!\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_diffuse_transmission {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines a number that determines the order the extensions are applied.\n */\n this.order = 174;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n if (this.enabled) {\n loader.parent.transparencyAsCoverage = true;\n }\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));\n promises.push(this._loadTranslucentPropertiesAsync(extensionContext, material, babylonMaterial, extension));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadTranslucentPropertiesAsync(context, material, babylonMaterial, extension) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const pbrMaterial = babylonMaterial;\n // Enables \"translucency\" texture which represents diffusely-transmitted light.\n pbrMaterial.subSurface.isTranslucencyEnabled = true;\n // Since this extension models thin-surface transmission only, we must make the\n // internal IOR == 1.0 and set the thickness to 0.\n pbrMaterial.subSurface.volumeIndexOfRefraction = 1.0;\n pbrMaterial.subSurface.minimumThickness = 0.0;\n pbrMaterial.subSurface.maximumThickness = 0.0;\n // Tint color will be used for transmission.\n pbrMaterial.subSurface.useAlbedoToTintTranslucency = false;\n if (extension.diffuseTransmissionFactor !== undefined) {\n pbrMaterial.subSurface.translucencyIntensity = extension.diffuseTransmissionFactor;\n }\n else {\n pbrMaterial.subSurface.translucencyIntensity = 0.0;\n pbrMaterial.subSurface.isTranslucencyEnabled = false;\n return Promise.resolve();\n }\n const promises = new Array();\n pbrMaterial.subSurface.useGltfStyleTextures = true;\n if (extension.diffuseTransmissionTexture) {\n extension.diffuseTransmissionTexture.nonColorData = true;\n promises.push(this._loader.loadTextureInfoAsync(`${context}/diffuseTransmissionTexture`, extension.diffuseTransmissionTexture).then((texture) => {\n texture.name = `${babylonMaterial.name} (Diffuse Transmission)`;\n pbrMaterial.subSurface.translucencyIntensityTexture = texture;\n }));\n }\n if (extension.diffuseTransmissionColorFactor !== undefined) {\n pbrMaterial.subSurface.translucencyColor = Color3.FromArray(extension.diffuseTransmissionColorFactor);\n }\n else {\n pbrMaterial.subSurface.translucencyColor = Color3.White();\n }\n if (extension.diffuseTransmissionColorTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/diffuseTransmissionColorTexture`, extension.diffuseTransmissionColorTexture).then((texture) => {\n texture.name = `${babylonMaterial.name} (Diffuse Transmission Color)`;\n pbrMaterial.subSurface.translucencyColorTexture = texture;\n }));\n }\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_diffuse_transmission(loader));\n//# sourceMappingURL=KHR_materials_diffuse_transmission.js.map"],"names":["NAME","KHR_materials_diffuse_transmission","constructor","loader","this","name","order","_loader","enabled","isExtensionUsed","parent","transparencyAsCoverage","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtensionAsync","extensionContext","extension","promises","Array","push","_loadTranslucentPropertiesAsync","Promise","all","then","PBRMaterial","Error","pbrMaterial","subSurface","isTranslucencyEnabled","volumeIndexOfRefraction","minimumThickness","maximumThickness","useAlbedoToTintTranslucency","undefined","diffuseTransmissionFactor","translucencyIntensity","resolve","useGltfStyleTextures","diffuseTransmissionTexture","nonColorData","loadTextureInfoAsync","texture","translucencyIntensityTexture","diffuseTransmissionColorFactor","translucencyColor","Color3","FromArray","White","diffuseTransmissionColorTexture","translucencyColorTexture","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"qQAIA,MAAMA,EAAO,qCAMN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EAIZI,KAAKE,MAAQ,IACbF,KAAKG,QAAUJ,EACfC,KAAKI,QAAUJ,KAAKG,QAAQE,gBAAgBT,GACxCI,KAAKI,UACLL,EAAOO,OAAOC,wBAAyB,EAEnD,CAEI,OAAAC,GACIR,KAAKG,QAAU,IACvB,CAII,2BAAAM,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,mBAAmBJ,EAASC,EAAUX,KAAKC,MAAM,CAACc,EAAkBC,KAClF,MAAMC,EAAW,IAAIC,MAGrB,OAFAD,EAASE,KAAKnB,KAAKG,QAAQM,4BAA4BC,EAASC,EAAUC,IAC1EK,EAASE,KAAKnB,KAAKoB,gCAAgCL,EAAkBJ,EAAUC,EAAiBI,IACzFK,QAAQC,IAAIL,GAAUM,MAAK,QAAU,GAExD,CACI,+BAAAH,CAAgCV,EAASC,EAAUC,EAAiBI,GAChE,KAAMJ,aAA2BY,GAC7B,MAAM,IAAIC,MAAM,GAAGf,kCAEvB,MAAMgB,EAAcd,EAUpB,GARAc,EAAYC,WAAWC,uBAAwB,EAG/CF,EAAYC,WAAWE,wBAA0B,EACjDH,EAAYC,WAAWG,iBAAmB,EAC1CJ,EAAYC,WAAWI,iBAAmB,EAE1CL,EAAYC,WAAWK,6BAA8B,OACTC,IAAxCjB,EAAUkB,0BAMV,OAFAR,EAAYC,WAAWQ,sBAAwB,EAC/CT,EAAYC,WAAWC,uBAAwB,EACxCP,QAAQe,UALfV,EAAYC,WAAWQ,sBAAwBnB,EAAUkB,0BAO7D,MAAMjB,EAAW,IAAIC,MAqBrB,OApBAQ,EAAYC,WAAWU,sBAAuB,EAC1CrB,EAAUsB,6BACVtB,EAAUsB,2BAA2BC,cAAe,EACpDtB,EAASE,KAAKnB,KAAKG,QAAQqC,qBAAqB,GAAG9B,+BAAsCM,EAAUsB,4BAA4Bf,MAAMkB,IACjIA,EAAQxC,KAAO,GAAGW,EAAgBX,8BAClCyB,EAAYC,WAAWe,6BAA+BD,CAAO,WAGpBR,IAA7CjB,EAAU2B,+BACVjB,EAAYC,WAAWiB,kBAAoBC,EAAOC,UAAU9B,EAAU2B,gCAGtEjB,EAAYC,WAAWiB,kBAAoBC,EAAOE,QAElD/B,EAAUgC,iCACV/B,EAASE,KAAKnB,KAAKG,QAAQqC,qBAAqB,GAAG9B,oCAA2CM,EAAUgC,iCAAiCzB,MAAMkB,IAC3IA,EAAQxC,KAAO,GAAGW,EAAgBX,oCAClCyB,EAAYC,WAAWsB,yBAA2BR,CAAO,KAG1DpB,QAAQC,IAAIL,GAAUM,MAAK,QAC1C,EAEA2B,EAAwBtD,GACxBuD,EAAsBvD,GAAM,GAAOG,GAAW,IAAIF,EAAmCE"}
@@ -1,2 +0,0 @@
1
- import{a_ as s,aP as e,aQ as r}from"./index-DprAUBKz.esm.min.js";import{G as i}from"./glTFLoader-D5p5qYp8.esm.min.js";import"./rawTexture-hwvFuG11.esm.min.js";import"./assetContainer-Cp4IJx4o.esm.min.js";import"./glTFLoaderAnimation-DNByJ6HG.esm.min.js";const o="KHR_materials_dispersion";class n{constructor(s){this.name=o,this.order=174,this._loader=s,this.enabled=this._loader.isExtensionUsed(o)}dispose(){this._loader=null}loadMaterialPropertiesAsync(s,e,r){return i.LoadExtensionAsync(s,e,this.name,((i,o)=>{const n=new Array;return n.push(this._loader.loadMaterialPropertiesAsync(s,e,r)),n.push(this._loadDispersionPropertiesAsync(i,e,r,o)),Promise.all(n).then((()=>{}))}))}_loadDispersionPropertiesAsync(e,r,i,o){if(!(i instanceof s))throw new Error(`${e}: Material type not supported`);return i.subSurface.isRefractionEnabled&&o.dispersion?(i.subSurface.isDispersionEnabled=!0,i.subSurface.dispersion=o.dispersion,Promise.resolve()):Promise.resolve()}}e(o),r(o,!0,(s=>new n(s)));export{n as KHR_materials_dispersion};
2
- //# sourceMappingURL=KHR_materials_dispersion-CbThEQRc.esm.min.js.map