@babylonjs/viewer 7.40.2 → 7.40.3-alpha

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 (615) hide show
  1. package/assets/photoStudio.env +0 -0
  2. package/dist/babylon-viewer.esm.js +2 -0
  3. package/dist/babylon-viewer.esm.js.map +1 -0
  4. package/dist/babylon-viewer.esm.min.js +2 -0
  5. package/dist/babylon-viewer.esm.min.js.map +1 -0
  6. package/dist/chunks/EXT_lights_ies-CD6xLsCy.esm.js +84 -0
  7. package/dist/chunks/EXT_lights_ies-CD6xLsCy.esm.js.map +1 -0
  8. package/dist/chunks/EXT_lights_ies-DS9bIHFP.esm.min.js +2 -0
  9. package/dist/chunks/EXT_lights_ies-DS9bIHFP.esm.min.js.map +1 -0
  10. package/dist/chunks/EXT_lights_image_based-BGdZs5mF.esm.js +171 -0
  11. package/dist/chunks/EXT_lights_image_based-BGdZs5mF.esm.js.map +1 -0
  12. package/dist/chunks/EXT_lights_image_based-DJq0NJF1.esm.min.js +2 -0
  13. package/dist/chunks/EXT_lights_image_based-DJq0NJF1.esm.min.js.map +1 -0
  14. package/dist/chunks/EXT_mesh_gpu_instancing-D70tpOB6.esm.js +86 -0
  15. package/dist/chunks/EXT_mesh_gpu_instancing-D70tpOB6.esm.js.map +1 -0
  16. package/dist/chunks/EXT_mesh_gpu_instancing-DcgiYr6J.esm.min.js +2 -0
  17. package/dist/chunks/EXT_mesh_gpu_instancing-DcgiYr6J.esm.min.js.map +1 -0
  18. package/dist/chunks/EXT_meshopt_compression-hkW0_ox-.esm.min.js +2 -0
  19. package/dist/chunks/EXT_meshopt_compression-hkW0_ox-.esm.min.js.map +1 -0
  20. package/dist/chunks/EXT_meshopt_compression-yaTtGxec.esm.js +134 -0
  21. package/dist/chunks/EXT_meshopt_compression-yaTtGxec.esm.js.map +1 -0
  22. package/dist/chunks/EXT_texture_avif-Chwut1VD.esm.min.js +2 -0
  23. package/dist/chunks/EXT_texture_avif-Chwut1VD.esm.min.js.map +1 -0
  24. package/dist/chunks/EXT_texture_avif-CyxmV9wZ.esm.js +44 -0
  25. package/dist/chunks/EXT_texture_avif-CyxmV9wZ.esm.js.map +1 -0
  26. package/dist/chunks/EXT_texture_webp-C8kKXzMe.esm.min.js +2 -0
  27. package/dist/chunks/EXT_texture_webp-C8kKXzMe.esm.min.js.map +1 -0
  28. package/dist/chunks/EXT_texture_webp-C9fxnRq1.esm.js +43 -0
  29. package/dist/chunks/EXT_texture_webp-C9fxnRq1.esm.js.map +1 -0
  30. package/dist/chunks/ExtrasAsMetadata-B6-h7vlD.esm.min.js +2 -0
  31. package/dist/chunks/ExtrasAsMetadata-B6-h7vlD.esm.min.js.map +1 -0
  32. package/dist/chunks/ExtrasAsMetadata-sw0sAaoo.esm.js +64 -0
  33. package/dist/chunks/ExtrasAsMetadata-sw0sAaoo.esm.js.map +1 -0
  34. package/dist/chunks/KHR_animation_pointer-CP7-gocW.esm.min.js +2 -0
  35. package/dist/chunks/KHR_animation_pointer-CP7-gocW.esm.min.js.map +1 -0
  36. package/dist/chunks/KHR_animation_pointer-lrzgXMw2.esm.js +352 -0
  37. package/dist/chunks/KHR_animation_pointer-lrzgXMw2.esm.js.map +1 -0
  38. package/dist/chunks/KHR_draco_mesh_compression-6ejAggyS.esm.js +610 -0
  39. package/dist/chunks/KHR_draco_mesh_compression-6ejAggyS.esm.js.map +1 -0
  40. package/dist/chunks/KHR_draco_mesh_compression-BaG0uIFE.esm.min.js +2 -0
  41. package/dist/chunks/KHR_draco_mesh_compression-BaG0uIFE.esm.min.js.map +1 -0
  42. package/dist/chunks/KHR_interactivity-BCSmv9s-.esm.js +4033 -0
  43. package/dist/chunks/KHR_interactivity-BCSmv9s-.esm.js.map +1 -0
  44. package/dist/chunks/KHR_interactivity-BwG2kMjm.esm.min.js +2 -0
  45. package/dist/chunks/KHR_interactivity-BwG2kMjm.esm.min.js.map +1 -0
  46. package/dist/chunks/KHR_lights_punctual-BmAkLiea.esm.js +581 -0
  47. package/dist/chunks/KHR_lights_punctual-BmAkLiea.esm.js.map +1 -0
  48. package/dist/chunks/KHR_lights_punctual-D1dtMznV.esm.min.js +2 -0
  49. package/dist/chunks/KHR_lights_punctual-D1dtMznV.esm.min.js.map +1 -0
  50. package/dist/chunks/KHR_materials_anisotropy-CRJDUZsx.esm.js +65 -0
  51. package/dist/chunks/KHR_materials_anisotropy-CRJDUZsx.esm.js.map +1 -0
  52. package/dist/chunks/KHR_materials_anisotropy-Dp1pJfRB.esm.min.js +2 -0
  53. package/dist/chunks/KHR_materials_anisotropy-Dp1pJfRB.esm.min.js.map +1 -0
  54. package/dist/chunks/KHR_materials_clearcoat-BD3XLdt2.esm.min.js +2 -0
  55. package/dist/chunks/KHR_materials_clearcoat-BD3XLdt2.esm.min.js.map +1 -0
  56. package/dist/chunks/KHR_materials_clearcoat-DJKj9xQP.esm.js +96 -0
  57. package/dist/chunks/KHR_materials_clearcoat-DJKj9xQP.esm.js.map +1 -0
  58. package/dist/chunks/KHR_materials_diffuse_transmission-BYYyEZrB.esm.js +97 -0
  59. package/dist/chunks/KHR_materials_diffuse_transmission-BYYyEZrB.esm.js.map +1 -0
  60. package/dist/chunks/KHR_materials_diffuse_transmission-DhA5fNkp.esm.min.js +2 -0
  61. package/dist/chunks/KHR_materials_diffuse_transmission-DhA5fNkp.esm.min.js.map +1 -0
  62. package/dist/chunks/KHR_materials_dispersion-CDCigqMd.esm.js +62 -0
  63. package/dist/chunks/KHR_materials_dispersion-CDCigqMd.esm.js.map +1 -0
  64. package/dist/chunks/KHR_materials_dispersion-CzJ-kzY0.esm.min.js +2 -0
  65. package/dist/chunks/KHR_materials_dispersion-CzJ-kzY0.esm.min.js.map +1 -0
  66. package/dist/chunks/KHR_materials_emissive_strength-C727hCIO.esm.js +55 -0
  67. package/dist/chunks/KHR_materials_emissive_strength-C727hCIO.esm.js.map +1 -0
  68. package/dist/chunks/KHR_materials_emissive_strength-DHmw-T7v.esm.min.js +2 -0
  69. package/dist/chunks/KHR_materials_emissive_strength-DHmw-T7v.esm.min.js.map +1 -0
  70. package/dist/chunks/KHR_materials_ior-CUkwwamZ.esm.min.js +2 -0
  71. package/dist/chunks/KHR_materials_ior-CUkwwamZ.esm.min.js.map +1 -0
  72. package/dist/chunks/KHR_materials_ior-arU1qfpr.esm.js +64 -0
  73. package/dist/chunks/KHR_materials_ior-arU1qfpr.esm.js.map +1 -0
  74. package/dist/chunks/KHR_materials_iridescence-BDFcEA9b.esm.js +72 -0
  75. package/dist/chunks/KHR_materials_iridescence-BDFcEA9b.esm.js.map +1 -0
  76. package/dist/chunks/KHR_materials_iridescence-Dv1MtidF.esm.min.js +2 -0
  77. package/dist/chunks/KHR_materials_iridescence-Dv1MtidF.esm.min.js.map +1 -0
  78. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-IoDqngfZ.esm.js +81 -0
  79. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-IoDqngfZ.esm.js.map +1 -0
  80. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-r32OVvwD.esm.min.js +2 -0
  81. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-r32OVvwD.esm.min.js.map +1 -0
  82. package/dist/chunks/KHR_materials_sheen-BBwukNo5.esm.js +85 -0
  83. package/dist/chunks/KHR_materials_sheen-BBwukNo5.esm.js.map +1 -0
  84. package/dist/chunks/KHR_materials_sheen-upfKannz.esm.min.js +2 -0
  85. package/dist/chunks/KHR_materials_sheen-upfKannz.esm.min.js.map +1 -0
  86. package/dist/chunks/KHR_materials_specular-CLFluGSg.esm.min.js +2 -0
  87. package/dist/chunks/KHR_materials_specular-CLFluGSg.esm.min.js.map +1 -0
  88. package/dist/chunks/KHR_materials_specular-CRQL_z4b.esm.js +75 -0
  89. package/dist/chunks/KHR_materials_specular-CRQL_z4b.esm.js.map +1 -0
  90. package/dist/chunks/KHR_materials_transmission-6oV0DB3N.esm.min.js +2 -0
  91. package/dist/chunks/KHR_materials_transmission-6oV0DB3N.esm.min.js.map +1 -0
  92. package/dist/chunks/KHR_materials_transmission-x9Lwa871.esm.js +307 -0
  93. package/dist/chunks/KHR_materials_transmission-x9Lwa871.esm.js.map +1 -0
  94. package/dist/chunks/KHR_materials_unlit-B_foF8Lt.esm.min.js +2 -0
  95. package/dist/chunks/KHR_materials_unlit-B_foF8Lt.esm.min.js.map +1 -0
  96. package/dist/chunks/KHR_materials_unlit-CDGuKJjb.esm.js +74 -0
  97. package/dist/chunks/KHR_materials_unlit-CDGuKJjb.esm.js.map +1 -0
  98. package/dist/chunks/KHR_materials_variants-DANx-_Mx.esm.js +262 -0
  99. package/dist/chunks/KHR_materials_variants-DANx-_Mx.esm.js.map +1 -0
  100. package/dist/chunks/KHR_materials_variants-DL4EGGiE.esm.min.js +2 -0
  101. package/dist/chunks/KHR_materials_variants-DL4EGGiE.esm.min.js.map +1 -0
  102. package/dist/chunks/KHR_materials_volume-Dlquu8Y2.esm.js +87 -0
  103. package/dist/chunks/KHR_materials_volume-Dlquu8Y2.esm.js.map +1 -0
  104. package/dist/chunks/KHR_materials_volume-LVeMDkB_.esm.min.js +2 -0
  105. package/dist/chunks/KHR_materials_volume-LVeMDkB_.esm.min.js.map +1 -0
  106. package/dist/chunks/KHR_mesh_quantization-C1w2vzgz.esm.js +26 -0
  107. package/dist/chunks/KHR_mesh_quantization-C1w2vzgz.esm.js.map +1 -0
  108. package/dist/chunks/KHR_mesh_quantization-DfOGHc4g.esm.min.js +2 -0
  109. package/dist/chunks/KHR_mesh_quantization-DfOGHc4g.esm.min.js.map +1 -0
  110. package/dist/chunks/KHR_node_hoverability-BxU_AIs6.esm.min.js +2 -0
  111. package/dist/chunks/KHR_node_hoverability-BxU_AIs6.esm.min.js.map +1 -0
  112. package/dist/chunks/KHR_node_hoverability-DODhQaXP.esm.js +39 -0
  113. package/dist/chunks/KHR_node_hoverability-DODhQaXP.esm.js.map +1 -0
  114. package/dist/chunks/KHR_node_visibility-3haIZvsb.esm.js +46 -0
  115. package/dist/chunks/KHR_node_visibility-3haIZvsb.esm.js.map +1 -0
  116. package/dist/chunks/KHR_node_visibility-DDRTTQ-U.esm.min.js +2 -0
  117. package/dist/chunks/KHR_node_visibility-DDRTTQ-U.esm.min.js.map +1 -0
  118. package/dist/chunks/KHR_texture_basisu-CEPiCdOn.esm.min.js +2 -0
  119. package/dist/chunks/KHR_texture_basisu-CEPiCdOn.esm.min.js.map +1 -0
  120. package/dist/chunks/KHR_texture_basisu-gXsppVcQ.esm.js +43 -0
  121. package/dist/chunks/KHR_texture_basisu-gXsppVcQ.esm.js.map +1 -0
  122. package/dist/chunks/KHR_texture_transform-Bjux7yCy.esm.js +63 -0
  123. package/dist/chunks/KHR_texture_transform-Bjux7yCy.esm.js.map +1 -0
  124. package/dist/chunks/KHR_texture_transform-_PXwFDP8.esm.min.js +2 -0
  125. package/dist/chunks/KHR_texture_transform-_PXwFDP8.esm.min.js.map +1 -0
  126. package/dist/chunks/KHR_xmp_json_ld-DpaeEUGt.esm.min.js +2 -0
  127. package/dist/chunks/KHR_xmp_json_ld-DpaeEUGt.esm.min.js.map +1 -0
  128. package/dist/chunks/KHR_xmp_json_ld-DyzNphyu.esm.js +51 -0
  129. package/dist/chunks/KHR_xmp_json_ld-DyzNphyu.esm.js.map +1 -0
  130. package/dist/chunks/MSFT_audio_emitter-BGoxaF5U.esm.min.js +2 -0
  131. package/dist/chunks/MSFT_audio_emitter-BGoxaF5U.esm.min.js.map +1 -0
  132. package/dist/chunks/MSFT_audio_emitter-DEE5n41V.esm.js +2207 -0
  133. package/dist/chunks/MSFT_audio_emitter-DEE5n41V.esm.js.map +1 -0
  134. package/dist/chunks/MSFT_lod-D-_-eQHW.esm.js +337 -0
  135. package/dist/chunks/MSFT_lod-D-_-eQHW.esm.js.map +1 -0
  136. package/dist/chunks/MSFT_lod-XoRI0gWX.esm.min.js +2 -0
  137. package/dist/chunks/MSFT_lod-XoRI0gWX.esm.min.js.map +1 -0
  138. package/dist/chunks/MSFT_minecraftMesh-DO_tijSD.esm.js +46 -0
  139. package/dist/chunks/MSFT_minecraftMesh-DO_tijSD.esm.js.map +1 -0
  140. package/dist/chunks/MSFT_minecraftMesh-_iQvjiZi.esm.min.js +2 -0
  141. package/dist/chunks/MSFT_minecraftMesh-_iQvjiZi.esm.min.js.map +1 -0
  142. package/dist/chunks/MSFT_sRGBFactors-BLHF-pts.esm.js +47 -0
  143. package/dist/chunks/MSFT_sRGBFactors-BLHF-pts.esm.js.map +1 -0
  144. package/dist/chunks/MSFT_sRGBFactors-BTokzGgG.esm.min.js +2 -0
  145. package/dist/chunks/MSFT_sRGBFactors-BTokzGgG.esm.min.js.map +1 -0
  146. package/dist/chunks/animationGroup-BPxpoNna.esm.js +2482 -0
  147. package/dist/chunks/animationGroup-BPxpoNna.esm.js.map +1 -0
  148. package/dist/chunks/animationGroup-TpjYesJi.esm.min.js +2 -0
  149. package/dist/chunks/animationGroup-TpjYesJi.esm.min.js.map +1 -0
  150. package/dist/chunks/assetContainer-C11e8jK9.esm.js +1720 -0
  151. package/dist/chunks/assetContainer-C11e8jK9.esm.js.map +1 -0
  152. package/dist/chunks/assetContainer-DN0guS4J.esm.min.js +2 -0
  153. package/dist/chunks/assetContainer-DN0guS4J.esm.min.js.map +1 -0
  154. package/dist/chunks/audioEngine-BPCDLqX1.esm.js +305 -0
  155. package/dist/chunks/audioEngine-BPCDLqX1.esm.js.map +1 -0
  156. package/dist/chunks/audioEngine-jDnUlloH.esm.min.js +2 -0
  157. package/dist/chunks/audioEngine-jDnUlloH.esm.min.js.map +1 -0
  158. package/dist/chunks/bakedVertexAnimation-Cz6yjm9Z.esm.js +114 -0
  159. package/dist/chunks/bakedVertexAnimation-Cz6yjm9Z.esm.js.map +1 -0
  160. package/dist/chunks/bakedVertexAnimation-QOLg75eL.esm.min.js +2 -0
  161. package/dist/chunks/bakedVertexAnimation-QOLg75eL.esm.min.js.map +1 -0
  162. package/dist/chunks/basisTextureLoader-BoGBC9bq.esm.js +600 -0
  163. package/dist/chunks/basisTextureLoader-BoGBC9bq.esm.js.map +1 -0
  164. package/dist/chunks/basisTextureLoader-D6orCmzb.esm.min.js +2 -0
  165. package/dist/chunks/basisTextureLoader-D6orCmzb.esm.min.js.map +1 -0
  166. package/dist/chunks/dds-DPGLfLtA.esm.js +540 -0
  167. package/dist/chunks/dds-DPGLfLtA.esm.js.map +1 -0
  168. package/dist/chunks/dds-ty-4gLsX.esm.min.js +2 -0
  169. package/dist/chunks/dds-ty-4gLsX.esm.min.js.map +1 -0
  170. package/dist/chunks/ddsTextureLoader-BCk_i6Vj.esm.min.js +2 -0
  171. package/dist/chunks/ddsTextureLoader-BCk_i6Vj.esm.min.js.map +1 -0
  172. package/dist/chunks/ddsTextureLoader-DVbQnnL_.esm.js +88 -0
  173. package/dist/chunks/ddsTextureLoader-DVbQnnL_.esm.js.map +1 -0
  174. package/dist/chunks/decalFragment-BiywWcVN.esm.js +18 -0
  175. package/dist/chunks/decalFragment-BiywWcVN.esm.js.map +1 -0
  176. package/dist/chunks/decalFragment-D06mgECc.esm.min.js +2 -0
  177. package/dist/chunks/decalFragment-D06mgECc.esm.min.js.map +1 -0
  178. package/dist/chunks/default.fragment-B_HQTa4-.esm.min.js +2 -0
  179. package/dist/chunks/default.fragment-B_HQTa4-.esm.min.js.map +1 -0
  180. package/dist/chunks/default.fragment-BiTyj-JR.esm.min.js +2 -0
  181. package/dist/chunks/default.fragment-BiTyj-JR.esm.min.js.map +1 -0
  182. package/dist/chunks/default.fragment-DPPypY0M.esm.js +515 -0
  183. package/dist/chunks/default.fragment-DPPypY0M.esm.js.map +1 -0
  184. package/dist/chunks/default.fragment-Yh18209a.esm.js +446 -0
  185. package/dist/chunks/default.fragment-Yh18209a.esm.js.map +1 -0
  186. package/dist/chunks/default.vertex-BGoXgJxH.esm.min.js +2 -0
  187. package/dist/chunks/default.vertex-BGoXgJxH.esm.min.js.map +1 -0
  188. package/dist/chunks/default.vertex-CHD4PKUY.esm.min.js +2 -0
  189. package/dist/chunks/default.vertex-CHD4PKUY.esm.min.js.map +1 -0
  190. package/dist/chunks/default.vertex-L7AngZxY.esm.js +211 -0
  191. package/dist/chunks/default.vertex-L7AngZxY.esm.js.map +1 -0
  192. package/dist/chunks/default.vertex-bWGrH88y.esm.js +190 -0
  193. package/dist/chunks/default.vertex-bWGrH88y.esm.js.map +1 -0
  194. package/dist/chunks/defaultUboDeclaration-C1wAUiUE.esm.js +15 -0
  195. package/dist/chunks/defaultUboDeclaration-C1wAUiUE.esm.js.map +1 -0
  196. package/dist/chunks/defaultUboDeclaration-Cui4ai4R.esm.min.js +2 -0
  197. package/dist/chunks/defaultUboDeclaration-Cui4ai4R.esm.min.js.map +1 -0
  198. package/dist/chunks/defaultUboDeclaration-DQrGGmYB.esm.min.js +2 -0
  199. package/dist/chunks/defaultUboDeclaration-DQrGGmYB.esm.min.js.map +1 -0
  200. package/dist/chunks/defaultUboDeclaration-DwKq3ipu.esm.js +13 -0
  201. package/dist/chunks/defaultUboDeclaration-DwKq3ipu.esm.js.map +1 -0
  202. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +11 -0
  203. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +1 -0
  204. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +2 -0
  205. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +1 -0
  206. package/dist/chunks/dumpTools-CK6KW8rD.esm.js +200 -0
  207. package/dist/chunks/dumpTools-CK6KW8rD.esm.js.map +1 -0
  208. package/dist/chunks/dumpTools-DtuBR0TB.esm.min.js +2 -0
  209. package/dist/chunks/dumpTools-DtuBR0TB.esm.min.js.map +1 -0
  210. package/dist/chunks/engine-CjwHJJ_I.esm.js +2216 -0
  211. package/dist/chunks/engine-CjwHJJ_I.esm.js.map +1 -0
  212. package/dist/chunks/engine-DDdcZyBr.esm.min.js +2 -0
  213. package/dist/chunks/engine-DDdcZyBr.esm.min.js.map +1 -0
  214. package/dist/chunks/engine.common-9BWDtT2M.esm.js +1162 -0
  215. package/dist/chunks/engine.common-9BWDtT2M.esm.js.map +1 -0
  216. package/dist/chunks/engine.common-B3oiG-PJ.esm.min.js +2 -0
  217. package/dist/chunks/engine.common-B3oiG-PJ.esm.min.js.map +1 -0
  218. package/dist/chunks/envTextureLoader-B2kcZ0TS.esm.js +64 -0
  219. package/dist/chunks/envTextureLoader-B2kcZ0TS.esm.js.map +1 -0
  220. package/dist/chunks/envTextureLoader-BJ0RU-N0.esm.min.js +2 -0
  221. package/dist/chunks/envTextureLoader-BJ0RU-N0.esm.min.js.map +1 -0
  222. package/dist/chunks/environmentTextureTools-BDDKxUKH.esm.js +382 -0
  223. package/dist/chunks/environmentTextureTools-BDDKxUKH.esm.js.map +1 -0
  224. package/dist/chunks/environmentTextureTools-BuVOE0iE.esm.min.js +2 -0
  225. package/dist/chunks/environmentTextureTools-BuVOE0iE.esm.min.js.map +1 -0
  226. package/dist/chunks/exrTextureLoader-ByEbgBJq.esm.min.js +2 -0
  227. package/dist/chunks/exrTextureLoader-ByEbgBJq.esm.min.js.map +1 -0
  228. package/dist/chunks/exrTextureLoader-CVJEgA3V.esm.js +1683 -0
  229. package/dist/chunks/exrTextureLoader-CVJEgA3V.esm.js.map +1 -0
  230. package/dist/chunks/fogFragment-BCI6G-ZP.esm.min.js +2 -0
  231. package/dist/chunks/fogFragment-BCI6G-ZP.esm.min.js.map +1 -0
  232. package/dist/chunks/fogFragment-DWRmb1tG.esm.min.js +2 -0
  233. package/dist/chunks/fogFragment-DWRmb1tG.esm.min.js.map +1 -0
  234. package/dist/chunks/fogFragment-Dmcif2rs.esm.js +102 -0
  235. package/dist/chunks/fogFragment-Dmcif2rs.esm.js.map +1 -0
  236. package/dist/chunks/fogFragment-K4UslW3k.esm.js +101 -0
  237. package/dist/chunks/fogFragment-K4UslW3k.esm.js.map +1 -0
  238. package/dist/chunks/fresnelFunction-Byr-DptL.esm.js +12 -0
  239. package/dist/chunks/fresnelFunction-Byr-DptL.esm.js.map +1 -0
  240. package/dist/chunks/fresnelFunction-nqy6Uoot.esm.min.js +2 -0
  241. package/dist/chunks/fresnelFunction-nqy6Uoot.esm.min.js.map +1 -0
  242. package/dist/chunks/glTFLoader-BNHy6PGg.esm.min.js +2 -0
  243. package/dist/chunks/glTFLoader-BNHy6PGg.esm.min.js.map +1 -0
  244. package/dist/chunks/glTFLoader-Bt4XTOHj.esm.js +7658 -0
  245. package/dist/chunks/glTFLoader-Bt4XTOHj.esm.js.map +1 -0
  246. package/dist/chunks/glTFLoaderAnimation-C7bRnMuQ.esm.min.js +2 -0
  247. package/dist/chunks/glTFLoaderAnimation-C7bRnMuQ.esm.min.js.map +1 -0
  248. package/dist/chunks/glTFLoaderAnimation-wzgl1G3Q.esm.js +77 -0
  249. package/dist/chunks/glTFLoaderAnimation-wzgl1G3Q.esm.js.map +1 -0
  250. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +2 -0
  251. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +1 -0
  252. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +67 -0
  253. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +1 -0
  254. package/dist/chunks/harmonicsFunctions-CJK-zUAx.esm.min.js +2 -0
  255. package/dist/chunks/harmonicsFunctions-CJK-zUAx.esm.min.js.map +1 -0
  256. package/dist/chunks/harmonicsFunctions-Cc4Kn69U.esm.js +35 -0
  257. package/dist/chunks/harmonicsFunctions-Cc4Kn69U.esm.js.map +1 -0
  258. package/dist/chunks/harmonicsFunctions-D_T4jAii.esm.min.js +2 -0
  259. package/dist/chunks/harmonicsFunctions-D_T4jAii.esm.min.js.map +1 -0
  260. package/dist/chunks/harmonicsFunctions-KLqvdh60.esm.js +34 -0
  261. package/dist/chunks/harmonicsFunctions-KLqvdh60.esm.js.map +1 -0
  262. package/dist/chunks/hdrTextureLoader-C6Df--L1.esm.js +253 -0
  263. package/dist/chunks/hdrTextureLoader-C6Df--L1.esm.js.map +1 -0
  264. package/dist/chunks/hdrTextureLoader-CsfShnoX.esm.min.js +2 -0
  265. package/dist/chunks/hdrTextureLoader-CsfShnoX.esm.min.js.map +1 -0
  266. package/dist/chunks/helperFunctions-DDGAItWp.esm.js +80 -0
  267. package/dist/chunks/helperFunctions-DDGAItWp.esm.js.map +1 -0
  268. package/dist/chunks/helperFunctions-DR_I6MXm.esm.min.js +2 -0
  269. package/dist/chunks/helperFunctions-DR_I6MXm.esm.min.js.map +1 -0
  270. package/dist/chunks/helperFunctions-DciHbMbJ.esm.min.js +2 -0
  271. package/dist/chunks/helperFunctions-DciHbMbJ.esm.min.js.map +1 -0
  272. package/dist/chunks/helperFunctions-Dp1Kzl1o.esm.js +108 -0
  273. package/dist/chunks/helperFunctions-Dp1Kzl1o.esm.js.map +1 -0
  274. package/dist/chunks/iesTextureLoader-6OJu6Vq2.esm.min.js +2 -0
  275. package/dist/chunks/iesTextureLoader-6OJu6Vq2.esm.min.js.map +1 -0
  276. package/dist/chunks/iesTextureLoader-Bm570oWa.esm.js +189 -0
  277. package/dist/chunks/iesTextureLoader-Bm570oWa.esm.js.map +1 -0
  278. package/dist/chunks/index-B6sqDOGz.esm.js +74825 -0
  279. package/dist/chunks/index-B6sqDOGz.esm.js.map +1 -0
  280. package/dist/chunks/index-D3BVnHHq.esm.min.js +57 -0
  281. package/dist/chunks/index-D3BVnHHq.esm.min.js.map +1 -0
  282. package/dist/chunks/ktxTextureLoader-Bqe5q1rf.esm.js +814 -0
  283. package/dist/chunks/ktxTextureLoader-Bqe5q1rf.esm.js.map +1 -0
  284. package/dist/chunks/ktxTextureLoader-CYGltN4N.esm.min.js +2 -0
  285. package/dist/chunks/ktxTextureLoader-CYGltN4N.esm.min.js.map +1 -0
  286. package/dist/chunks/logDepthDeclaration-5ljdm3vC.esm.min.js +2 -0
  287. package/dist/chunks/logDepthDeclaration-5ljdm3vC.esm.min.js.map +1 -0
  288. package/dist/chunks/logDepthDeclaration-BAi1U8tp.esm.js +35 -0
  289. package/dist/chunks/logDepthDeclaration-BAi1U8tp.esm.js.map +1 -0
  290. package/dist/chunks/logDepthDeclaration-BhyTMFMU.esm.js +11 -0
  291. package/dist/chunks/logDepthDeclaration-BhyTMFMU.esm.js.map +1 -0
  292. package/dist/chunks/logDepthDeclaration-TpKbhGMf.esm.min.js +2 -0
  293. package/dist/chunks/logDepthDeclaration-TpKbhGMf.esm.min.js.map +1 -0
  294. package/dist/chunks/logDepthVertex-CAe41JFY.esm.js +77 -0
  295. package/dist/chunks/logDepthVertex-CAe41JFY.esm.js.map +1 -0
  296. package/dist/chunks/logDepthVertex-DSb3D1Hm.esm.js +81 -0
  297. package/dist/chunks/logDepthVertex-DSb3D1Hm.esm.js.map +1 -0
  298. package/dist/chunks/logDepthVertex-I7P1jvLX.esm.min.js +2 -0
  299. package/dist/chunks/logDepthVertex-I7P1jvLX.esm.min.js.map +1 -0
  300. package/dist/chunks/logDepthVertex-JJkSRL9W.esm.min.js +2 -0
  301. package/dist/chunks/logDepthVertex-JJkSRL9W.esm.min.js.map +1 -0
  302. package/dist/chunks/mainUVVaryingDeclaration-BOsqkSBn.esm.js +11 -0
  303. package/dist/chunks/mainUVVaryingDeclaration-BOsqkSBn.esm.js.map +1 -0
  304. package/dist/chunks/mainUVVaryingDeclaration-CInC18r7.esm.js +11 -0
  305. package/dist/chunks/mainUVVaryingDeclaration-CInC18r7.esm.js.map +1 -0
  306. package/dist/chunks/mainUVVaryingDeclaration-CS3E9EgB.esm.min.js +2 -0
  307. package/dist/chunks/mainUVVaryingDeclaration-CS3E9EgB.esm.min.js.map +1 -0
  308. package/dist/chunks/mainUVVaryingDeclaration-ChM_7YDH.esm.min.js +2 -0
  309. package/dist/chunks/mainUVVaryingDeclaration-ChM_7YDH.esm.min.js.map +1 -0
  310. package/dist/chunks/meshUboDeclaration-BJzygYVf.esm.min.js +2 -0
  311. package/dist/chunks/meshUboDeclaration-BJzygYVf.esm.min.js.map +1 -0
  312. package/dist/chunks/meshUboDeclaration-DM7Knmm0.esm.js +26 -0
  313. package/dist/chunks/meshUboDeclaration-DM7Knmm0.esm.js.map +1 -0
  314. package/dist/chunks/objFileLoader-DXh6dEqA.esm.min.js +2 -0
  315. package/dist/chunks/objFileLoader-DXh6dEqA.esm.min.js.map +1 -0
  316. package/dist/chunks/objFileLoader-DzxFwUIY.esm.js +1338 -0
  317. package/dist/chunks/objFileLoader-DzxFwUIY.esm.js.map +1 -0
  318. package/dist/chunks/oitFragment-C2V-9s6u.esm.min.js +2 -0
  319. package/dist/chunks/oitFragment-C2V-9s6u.esm.min.js.map +1 -0
  320. package/dist/chunks/oitFragment-DOPwpc5v.esm.js +1240 -0
  321. package/dist/chunks/oitFragment-DOPwpc5v.esm.js.map +1 -0
  322. package/dist/chunks/oitFragment-kS5s81PF.esm.min.js +2 -0
  323. package/dist/chunks/oitFragment-kS5s81PF.esm.min.js.map +1 -0
  324. package/dist/chunks/oitFragment-yAzK8PUt.esm.js +1078 -0
  325. package/dist/chunks/oitFragment-yAzK8PUt.esm.js.map +1 -0
  326. package/dist/chunks/pass.fragment-5ocLOmrf.esm.js +15 -0
  327. package/dist/chunks/pass.fragment-5ocLOmrf.esm.js.map +1 -0
  328. package/dist/chunks/pass.fragment-BN-f4kEG.esm.js +15 -0
  329. package/dist/chunks/pass.fragment-BN-f4kEG.esm.js.map +1 -0
  330. package/dist/chunks/pass.fragment-CE2yo34Z.esm.min.js +2 -0
  331. package/dist/chunks/pass.fragment-CE2yo34Z.esm.min.js.map +1 -0
  332. package/dist/chunks/pass.fragment-O74A4S0m.esm.min.js +2 -0
  333. package/dist/chunks/pass.fragment-O74A4S0m.esm.min.js.map +1 -0
  334. package/dist/chunks/pbr.fragment-AC22HTP0.esm.js +3273 -0
  335. package/dist/chunks/pbr.fragment-AC22HTP0.esm.js.map +1 -0
  336. package/dist/chunks/pbr.fragment-BsRPu6hA.esm.min.js +2 -0
  337. package/dist/chunks/pbr.fragment-BsRPu6hA.esm.min.js.map +1 -0
  338. package/dist/chunks/pbr.fragment-Dxb2AuuM.esm.js +3232 -0
  339. package/dist/chunks/pbr.fragment-Dxb2AuuM.esm.js.map +1 -0
  340. package/dist/chunks/pbr.fragment-Jz2EDvVc.esm.min.js +2 -0
  341. package/dist/chunks/pbr.fragment-Jz2EDvVc.esm.min.js.map +1 -0
  342. package/dist/chunks/pbr.vertex-BkRM-a3D.esm.min.js +2 -0
  343. package/dist/chunks/pbr.vertex-BkRM-a3D.esm.min.js.map +1 -0
  344. package/dist/chunks/pbr.vertex-DC-IeqOc.esm.js +348 -0
  345. package/dist/chunks/pbr.vertex-DC-IeqOc.esm.js.map +1 -0
  346. package/dist/chunks/pbr.vertex-DFq751_7.esm.js +223 -0
  347. package/dist/chunks/pbr.vertex-DFq751_7.esm.js.map +1 -0
  348. package/dist/chunks/pbr.vertex-NaenLCtj.esm.min.js +2 -0
  349. package/dist/chunks/pbr.vertex-NaenLCtj.esm.min.js.map +1 -0
  350. package/dist/chunks/postprocess.vertex-CCzNHvuk.esm.js +20 -0
  351. package/dist/chunks/postprocess.vertex-CCzNHvuk.esm.js.map +1 -0
  352. package/dist/chunks/postprocess.vertex-Mo0vpVxw.esm.min.js +2 -0
  353. package/dist/chunks/postprocess.vertex-Mo0vpVxw.esm.min.js.map +1 -0
  354. package/dist/chunks/rawTexture-DsvWY4wf.esm.js +191 -0
  355. package/dist/chunks/rawTexture-DsvWY4wf.esm.js.map +1 -0
  356. package/dist/chunks/rawTexture-Ub3t-s7i.esm.min.js +2 -0
  357. package/dist/chunks/rawTexture-Ub3t-s7i.esm.min.js.map +1 -0
  358. package/dist/chunks/ray-BRtIhzin.esm.min.js +2 -0
  359. package/dist/chunks/ray-BRtIhzin.esm.min.js.map +1 -0
  360. package/dist/chunks/ray-DGNoxqma.esm.js +946 -0
  361. package/dist/chunks/ray-DGNoxqma.esm.js.map +1 -0
  362. package/dist/chunks/rgbdDecode.fragment-CZhZbezW.esm.min.js +2 -0
  363. package/dist/chunks/rgbdDecode.fragment-CZhZbezW.esm.min.js.map +1 -0
  364. package/dist/chunks/rgbdDecode.fragment-CgKBbbD1.esm.js +13 -0
  365. package/dist/chunks/rgbdDecode.fragment-CgKBbbD1.esm.js.map +1 -0
  366. package/dist/chunks/rgbdDecode.fragment-LHNdHf3k.esm.min.js +2 -0
  367. package/dist/chunks/rgbdDecode.fragment-LHNdHf3k.esm.min.js.map +1 -0
  368. package/dist/chunks/rgbdDecode.fragment-fiTenc35.esm.js +13 -0
  369. package/dist/chunks/rgbdDecode.fragment-fiTenc35.esm.js.map +1 -0
  370. package/dist/chunks/rgbdEncode.fragment-9S80Pwpo.esm.min.js +2 -0
  371. package/dist/chunks/rgbdEncode.fragment-9S80Pwpo.esm.min.js.map +1 -0
  372. package/dist/chunks/rgbdEncode.fragment-BqEeZloN.esm.js +13 -0
  373. package/dist/chunks/rgbdEncode.fragment-BqEeZloN.esm.js.map +1 -0
  374. package/dist/chunks/rgbdEncode.fragment-DNHQ71A7.esm.min.js +2 -0
  375. package/dist/chunks/rgbdEncode.fragment-DNHQ71A7.esm.min.js.map +1 -0
  376. package/dist/chunks/rgbdEncode.fragment-Opuv8m2e.esm.js +13 -0
  377. package/dist/chunks/rgbdEncode.fragment-Opuv8m2e.esm.js.map +1 -0
  378. package/dist/chunks/splatFileLoader-ZYsB_KqH.esm.js +3379 -0
  379. package/dist/chunks/splatFileLoader-ZYsB_KqH.esm.js.map +1 -0
  380. package/dist/chunks/splatFileLoader-vkPYxHIT.esm.min.js +2 -0
  381. package/dist/chunks/splatFileLoader-vkPYxHIT.esm.min.js.map +1 -0
  382. package/dist/chunks/spotLight-BlYHhPZ5.esm.js +701 -0
  383. package/dist/chunks/spotLight-BlYHhPZ5.esm.js.map +1 -0
  384. package/dist/chunks/spotLight-CbgIfMbz.esm.min.js +2 -0
  385. package/dist/chunks/spotLight-CbgIfMbz.esm.min.js.map +1 -0
  386. package/dist/chunks/standardMaterial-2SzHzTgX.esm.js +1806 -0
  387. package/dist/chunks/standardMaterial-2SzHzTgX.esm.js.map +1 -0
  388. package/dist/chunks/standardMaterial-BuAbZl_Z.esm.min.js +2 -0
  389. package/dist/chunks/standardMaterial-BuAbZl_Z.esm.min.js.map +1 -0
  390. package/dist/chunks/stlFileLoader-5Kq215Ci.esm.js +238 -0
  391. package/dist/chunks/stlFileLoader-5Kq215Ci.esm.js.map +1 -0
  392. package/dist/chunks/stlFileLoader-wv5ATvZu.esm.min.js +2 -0
  393. package/dist/chunks/stlFileLoader-wv5ATvZu.esm.min.js.map +1 -0
  394. package/dist/chunks/tgaTextureLoader-DWICU4Mc.esm.js +349 -0
  395. package/dist/chunks/tgaTextureLoader-DWICU4Mc.esm.js.map +1 -0
  396. package/dist/chunks/tgaTextureLoader-bJsNfJzG.esm.min.js +2 -0
  397. package/dist/chunks/tgaTextureLoader-bJsNfJzG.esm.min.js.map +1 -0
  398. package/dist/chunks/thinEngine-BeWECwt6.esm.js +3848 -0
  399. package/dist/chunks/thinEngine-BeWECwt6.esm.js.map +1 -0
  400. package/dist/chunks/thinEngine-DFwbHE_G.esm.min.js +2 -0
  401. package/dist/chunks/thinEngine-DFwbHE_G.esm.min.js.map +1 -0
  402. package/dist/chunks/thinInstanceMesh-B1pIcpZJ.esm.min.js +2 -0
  403. package/dist/chunks/thinInstanceMesh-B1pIcpZJ.esm.min.js.map +1 -0
  404. package/dist/chunks/thinInstanceMesh-CwRJpzmW.esm.js +314 -0
  405. package/dist/chunks/thinInstanceMesh-CwRJpzmW.esm.js.map +1 -0
  406. package/dist/chunks/vertexColorMixing-BKr2fbgc.esm.js +531 -0
  407. package/dist/chunks/vertexColorMixing-BKr2fbgc.esm.js.map +1 -0
  408. package/dist/chunks/vertexColorMixing-BygjAnHj.esm.min.js +2 -0
  409. package/dist/chunks/vertexColorMixing-BygjAnHj.esm.min.js.map +1 -0
  410. package/dist/chunks/vertexColorMixing-HfObYyiq.esm.min.js +2 -0
  411. package/dist/chunks/vertexColorMixing-HfObYyiq.esm.min.js.map +1 -0
  412. package/dist/chunks/vertexColorMixing-_UoBUkRQ.esm.js +421 -0
  413. package/dist/chunks/vertexColorMixing-_UoBUkRQ.esm.js.map +1 -0
  414. package/dist/chunks/webgpuEngine-BPO8q4wr.esm.js +11533 -0
  415. package/dist/chunks/webgpuEngine-BPO8q4wr.esm.js.map +1 -0
  416. package/dist/chunks/webgpuEngine-DvdhZwbl.esm.min.js +2 -0
  417. package/dist/chunks/webgpuEngine-DvdhZwbl.esm.min.js.map +1 -0
  418. package/dist/chunks/workerPool-BUOov2K1.esm.js +122 -0
  419. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +1 -0
  420. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +2 -0
  421. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +1 -0
  422. package/lib/index.d.ts +591 -0
  423. package/lib/index.js +2165 -0
  424. package/lib/index.js.map +1 -0
  425. package/package.json +19 -28
  426. package/readme.md +28 -28
  427. package/configuration/configuration.d.ts +0 -107
  428. package/configuration/configuration.js +0 -16
  429. package/configuration/configuration.js.map +0 -1
  430. package/configuration/configurationCompatibility.d.ts +0 -8
  431. package/configuration/configurationCompatibility.js +0 -66
  432. package/configuration/configurationCompatibility.js.map +0 -1
  433. package/configuration/configurationContainer.d.ts +0 -10
  434. package/configuration/configurationContainer.js +0 -10
  435. package/configuration/configurationContainer.js.map +0 -1
  436. package/configuration/globals.d.ts +0 -6
  437. package/configuration/globals.js +0 -18
  438. package/configuration/globals.js.map +0 -1
  439. package/configuration/index.d.ts +0 -2
  440. package/configuration/index.js +0 -4
  441. package/configuration/index.js.map +0 -1
  442. package/configuration/interfaces/cameraConfiguration.d.ts +0 -31
  443. package/configuration/interfaces/cameraConfiguration.js +0 -2
  444. package/configuration/interfaces/cameraConfiguration.js.map +0 -1
  445. package/configuration/interfaces/colorGradingConfiguration.d.ts +0 -81
  446. package/configuration/interfaces/colorGradingConfiguration.js +0 -2
  447. package/configuration/interfaces/colorGradingConfiguration.js.map +0 -1
  448. package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +0 -20
  449. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +0 -2
  450. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +0 -1
  451. package/configuration/interfaces/environmentMapConfiguration.d.ts +0 -22
  452. package/configuration/interfaces/environmentMapConfiguration.js +0 -2
  453. package/configuration/interfaces/environmentMapConfiguration.js.map +0 -1
  454. package/configuration/interfaces/groundConfiguration.d.ts +0 -24
  455. package/configuration/interfaces/groundConfiguration.js +0 -2
  456. package/configuration/interfaces/groundConfiguration.js.map +0 -1
  457. package/configuration/interfaces/imageProcessingConfiguration.d.ts +0 -45
  458. package/configuration/interfaces/imageProcessingConfiguration.js +0 -2
  459. package/configuration/interfaces/imageProcessingConfiguration.js.map +0 -1
  460. package/configuration/interfaces/index.d.ts +0 -15
  461. package/configuration/interfaces/index.js +0 -16
  462. package/configuration/interfaces/index.js.map +0 -1
  463. package/configuration/interfaces/lightConfiguration.d.ts +0 -60
  464. package/configuration/interfaces/lightConfiguration.js +0 -2
  465. package/configuration/interfaces/lightConfiguration.js.map +0 -1
  466. package/configuration/interfaces/modelAnimationConfiguration.d.ts +0 -26
  467. package/configuration/interfaces/modelAnimationConfiguration.js +0 -2
  468. package/configuration/interfaces/modelAnimationConfiguration.js.map +0 -1
  469. package/configuration/interfaces/modelConfiguration.d.ts +0 -65
  470. package/configuration/interfaces/modelConfiguration.js +0 -2
  471. package/configuration/interfaces/modelConfiguration.js.map +0 -1
  472. package/configuration/interfaces/observersConfiguration.d.ts +0 -5
  473. package/configuration/interfaces/observersConfiguration.js +0 -2
  474. package/configuration/interfaces/observersConfiguration.js.map +0 -1
  475. package/configuration/interfaces/sceneConfiguration.d.ts +0 -48
  476. package/configuration/interfaces/sceneConfiguration.js +0 -2
  477. package/configuration/interfaces/sceneConfiguration.js.map +0 -1
  478. package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +0 -23
  479. package/configuration/interfaces/sceneOptimizerConfiguration.js +0 -2
  480. package/configuration/interfaces/sceneOptimizerConfiguration.js.map +0 -1
  481. package/configuration/interfaces/skyboxConfiguration.d.ts +0 -21
  482. package/configuration/interfaces/skyboxConfiguration.js +0 -2
  483. package/configuration/interfaces/skyboxConfiguration.js.map +0 -1
  484. package/configuration/interfaces/templateConfiguration.d.ts +0 -67
  485. package/configuration/interfaces/templateConfiguration.js +0 -2
  486. package/configuration/interfaces/templateConfiguration.js.map +0 -1
  487. package/configuration/interfaces/vrConfiguration.d.ts +0 -16
  488. package/configuration/interfaces/vrConfiguration.js +0 -2
  489. package/configuration/interfaces/vrConfiguration.js.map +0 -1
  490. package/configuration/loader.d.ts +0 -4
  491. package/configuration/loader.js +0 -17
  492. package/configuration/loader.js.map +0 -1
  493. package/configuration/mappers.d.ts +0 -43
  494. package/configuration/mappers.js +0 -193
  495. package/configuration/mappers.js.map +0 -1
  496. package/configuration/renderOnlyLoader.d.ts +0 -33
  497. package/configuration/renderOnlyLoader.js +0 -162
  498. package/configuration/renderOnlyLoader.js.map +0 -1
  499. package/configuration/types/default.d.ts +0 -6
  500. package/configuration/types/default.js +0 -121
  501. package/configuration/types/default.js.map +0 -1
  502. package/configuration/types/environmentMap.d.ts +0 -5
  503. package/configuration/types/environmentMap.js +0 -14
  504. package/configuration/types/environmentMap.js.map +0 -1
  505. package/configuration/types/extended.d.ts +0 -6
  506. package/configuration/types/extended.js +0 -317
  507. package/configuration/types/extended.js.map +0 -1
  508. package/configuration/types/index.d.ts +0 -14
  509. package/configuration/types/index.js +0 -51
  510. package/configuration/types/index.js.map +0 -1
  511. package/configuration/types/minimal.d.ts +0 -6
  512. package/configuration/types/minimal.js +0 -43
  513. package/configuration/types/minimal.js.map +0 -1
  514. package/configuration/types/renderOnlyDefault.d.ts +0 -30
  515. package/configuration/types/renderOnlyDefault.js +0 -31
  516. package/configuration/types/renderOnlyDefault.js.map +0 -1
  517. package/configuration/types/shadowLight.d.ts +0 -9
  518. package/configuration/types/shadowLight.js +0 -64
  519. package/configuration/types/shadowLight.js.map +0 -1
  520. package/helper/index.d.ts +0 -29
  521. package/helper/index.js +0 -66
  522. package/helper/index.js.map +0 -1
  523. package/index.d.ts +0 -30
  524. package/index.js +0 -46
  525. package/index.js.map +0 -1
  526. package/initializer.d.ts +0 -11
  527. package/initializer.js +0 -35
  528. package/initializer.js.map +0 -1
  529. package/interfaces.d.ts +0 -5
  530. package/interfaces.js +0 -7
  531. package/interfaces.js.map +0 -1
  532. package/labs/environmentSerializer.d.ts +0 -126
  533. package/labs/environmentSerializer.js +0 -191
  534. package/labs/environmentSerializer.js.map +0 -1
  535. package/labs/texture.d.ts +0 -183
  536. package/labs/texture.js +0 -351
  537. package/labs/texture.js.map +0 -1
  538. package/labs/viewerLabs.d.ts +0 -51
  539. package/labs/viewerLabs.js +0 -134
  540. package/labs/viewerLabs.js.map +0 -1
  541. package/loader/modelLoader.d.ts +0 -56
  542. package/loader/modelLoader.js +0 -202
  543. package/loader/modelLoader.js.map +0 -1
  544. package/loader/plugins/applyMaterialConfig.d.ts +0 -12
  545. package/loader/plugins/applyMaterialConfig.js +0 -16
  546. package/loader/plugins/applyMaterialConfig.js.map +0 -1
  547. package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +0 -9
  548. package/loader/plugins/extendedMaterialLoaderPlugin.js +0 -16
  549. package/loader/plugins/extendedMaterialLoaderPlugin.js.map +0 -1
  550. package/loader/plugins/index.d.ts +0 -19
  551. package/loader/plugins/index.js +0 -44
  552. package/loader/plugins/index.js.map +0 -1
  553. package/loader/plugins/loaderPlugin.d.ts +0 -24
  554. package/loader/plugins/loaderPlugin.js +0 -2
  555. package/loader/plugins/loaderPlugin.js.map +0 -1
  556. package/loader/plugins/msftLodLoaderPlugin.d.ts +0 -12
  557. package/loader/plugins/msftLodLoaderPlugin.js +0 -21
  558. package/loader/plugins/msftLodLoaderPlugin.js.map +0 -1
  559. package/loader/plugins/telemetryLoaderPlugin.d.ts +0 -12
  560. package/loader/plugins/telemetryLoaderPlugin.js +0 -36
  561. package/loader/plugins/telemetryLoaderPlugin.js.map +0 -1
  562. package/managers/observablesManager.d.ts +0 -66
  563. package/managers/observablesManager.js +0 -35
  564. package/managers/observablesManager.js.map +0 -1
  565. package/managers/sceneManager.d.ts +0 -245
  566. package/managers/sceneManager.js +0 -1375
  567. package/managers/sceneManager.js.map +0 -1
  568. package/managers/telemetryManager.d.ts +0 -78
  569. package/managers/telemetryManager.js +0 -117
  570. package/managers/telemetryManager.js.map +0 -1
  571. package/model/modelAnimation.d.ts +0 -215
  572. package/model/modelAnimation.js +0 -237
  573. package/model/modelAnimation.js.map +0 -1
  574. package/model/viewerModel.d.ts +0 -233
  575. package/model/viewerModel.js +0 -673
  576. package/model/viewerModel.js.map +0 -1
  577. package/optimizer/custom/extended.d.ts +0 -13
  578. package/optimizer/custom/extended.js +0 -101
  579. package/optimizer/custom/extended.js.map +0 -1
  580. package/optimizer/custom/index.d.ts +0 -9
  581. package/optimizer/custom/index.js +0 -26
  582. package/optimizer/custom/index.js.map +0 -1
  583. package/renderOnlyIndex.d.ts +0 -11
  584. package/renderOnlyIndex.js +0 -18
  585. package/renderOnlyIndex.js.map +0 -1
  586. package/templating/eventManager.d.ts +0 -35
  587. package/templating/eventManager.js +0 -66
  588. package/templating/eventManager.js.map +0 -1
  589. package/templating/plugins/hdButtonPlugin.d.ts +0 -9
  590. package/templating/plugins/hdButtonPlugin.js +0 -22
  591. package/templating/plugins/hdButtonPlugin.js.map +0 -1
  592. package/templating/plugins/printButton.d.ts +0 -9
  593. package/templating/plugins/printButton.js +0 -41
  594. package/templating/plugins/printButton.js.map +0 -1
  595. package/templating/templateManager.d.ts +0 -197
  596. package/templating/templateManager.js +0 -561
  597. package/templating/templateManager.js.map +0 -1
  598. package/templating/viewerTemplatePlugin.d.ts +0 -21
  599. package/templating/viewerTemplatePlugin.js +0 -69
  600. package/templating/viewerTemplatePlugin.js.map +0 -1
  601. package/viewer/defaultViewer.d.ts +0 -130
  602. package/viewer/defaultViewer.js +0 -672
  603. package/viewer/defaultViewer.js.map +0 -1
  604. package/viewer/renderOnlyViewer.d.ts +0 -9
  605. package/viewer/renderOnlyViewer.js +0 -46
  606. package/viewer/renderOnlyViewer.js.map +0 -1
  607. package/viewer/viewer.d.ts +0 -258
  608. package/viewer/viewer.js +0 -783
  609. package/viewer/viewer.js.map +0 -1
  610. package/viewer/viewerManager.d.ts +0 -58
  611. package/viewer/viewerManager.js +0 -91
  612. package/viewer/viewerManager.js.map +0 -1
  613. package/viewer/viewerWithTemplate.d.ts +0 -9
  614. package/viewer/viewerWithTemplate.js +0 -20
  615. package/viewer/viewerWithTemplate.js.map +0 -1
@@ -0,0 +1,540 @@
1
+ import { f as FromHalfFloat, a8 as ToHalfFloat, by as Clamp, L as Logger, C as Constants, bF as CubeMapToSphericalPolynomialTools } from './index-B6sqDOGz.esm.js';
2
+
3
+ /* eslint-disable @typescript-eslint/naming-convention */
4
+ // Based on demo done by Brandon Jones - http://media.tojicode.com/webgl-samples/dds.html
5
+ // All values and structures referenced from:
6
+ // http://msdn.microsoft.com/en-us/library/bb943991.aspx/
7
+ const DDS_MAGIC = 0x20534444;
8
+ const //DDSD_CAPS = 0x1,
9
+ //DDSD_HEIGHT = 0x2,
10
+ //DDSD_WIDTH = 0x4,
11
+ //DDSD_PITCH = 0x8,
12
+ //DDSD_PIXELFORMAT = 0x1000,
13
+ DDSD_MIPMAPCOUNT = 0x20000;
14
+ //DDSD_LINEARSIZE = 0x80000,
15
+ //DDSD_DEPTH = 0x800000;
16
+ // var DDSCAPS_COMPLEX = 0x8,
17
+ // DDSCAPS_MIPMAP = 0x400000,
18
+ // DDSCAPS_TEXTURE = 0x1000;
19
+ const DDSCAPS2_CUBEMAP = 0x200;
20
+ // DDSCAPS2_CUBEMAP_POSITIVEX = 0x400,
21
+ // DDSCAPS2_CUBEMAP_NEGATIVEX = 0x800,
22
+ // DDSCAPS2_CUBEMAP_POSITIVEY = 0x1000,
23
+ // DDSCAPS2_CUBEMAP_NEGATIVEY = 0x2000,
24
+ // DDSCAPS2_CUBEMAP_POSITIVEZ = 0x4000,
25
+ // DDSCAPS2_CUBEMAP_NEGATIVEZ = 0x8000,
26
+ // DDSCAPS2_VOLUME = 0x200000;
27
+ const //DDPF_ALPHAPIXELS = 0x1,
28
+ //DDPF_ALPHA = 0x2,
29
+ DDPF_FOURCC = 0x4, DDPF_RGB = 0x40,
30
+ //DDPF_YUV = 0x200,
31
+ DDPF_LUMINANCE = 0x20000;
32
+ function FourCCToInt32(value) {
33
+ return value.charCodeAt(0) + (value.charCodeAt(1) << 8) + (value.charCodeAt(2) << 16) + (value.charCodeAt(3) << 24);
34
+ }
35
+ function Int32ToFourCC(value) {
36
+ return String.fromCharCode(value & 0xff, (value >> 8) & 0xff, (value >> 16) & 0xff, (value >> 24) & 0xff);
37
+ }
38
+ const FOURCC_DXT1 = FourCCToInt32("DXT1");
39
+ const FOURCC_DXT3 = FourCCToInt32("DXT3");
40
+ const FOURCC_DXT5 = FourCCToInt32("DXT5");
41
+ const FOURCC_DX10 = FourCCToInt32("DX10");
42
+ const FOURCC_D3DFMT_R16G16B16A16F = 113;
43
+ const FOURCC_D3DFMT_R32G32B32A32F = 116;
44
+ const DXGI_FORMAT_R32G32B32A32_FLOAT = 2;
45
+ const DXGI_FORMAT_R16G16B16A16_FLOAT = 10;
46
+ const DXGI_FORMAT_B8G8R8X8_UNORM = 88;
47
+ const headerLengthInt = 31; // The header length in 32 bit ints
48
+ // Offsets into the header array
49
+ const off_magic = 0;
50
+ const off_size = 1;
51
+ const off_flags = 2;
52
+ const off_height = 3;
53
+ const off_width = 4;
54
+ const off_mipmapCount = 7;
55
+ const off_pfFlags = 20;
56
+ const off_pfFourCC = 21;
57
+ const off_RGBbpp = 22;
58
+ const off_RMask = 23;
59
+ const off_GMask = 24;
60
+ const off_BMask = 25;
61
+ const off_AMask = 26;
62
+ // var off_caps1 = 27;
63
+ const off_caps2 = 28;
64
+ // var off_caps3 = 29;
65
+ // var off_caps4 = 30;
66
+ const off_dxgiFormat = 32;
67
+ /**
68
+ * Class used to provide DDS decompression tools
69
+ */
70
+ class DDSTools {
71
+ /**
72
+ * Gets DDS information from an array buffer
73
+ * @param data defines the array buffer view to read data from
74
+ * @returns the DDS information
75
+ */
76
+ static GetDDSInfo(data) {
77
+ const header = new Int32Array(data.buffer, data.byteOffset, headerLengthInt);
78
+ const extendedHeader = new Int32Array(data.buffer, data.byteOffset, headerLengthInt + 4);
79
+ let mipmapCount = 1;
80
+ if (header[off_flags] & DDSD_MIPMAPCOUNT) {
81
+ mipmapCount = Math.max(1, header[off_mipmapCount]);
82
+ }
83
+ const fourCC = header[off_pfFourCC];
84
+ const dxgiFormat = fourCC === FOURCC_DX10 ? extendedHeader[off_dxgiFormat] : 0;
85
+ let textureType = Constants.TEXTURETYPE_UNSIGNED_BYTE;
86
+ switch (fourCC) {
87
+ case FOURCC_D3DFMT_R16G16B16A16F:
88
+ textureType = Constants.TEXTURETYPE_HALF_FLOAT;
89
+ break;
90
+ case FOURCC_D3DFMT_R32G32B32A32F:
91
+ textureType = Constants.TEXTURETYPE_FLOAT;
92
+ break;
93
+ case FOURCC_DX10:
94
+ if (dxgiFormat === DXGI_FORMAT_R16G16B16A16_FLOAT) {
95
+ textureType = Constants.TEXTURETYPE_HALF_FLOAT;
96
+ break;
97
+ }
98
+ if (dxgiFormat === DXGI_FORMAT_R32G32B32A32_FLOAT) {
99
+ textureType = Constants.TEXTURETYPE_FLOAT;
100
+ break;
101
+ }
102
+ }
103
+ return {
104
+ width: header[off_width],
105
+ height: header[off_height],
106
+ mipmapCount: mipmapCount,
107
+ isFourCC: (header[off_pfFlags] & DDPF_FOURCC) === DDPF_FOURCC,
108
+ isRGB: (header[off_pfFlags] & DDPF_RGB) === DDPF_RGB,
109
+ isLuminance: (header[off_pfFlags] & DDPF_LUMINANCE) === DDPF_LUMINANCE,
110
+ isCube: (header[off_caps2] & DDSCAPS2_CUBEMAP) === DDSCAPS2_CUBEMAP,
111
+ isCompressed: fourCC === FOURCC_DXT1 || fourCC === FOURCC_DXT3 || fourCC === FOURCC_DXT5,
112
+ dxgiFormat: dxgiFormat,
113
+ textureType: textureType,
114
+ };
115
+ }
116
+ static _GetHalfFloatAsFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {
117
+ const destArray = new Float32Array(dataLength);
118
+ const srcData = new Uint16Array(arrayBuffer, dataOffset);
119
+ let index = 0;
120
+ for (let y = 0; y < height; y++) {
121
+ for (let x = 0; x < width; x++) {
122
+ const srcPos = (x + y * width) * 4;
123
+ destArray[index] = FromHalfFloat(srcData[srcPos]);
124
+ destArray[index + 1] = FromHalfFloat(srcData[srcPos + 1]);
125
+ destArray[index + 2] = FromHalfFloat(srcData[srcPos + 2]);
126
+ if (DDSTools.StoreLODInAlphaChannel) {
127
+ destArray[index + 3] = lod;
128
+ }
129
+ else {
130
+ destArray[index + 3] = FromHalfFloat(srcData[srcPos + 3]);
131
+ }
132
+ index += 4;
133
+ }
134
+ }
135
+ return destArray;
136
+ }
137
+ static _GetHalfFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {
138
+ if (DDSTools.StoreLODInAlphaChannel) {
139
+ const destArray = new Uint16Array(dataLength);
140
+ const srcData = new Uint16Array(arrayBuffer, dataOffset);
141
+ let index = 0;
142
+ for (let y = 0; y < height; y++) {
143
+ for (let x = 0; x < width; x++) {
144
+ const srcPos = (x + y * width) * 4;
145
+ destArray[index] = srcData[srcPos];
146
+ destArray[index + 1] = srcData[srcPos + 1];
147
+ destArray[index + 2] = srcData[srcPos + 2];
148
+ destArray[index + 3] = ToHalfFloat(lod);
149
+ index += 4;
150
+ }
151
+ }
152
+ return destArray;
153
+ }
154
+ return new Uint16Array(arrayBuffer, dataOffset, dataLength);
155
+ }
156
+ static _GetFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {
157
+ if (DDSTools.StoreLODInAlphaChannel) {
158
+ const destArray = new Float32Array(dataLength);
159
+ const srcData = new Float32Array(arrayBuffer, dataOffset);
160
+ let index = 0;
161
+ for (let y = 0; y < height; y++) {
162
+ for (let x = 0; x < width; x++) {
163
+ const srcPos = (x + y * width) * 4;
164
+ destArray[index] = srcData[srcPos];
165
+ destArray[index + 1] = srcData[srcPos + 1];
166
+ destArray[index + 2] = srcData[srcPos + 2];
167
+ destArray[index + 3] = lod;
168
+ index += 4;
169
+ }
170
+ }
171
+ return destArray;
172
+ }
173
+ return new Float32Array(arrayBuffer, dataOffset, dataLength);
174
+ }
175
+ static _GetFloatAsHalfFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {
176
+ const destArray = new Uint16Array(dataLength);
177
+ const srcData = new Float32Array(arrayBuffer, dataOffset);
178
+ let index = 0;
179
+ for (let y = 0; y < height; y++) {
180
+ for (let x = 0; x < width; x++) {
181
+ destArray[index] = ToHalfFloat(srcData[index]);
182
+ destArray[index + 1] = ToHalfFloat(srcData[index + 1]);
183
+ destArray[index + 2] = ToHalfFloat(srcData[index + 2]);
184
+ if (DDSTools.StoreLODInAlphaChannel) {
185
+ destArray[index + 3] = ToHalfFloat(lod);
186
+ }
187
+ else {
188
+ destArray[index + 3] = ToHalfFloat(srcData[index + 3]);
189
+ }
190
+ index += 4;
191
+ }
192
+ }
193
+ return destArray;
194
+ }
195
+ static _GetFloatAsUIntRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {
196
+ const destArray = new Uint8Array(dataLength);
197
+ const srcData = new Float32Array(arrayBuffer, dataOffset);
198
+ let index = 0;
199
+ for (let y = 0; y < height; y++) {
200
+ for (let x = 0; x < width; x++) {
201
+ const srcPos = (x + y * width) * 4;
202
+ destArray[index] = Clamp(srcData[srcPos]) * 255;
203
+ destArray[index + 1] = Clamp(srcData[srcPos + 1]) * 255;
204
+ destArray[index + 2] = Clamp(srcData[srcPos + 2]) * 255;
205
+ if (DDSTools.StoreLODInAlphaChannel) {
206
+ destArray[index + 3] = lod;
207
+ }
208
+ else {
209
+ destArray[index + 3] = Clamp(srcData[srcPos + 3]) * 255;
210
+ }
211
+ index += 4;
212
+ }
213
+ }
214
+ return destArray;
215
+ }
216
+ static _GetHalfFloatAsUIntRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {
217
+ const destArray = new Uint8Array(dataLength);
218
+ const srcData = new Uint16Array(arrayBuffer, dataOffset);
219
+ let index = 0;
220
+ for (let y = 0; y < height; y++) {
221
+ for (let x = 0; x < width; x++) {
222
+ const srcPos = (x + y * width) * 4;
223
+ destArray[index] = Clamp(FromHalfFloat(srcData[srcPos])) * 255;
224
+ destArray[index + 1] = Clamp(FromHalfFloat(srcData[srcPos + 1])) * 255;
225
+ destArray[index + 2] = Clamp(FromHalfFloat(srcData[srcPos + 2])) * 255;
226
+ if (DDSTools.StoreLODInAlphaChannel) {
227
+ destArray[index + 3] = lod;
228
+ }
229
+ else {
230
+ destArray[index + 3] = Clamp(FromHalfFloat(srcData[srcPos + 3])) * 255;
231
+ }
232
+ index += 4;
233
+ }
234
+ }
235
+ return destArray;
236
+ }
237
+ static _GetRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, rOffset, gOffset, bOffset, aOffset) {
238
+ const byteArray = new Uint8Array(dataLength);
239
+ const srcData = new Uint8Array(arrayBuffer, dataOffset);
240
+ let index = 0;
241
+ for (let y = 0; y < height; y++) {
242
+ for (let x = 0; x < width; x++) {
243
+ const srcPos = (x + y * width) * 4;
244
+ byteArray[index] = srcData[srcPos + rOffset];
245
+ byteArray[index + 1] = srcData[srcPos + gOffset];
246
+ byteArray[index + 2] = srcData[srcPos + bOffset];
247
+ byteArray[index + 3] = srcData[srcPos + aOffset];
248
+ index += 4;
249
+ }
250
+ }
251
+ return byteArray;
252
+ }
253
+ static _ExtractLongWordOrder(value) {
254
+ if (value === 0 || value === 255 || value === -16777216) {
255
+ return 0;
256
+ }
257
+ return 1 + DDSTools._ExtractLongWordOrder(value >> 8);
258
+ }
259
+ static _GetRGBArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, rOffset, gOffset, bOffset) {
260
+ const byteArray = new Uint8Array(dataLength);
261
+ const srcData = new Uint8Array(arrayBuffer, dataOffset);
262
+ let index = 0;
263
+ for (let y = 0; y < height; y++) {
264
+ for (let x = 0; x < width; x++) {
265
+ const srcPos = (x + y * width) * 3;
266
+ byteArray[index] = srcData[srcPos + rOffset];
267
+ byteArray[index + 1] = srcData[srcPos + gOffset];
268
+ byteArray[index + 2] = srcData[srcPos + bOffset];
269
+ index += 3;
270
+ }
271
+ }
272
+ return byteArray;
273
+ }
274
+ static _GetLuminanceArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer) {
275
+ const byteArray = new Uint8Array(dataLength);
276
+ const srcData = new Uint8Array(arrayBuffer, dataOffset);
277
+ let index = 0;
278
+ for (let y = 0; y < height; y++) {
279
+ for (let x = 0; x < width; x++) {
280
+ const srcPos = x + y * width;
281
+ byteArray[index] = srcData[srcPos];
282
+ index++;
283
+ }
284
+ }
285
+ return byteArray;
286
+ }
287
+ /**
288
+ * Uploads DDS Levels to a Babylon Texture
289
+ * @internal
290
+ */
291
+ static UploadDDSLevels(engine, texture, data, info, loadMipmaps, faces, lodIndex = -1, currentFace, destTypeMustBeFilterable = true) {
292
+ let sphericalPolynomialFaces = null;
293
+ if (info.sphericalPolynomial) {
294
+ sphericalPolynomialFaces = [];
295
+ }
296
+ const ext = !!engine.getCaps().s3tc;
297
+ // TODO WEBGPU Once generateMipMaps is split into generateMipMaps + hasMipMaps in InternalTexture this line can be removed
298
+ texture.generateMipMaps = loadMipmaps;
299
+ const header = new Int32Array(data.buffer, data.byteOffset, headerLengthInt);
300
+ let fourCC, width, height, dataLength = 0, dataOffset;
301
+ let byteArray, mipmapCount, mip;
302
+ let internalCompressedFormat = 0;
303
+ let blockBytes = 1;
304
+ if (header[off_magic] !== DDS_MAGIC) {
305
+ Logger.Error("Invalid magic number in DDS header");
306
+ return;
307
+ }
308
+ if (!info.isFourCC && !info.isRGB && !info.isLuminance) {
309
+ Logger.Error("Unsupported format, must contain a FourCC, RGB or LUMINANCE code");
310
+ return;
311
+ }
312
+ if (info.isCompressed && !ext) {
313
+ Logger.Error("Compressed textures are not supported on this platform.");
314
+ return;
315
+ }
316
+ let bpp = header[off_RGBbpp];
317
+ dataOffset = header[off_size] + 4;
318
+ let computeFormats = false;
319
+ if (info.isFourCC) {
320
+ fourCC = header[off_pfFourCC];
321
+ switch (fourCC) {
322
+ case FOURCC_DXT1:
323
+ blockBytes = 8;
324
+ internalCompressedFormat = Constants.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT1;
325
+ break;
326
+ case FOURCC_DXT3:
327
+ blockBytes = 16;
328
+ internalCompressedFormat = Constants.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT3;
329
+ break;
330
+ case FOURCC_DXT5:
331
+ blockBytes = 16;
332
+ internalCompressedFormat = Constants.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT5;
333
+ break;
334
+ case FOURCC_D3DFMT_R16G16B16A16F:
335
+ computeFormats = true;
336
+ bpp = 64;
337
+ break;
338
+ case FOURCC_D3DFMT_R32G32B32A32F:
339
+ computeFormats = true;
340
+ bpp = 128;
341
+ break;
342
+ case FOURCC_DX10: {
343
+ // There is an additionnal header so dataOffset need to be changed
344
+ dataOffset += 5 * 4; // 5 uints
345
+ let supported = false;
346
+ switch (info.dxgiFormat) {
347
+ case DXGI_FORMAT_R16G16B16A16_FLOAT:
348
+ computeFormats = true;
349
+ bpp = 64;
350
+ supported = true;
351
+ break;
352
+ case DXGI_FORMAT_R32G32B32A32_FLOAT:
353
+ computeFormats = true;
354
+ bpp = 128;
355
+ supported = true;
356
+ break;
357
+ case DXGI_FORMAT_B8G8R8X8_UNORM:
358
+ info.isRGB = true;
359
+ info.isFourCC = false;
360
+ bpp = 32;
361
+ supported = true;
362
+ break;
363
+ }
364
+ if (supported) {
365
+ break;
366
+ }
367
+ }
368
+ // eslint-disable-next-line no-fallthrough
369
+ default:
370
+ Logger.Error(["Unsupported FourCC code:", Int32ToFourCC(fourCC)]);
371
+ return;
372
+ }
373
+ }
374
+ const rOffset = DDSTools._ExtractLongWordOrder(header[off_RMask]);
375
+ const gOffset = DDSTools._ExtractLongWordOrder(header[off_GMask]);
376
+ const bOffset = DDSTools._ExtractLongWordOrder(header[off_BMask]);
377
+ const aOffset = DDSTools._ExtractLongWordOrder(header[off_AMask]);
378
+ if (computeFormats) {
379
+ internalCompressedFormat = engine._getRGBABufferInternalSizedFormat(info.textureType);
380
+ }
381
+ mipmapCount = 1;
382
+ if (header[off_flags] & DDSD_MIPMAPCOUNT && loadMipmaps !== false) {
383
+ mipmapCount = Math.max(1, header[off_mipmapCount]);
384
+ }
385
+ const startFace = currentFace || 0;
386
+ const caps = engine.getCaps();
387
+ for (let face = startFace; face < faces; face++) {
388
+ width = header[off_width];
389
+ height = header[off_height];
390
+ for (mip = 0; mip < mipmapCount; ++mip) {
391
+ if (lodIndex === -1 || lodIndex === mip) {
392
+ // In case of fixed LOD, if the lod has just been uploaded, early exit.
393
+ const i = lodIndex === -1 ? mip : 0;
394
+ if (!info.isCompressed && info.isFourCC) {
395
+ texture.format = Constants.TEXTUREFORMAT_RGBA;
396
+ dataLength = width * height * 4;
397
+ let floatArray = null;
398
+ if (engine._badOS || engine._badDesktopOS || (!caps.textureHalfFloat && !caps.textureFloat)) {
399
+ // Required because iOS has many issues with float and half float generation
400
+ if (bpp === 128) {
401
+ floatArray = DDSTools._GetFloatAsUIntRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i);
402
+ if (sphericalPolynomialFaces && i == 0) {
403
+ sphericalPolynomialFaces.push(DDSTools._GetFloatRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i));
404
+ }
405
+ }
406
+ else if (bpp === 64) {
407
+ floatArray = DDSTools._GetHalfFloatAsUIntRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i);
408
+ if (sphericalPolynomialFaces && i == 0) {
409
+ sphericalPolynomialFaces.push(DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i));
410
+ }
411
+ }
412
+ texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;
413
+ }
414
+ else {
415
+ const floatAvailable = caps.textureFloat && ((destTypeMustBeFilterable && caps.textureFloatLinearFiltering) || !destTypeMustBeFilterable);
416
+ const halfFloatAvailable = caps.textureHalfFloat && ((destTypeMustBeFilterable && caps.textureHalfFloatLinearFiltering) || !destTypeMustBeFilterable);
417
+ const destType = (bpp === 128 || (bpp === 64 && !halfFloatAvailable)) && floatAvailable
418
+ ? Constants.TEXTURETYPE_FLOAT
419
+ : (bpp === 64 || (bpp === 128 && !floatAvailable)) && halfFloatAvailable
420
+ ? Constants.TEXTURETYPE_HALF_FLOAT
421
+ : Constants.TEXTURETYPE_UNSIGNED_BYTE;
422
+ let dataGetter;
423
+ let dataGetterPolynomial = null;
424
+ switch (bpp) {
425
+ case 128: {
426
+ switch (destType) {
427
+ case Constants.TEXTURETYPE_FLOAT:
428
+ dataGetter = DDSTools._GetFloatRGBAArrayBuffer;
429
+ dataGetterPolynomial = null;
430
+ break;
431
+ case Constants.TEXTURETYPE_HALF_FLOAT:
432
+ dataGetter = DDSTools._GetFloatAsHalfFloatRGBAArrayBuffer;
433
+ dataGetterPolynomial = DDSTools._GetFloatRGBAArrayBuffer;
434
+ break;
435
+ case Constants.TEXTURETYPE_UNSIGNED_BYTE:
436
+ dataGetter = DDSTools._GetFloatAsUIntRGBAArrayBuffer;
437
+ dataGetterPolynomial = DDSTools._GetFloatRGBAArrayBuffer;
438
+ break;
439
+ }
440
+ break;
441
+ }
442
+ default: {
443
+ // 64 bpp
444
+ switch (destType) {
445
+ case Constants.TEXTURETYPE_FLOAT:
446
+ dataGetter = DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer;
447
+ dataGetterPolynomial = null;
448
+ break;
449
+ case Constants.TEXTURETYPE_HALF_FLOAT:
450
+ dataGetter = DDSTools._GetHalfFloatRGBAArrayBuffer;
451
+ dataGetterPolynomial = DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer;
452
+ break;
453
+ case Constants.TEXTURETYPE_UNSIGNED_BYTE:
454
+ dataGetter = DDSTools._GetHalfFloatAsUIntRGBAArrayBuffer;
455
+ dataGetterPolynomial = DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer;
456
+ break;
457
+ }
458
+ break;
459
+ }
460
+ }
461
+ texture.type = destType;
462
+ floatArray = dataGetter(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i);
463
+ if (sphericalPolynomialFaces && i == 0) {
464
+ sphericalPolynomialFaces.push(dataGetterPolynomial ? dataGetterPolynomial(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i) : floatArray);
465
+ }
466
+ }
467
+ if (floatArray) {
468
+ engine._uploadDataToTextureDirectly(texture, floatArray, face, i);
469
+ }
470
+ }
471
+ else if (info.isRGB) {
472
+ texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;
473
+ if (bpp === 24) {
474
+ texture.format = Constants.TEXTUREFORMAT_RGB;
475
+ dataLength = width * height * 3;
476
+ byteArray = DDSTools._GetRGBArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, rOffset, gOffset, bOffset);
477
+ engine._uploadDataToTextureDirectly(texture, byteArray, face, i);
478
+ }
479
+ else {
480
+ // 32
481
+ texture.format = Constants.TEXTUREFORMAT_RGBA;
482
+ dataLength = width * height * 4;
483
+ byteArray = DDSTools._GetRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, rOffset, gOffset, bOffset, aOffset);
484
+ engine._uploadDataToTextureDirectly(texture, byteArray, face, i);
485
+ }
486
+ }
487
+ else if (info.isLuminance) {
488
+ const unpackAlignment = engine._getUnpackAlignement();
489
+ const unpaddedRowSize = width;
490
+ const paddedRowSize = Math.floor((width + unpackAlignment - 1) / unpackAlignment) * unpackAlignment;
491
+ dataLength = paddedRowSize * (height - 1) + unpaddedRowSize;
492
+ byteArray = DDSTools._GetLuminanceArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer);
493
+ texture.format = Constants.TEXTUREFORMAT_LUMINANCE;
494
+ texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;
495
+ engine._uploadDataToTextureDirectly(texture, byteArray, face, i);
496
+ }
497
+ else {
498
+ dataLength = (((Math.max(4, width) / 4) * Math.max(4, height)) / 4) * blockBytes;
499
+ byteArray = new Uint8Array(data.buffer, data.byteOffset + dataOffset, dataLength);
500
+ texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;
501
+ engine._uploadCompressedDataToTextureDirectly(texture, internalCompressedFormat, width, height, byteArray, face, i);
502
+ }
503
+ }
504
+ dataOffset += bpp ? width * height * (bpp / 8) : dataLength;
505
+ width *= 0.5;
506
+ height *= 0.5;
507
+ width = Math.max(1.0, width);
508
+ height = Math.max(1.0, height);
509
+ }
510
+ if (currentFace !== undefined) {
511
+ // Loading a single face
512
+ break;
513
+ }
514
+ }
515
+ if (sphericalPolynomialFaces && sphericalPolynomialFaces.length > 0) {
516
+ info.sphericalPolynomial = CubeMapToSphericalPolynomialTools.ConvertCubeMapToSphericalPolynomial({
517
+ size: header[off_width],
518
+ right: sphericalPolynomialFaces[0],
519
+ left: sphericalPolynomialFaces[1],
520
+ up: sphericalPolynomialFaces[2],
521
+ down: sphericalPolynomialFaces[3],
522
+ front: sphericalPolynomialFaces[4],
523
+ back: sphericalPolynomialFaces[5],
524
+ format: Constants.TEXTUREFORMAT_RGBA,
525
+ type: Constants.TEXTURETYPE_FLOAT,
526
+ gammaSpace: false,
527
+ });
528
+ }
529
+ else {
530
+ info.sphericalPolynomial = undefined;
531
+ }
532
+ }
533
+ }
534
+ /**
535
+ * Gets or sets a boolean indicating that LOD info is stored in alpha channel (false by default)
536
+ */
537
+ DDSTools.StoreLODInAlphaChannel = false;
538
+
539
+ export { DDSTools };
540
+ //# sourceMappingURL=dds-DPGLfLtA.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dds-DPGLfLtA.esm.js","sources":["../../../../../dev/core/dist/Misc/dds.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { Clamp } from \"../Maths/math.scalar.functions\";\nimport { Constants } from \"../Engines/constants\";\nimport { Logger } from \"../Misc/logger\";\nimport { CubeMapToSphericalPolynomialTools } from \"../Misc/HighDynamicRange/cubemapToSphericalPolynomial\";\nimport { FromHalfFloat, ToHalfFloat } from \"./textureTools\";\nimport \"../Engines/AbstractEngine/abstractEngine.cubeTexture\";\n// Based on demo done by Brandon Jones - http://media.tojicode.com/webgl-samples/dds.html\n// All values and structures referenced from:\n// http://msdn.microsoft.com/en-us/library/bb943991.aspx/\nconst DDS_MAGIC = 0x20534444;\nconst //DDSD_CAPS = 0x1,\n//DDSD_HEIGHT = 0x2,\n//DDSD_WIDTH = 0x4,\n//DDSD_PITCH = 0x8,\n//DDSD_PIXELFORMAT = 0x1000,\nDDSD_MIPMAPCOUNT = 0x20000;\n//DDSD_LINEARSIZE = 0x80000,\n//DDSD_DEPTH = 0x800000;\n// var DDSCAPS_COMPLEX = 0x8,\n// DDSCAPS_MIPMAP = 0x400000,\n// DDSCAPS_TEXTURE = 0x1000;\nconst DDSCAPS2_CUBEMAP = 0x200;\n// DDSCAPS2_CUBEMAP_POSITIVEX = 0x400,\n// DDSCAPS2_CUBEMAP_NEGATIVEX = 0x800,\n// DDSCAPS2_CUBEMAP_POSITIVEY = 0x1000,\n// DDSCAPS2_CUBEMAP_NEGATIVEY = 0x2000,\n// DDSCAPS2_CUBEMAP_POSITIVEZ = 0x4000,\n// DDSCAPS2_CUBEMAP_NEGATIVEZ = 0x8000,\n// DDSCAPS2_VOLUME = 0x200000;\nconst //DDPF_ALPHAPIXELS = 0x1,\n//DDPF_ALPHA = 0x2,\nDDPF_FOURCC = 0x4, DDPF_RGB = 0x40, \n//DDPF_YUV = 0x200,\nDDPF_LUMINANCE = 0x20000;\nfunction FourCCToInt32(value) {\n return value.charCodeAt(0) + (value.charCodeAt(1) << 8) + (value.charCodeAt(2) << 16) + (value.charCodeAt(3) << 24);\n}\nfunction Int32ToFourCC(value) {\n return String.fromCharCode(value & 0xff, (value >> 8) & 0xff, (value >> 16) & 0xff, (value >> 24) & 0xff);\n}\nconst FOURCC_DXT1 = FourCCToInt32(\"DXT1\");\nconst FOURCC_DXT3 = FourCCToInt32(\"DXT3\");\nconst FOURCC_DXT5 = FourCCToInt32(\"DXT5\");\nconst FOURCC_DX10 = FourCCToInt32(\"DX10\");\nconst FOURCC_D3DFMT_R16G16B16A16F = 113;\nconst FOURCC_D3DFMT_R32G32B32A32F = 116;\nconst DXGI_FORMAT_R32G32B32A32_FLOAT = 2;\nconst DXGI_FORMAT_R16G16B16A16_FLOAT = 10;\nconst DXGI_FORMAT_B8G8R8X8_UNORM = 88;\nconst headerLengthInt = 31; // The header length in 32 bit ints\n// Offsets into the header array\nconst off_magic = 0;\nconst off_size = 1;\nconst off_flags = 2;\nconst off_height = 3;\nconst off_width = 4;\nconst off_mipmapCount = 7;\nconst off_pfFlags = 20;\nconst off_pfFourCC = 21;\nconst off_RGBbpp = 22;\nconst off_RMask = 23;\nconst off_GMask = 24;\nconst off_BMask = 25;\nconst off_AMask = 26;\n// var off_caps1 = 27;\nconst off_caps2 = 28;\n// var off_caps3 = 29;\n// var off_caps4 = 30;\nconst off_dxgiFormat = 32;\n/**\n * Class used to provide DDS decompression tools\n */\nexport class DDSTools {\n /**\n * Gets DDS information from an array buffer\n * @param data defines the array buffer view to read data from\n * @returns the DDS information\n */\n static GetDDSInfo(data) {\n const header = new Int32Array(data.buffer, data.byteOffset, headerLengthInt);\n const extendedHeader = new Int32Array(data.buffer, data.byteOffset, headerLengthInt + 4);\n let mipmapCount = 1;\n if (header[off_flags] & DDSD_MIPMAPCOUNT) {\n mipmapCount = Math.max(1, header[off_mipmapCount]);\n }\n const fourCC = header[off_pfFourCC];\n const dxgiFormat = fourCC === FOURCC_DX10 ? extendedHeader[off_dxgiFormat] : 0;\n let textureType = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n switch (fourCC) {\n case FOURCC_D3DFMT_R16G16B16A16F:\n textureType = Constants.TEXTURETYPE_HALF_FLOAT;\n break;\n case FOURCC_D3DFMT_R32G32B32A32F:\n textureType = Constants.TEXTURETYPE_FLOAT;\n break;\n case FOURCC_DX10:\n if (dxgiFormat === DXGI_FORMAT_R16G16B16A16_FLOAT) {\n textureType = Constants.TEXTURETYPE_HALF_FLOAT;\n break;\n }\n if (dxgiFormat === DXGI_FORMAT_R32G32B32A32_FLOAT) {\n textureType = Constants.TEXTURETYPE_FLOAT;\n break;\n }\n }\n return {\n width: header[off_width],\n height: header[off_height],\n mipmapCount: mipmapCount,\n isFourCC: (header[off_pfFlags] & DDPF_FOURCC) === DDPF_FOURCC,\n isRGB: (header[off_pfFlags] & DDPF_RGB) === DDPF_RGB,\n isLuminance: (header[off_pfFlags] & DDPF_LUMINANCE) === DDPF_LUMINANCE,\n isCube: (header[off_caps2] & DDSCAPS2_CUBEMAP) === DDSCAPS2_CUBEMAP,\n isCompressed: fourCC === FOURCC_DXT1 || fourCC === FOURCC_DXT3 || fourCC === FOURCC_DXT5,\n dxgiFormat: dxgiFormat,\n textureType: textureType,\n };\n }\n static _GetHalfFloatAsFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n const destArray = new Float32Array(dataLength);\n const srcData = new Uint16Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = FromHalfFloat(srcData[srcPos]);\n destArray[index + 1] = FromHalfFloat(srcData[srcPos + 1]);\n destArray[index + 2] = FromHalfFloat(srcData[srcPos + 2]);\n if (DDSTools.StoreLODInAlphaChannel) {\n destArray[index + 3] = lod;\n }\n else {\n destArray[index + 3] = FromHalfFloat(srcData[srcPos + 3]);\n }\n index += 4;\n }\n }\n return destArray;\n }\n static _GetHalfFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n if (DDSTools.StoreLODInAlphaChannel) {\n const destArray = new Uint16Array(dataLength);\n const srcData = new Uint16Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = srcData[srcPos];\n destArray[index + 1] = srcData[srcPos + 1];\n destArray[index + 2] = srcData[srcPos + 2];\n destArray[index + 3] = ToHalfFloat(lod);\n index += 4;\n }\n }\n return destArray;\n }\n return new Uint16Array(arrayBuffer, dataOffset, dataLength);\n }\n static _GetFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n if (DDSTools.StoreLODInAlphaChannel) {\n const destArray = new Float32Array(dataLength);\n const srcData = new Float32Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = srcData[srcPos];\n destArray[index + 1] = srcData[srcPos + 1];\n destArray[index + 2] = srcData[srcPos + 2];\n destArray[index + 3] = lod;\n index += 4;\n }\n }\n return destArray;\n }\n return new Float32Array(arrayBuffer, dataOffset, dataLength);\n }\n static _GetFloatAsHalfFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n const destArray = new Uint16Array(dataLength);\n const srcData = new Float32Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n destArray[index] = ToHalfFloat(srcData[index]);\n destArray[index + 1] = ToHalfFloat(srcData[index + 1]);\n destArray[index + 2] = ToHalfFloat(srcData[index + 2]);\n if (DDSTools.StoreLODInAlphaChannel) {\n destArray[index + 3] = ToHalfFloat(lod);\n }\n else {\n destArray[index + 3] = ToHalfFloat(srcData[index + 3]);\n }\n index += 4;\n }\n }\n return destArray;\n }\n static _GetFloatAsUIntRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n const destArray = new Uint8Array(dataLength);\n const srcData = new Float32Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = Clamp(srcData[srcPos]) * 255;\n destArray[index + 1] = Clamp(srcData[srcPos + 1]) * 255;\n destArray[index + 2] = Clamp(srcData[srcPos + 2]) * 255;\n if (DDSTools.StoreLODInAlphaChannel) {\n destArray[index + 3] = lod;\n }\n else {\n destArray[index + 3] = Clamp(srcData[srcPos + 3]) * 255;\n }\n index += 4;\n }\n }\n return destArray;\n }\n static _GetHalfFloatAsUIntRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n const destArray = new Uint8Array(dataLength);\n const srcData = new Uint16Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = Clamp(FromHalfFloat(srcData[srcPos])) * 255;\n destArray[index + 1] = Clamp(FromHalfFloat(srcData[srcPos + 1])) * 255;\n destArray[index + 2] = Clamp(FromHalfFloat(srcData[srcPos + 2])) * 255;\n if (DDSTools.StoreLODInAlphaChannel) {\n destArray[index + 3] = lod;\n }\n else {\n destArray[index + 3] = Clamp(FromHalfFloat(srcData[srcPos + 3])) * 255;\n }\n index += 4;\n }\n }\n return destArray;\n }\n static _GetRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, rOffset, gOffset, bOffset, aOffset) {\n const byteArray = new Uint8Array(dataLength);\n const srcData = new Uint8Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n byteArray[index] = srcData[srcPos + rOffset];\n byteArray[index + 1] = srcData[srcPos + gOffset];\n byteArray[index + 2] = srcData[srcPos + bOffset];\n byteArray[index + 3] = srcData[srcPos + aOffset];\n index += 4;\n }\n }\n return byteArray;\n }\n static _ExtractLongWordOrder(value) {\n if (value === 0 || value === 255 || value === -16777216) {\n return 0;\n }\n return 1 + DDSTools._ExtractLongWordOrder(value >> 8);\n }\n static _GetRGBArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, rOffset, gOffset, bOffset) {\n const byteArray = new Uint8Array(dataLength);\n const srcData = new Uint8Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 3;\n byteArray[index] = srcData[srcPos + rOffset];\n byteArray[index + 1] = srcData[srcPos + gOffset];\n byteArray[index + 2] = srcData[srcPos + bOffset];\n index += 3;\n }\n }\n return byteArray;\n }\n static _GetLuminanceArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer) {\n const byteArray = new Uint8Array(dataLength);\n const srcData = new Uint8Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = x + y * width;\n byteArray[index] = srcData[srcPos];\n index++;\n }\n }\n return byteArray;\n }\n /**\n * Uploads DDS Levels to a Babylon Texture\n * @internal\n */\n static UploadDDSLevels(engine, texture, data, info, loadMipmaps, faces, lodIndex = -1, currentFace, destTypeMustBeFilterable = true) {\n let sphericalPolynomialFaces = null;\n if (info.sphericalPolynomial) {\n sphericalPolynomialFaces = [];\n }\n const ext = !!engine.getCaps().s3tc;\n // TODO WEBGPU Once generateMipMaps is split into generateMipMaps + hasMipMaps in InternalTexture this line can be removed\n texture.generateMipMaps = loadMipmaps;\n const header = new Int32Array(data.buffer, data.byteOffset, headerLengthInt);\n let fourCC, width, height, dataLength = 0, dataOffset;\n let byteArray, mipmapCount, mip;\n let internalCompressedFormat = 0;\n let blockBytes = 1;\n if (header[off_magic] !== DDS_MAGIC) {\n Logger.Error(\"Invalid magic number in DDS header\");\n return;\n }\n if (!info.isFourCC && !info.isRGB && !info.isLuminance) {\n Logger.Error(\"Unsupported format, must contain a FourCC, RGB or LUMINANCE code\");\n return;\n }\n if (info.isCompressed && !ext) {\n Logger.Error(\"Compressed textures are not supported on this platform.\");\n return;\n }\n let bpp = header[off_RGBbpp];\n dataOffset = header[off_size] + 4;\n let computeFormats = false;\n if (info.isFourCC) {\n fourCC = header[off_pfFourCC];\n switch (fourCC) {\n case FOURCC_DXT1:\n blockBytes = 8;\n internalCompressedFormat = Constants.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT1;\n break;\n case FOURCC_DXT3:\n blockBytes = 16;\n internalCompressedFormat = Constants.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT3;\n break;\n case FOURCC_DXT5:\n blockBytes = 16;\n internalCompressedFormat = Constants.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT5;\n break;\n case FOURCC_D3DFMT_R16G16B16A16F:\n computeFormats = true;\n bpp = 64;\n break;\n case FOURCC_D3DFMT_R32G32B32A32F:\n computeFormats = true;\n bpp = 128;\n break;\n case FOURCC_DX10: {\n // There is an additionnal header so dataOffset need to be changed\n dataOffset += 5 * 4; // 5 uints\n let supported = false;\n switch (info.dxgiFormat) {\n case DXGI_FORMAT_R16G16B16A16_FLOAT:\n computeFormats = true;\n bpp = 64;\n supported = true;\n break;\n case DXGI_FORMAT_R32G32B32A32_FLOAT:\n computeFormats = true;\n bpp = 128;\n supported = true;\n break;\n case DXGI_FORMAT_B8G8R8X8_UNORM:\n info.isRGB = true;\n info.isFourCC = false;\n bpp = 32;\n supported = true;\n break;\n }\n if (supported) {\n break;\n }\n }\n // eslint-disable-next-line no-fallthrough\n default:\n Logger.Error([\"Unsupported FourCC code:\", Int32ToFourCC(fourCC)]);\n return;\n }\n }\n const rOffset = DDSTools._ExtractLongWordOrder(header[off_RMask]);\n const gOffset = DDSTools._ExtractLongWordOrder(header[off_GMask]);\n const bOffset = DDSTools._ExtractLongWordOrder(header[off_BMask]);\n const aOffset = DDSTools._ExtractLongWordOrder(header[off_AMask]);\n if (computeFormats) {\n internalCompressedFormat = engine._getRGBABufferInternalSizedFormat(info.textureType);\n }\n mipmapCount = 1;\n if (header[off_flags] & DDSD_MIPMAPCOUNT && loadMipmaps !== false) {\n mipmapCount = Math.max(1, header[off_mipmapCount]);\n }\n const startFace = currentFace || 0;\n const caps = engine.getCaps();\n for (let face = startFace; face < faces; face++) {\n width = header[off_width];\n height = header[off_height];\n for (mip = 0; mip < mipmapCount; ++mip) {\n if (lodIndex === -1 || lodIndex === mip) {\n // In case of fixed LOD, if the lod has just been uploaded, early exit.\n const i = lodIndex === -1 ? mip : 0;\n if (!info.isCompressed && info.isFourCC) {\n texture.format = Constants.TEXTUREFORMAT_RGBA;\n dataLength = width * height * 4;\n let floatArray = null;\n if (engine._badOS || engine._badDesktopOS || (!caps.textureHalfFloat && !caps.textureFloat)) {\n // Required because iOS has many issues with float and half float generation\n if (bpp === 128) {\n floatArray = DDSTools._GetFloatAsUIntRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i);\n if (sphericalPolynomialFaces && i == 0) {\n sphericalPolynomialFaces.push(DDSTools._GetFloatRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i));\n }\n }\n else if (bpp === 64) {\n floatArray = DDSTools._GetHalfFloatAsUIntRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i);\n if (sphericalPolynomialFaces && i == 0) {\n sphericalPolynomialFaces.push(DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i));\n }\n }\n texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n }\n else {\n const floatAvailable = caps.textureFloat && ((destTypeMustBeFilterable && caps.textureFloatLinearFiltering) || !destTypeMustBeFilterable);\n const halfFloatAvailable = caps.textureHalfFloat && ((destTypeMustBeFilterable && caps.textureHalfFloatLinearFiltering) || !destTypeMustBeFilterable);\n const destType = (bpp === 128 || (bpp === 64 && !halfFloatAvailable)) && floatAvailable\n ? Constants.TEXTURETYPE_FLOAT\n : (bpp === 64 || (bpp === 128 && !floatAvailable)) && halfFloatAvailable\n ? Constants.TEXTURETYPE_HALF_FLOAT\n : Constants.TEXTURETYPE_UNSIGNED_BYTE;\n let dataGetter;\n let dataGetterPolynomial = null;\n switch (bpp) {\n case 128: {\n switch (destType) {\n case Constants.TEXTURETYPE_FLOAT:\n dataGetter = DDSTools._GetFloatRGBAArrayBuffer;\n dataGetterPolynomial = null;\n break;\n case Constants.TEXTURETYPE_HALF_FLOAT:\n dataGetter = DDSTools._GetFloatAsHalfFloatRGBAArrayBuffer;\n dataGetterPolynomial = DDSTools._GetFloatRGBAArrayBuffer;\n break;\n case Constants.TEXTURETYPE_UNSIGNED_BYTE:\n dataGetter = DDSTools._GetFloatAsUIntRGBAArrayBuffer;\n dataGetterPolynomial = DDSTools._GetFloatRGBAArrayBuffer;\n break;\n }\n break;\n }\n default: {\n // 64 bpp\n switch (destType) {\n case Constants.TEXTURETYPE_FLOAT:\n dataGetter = DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer;\n dataGetterPolynomial = null;\n break;\n case Constants.TEXTURETYPE_HALF_FLOAT:\n dataGetter = DDSTools._GetHalfFloatRGBAArrayBuffer;\n dataGetterPolynomial = DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer;\n break;\n case Constants.TEXTURETYPE_UNSIGNED_BYTE:\n dataGetter = DDSTools._GetHalfFloatAsUIntRGBAArrayBuffer;\n dataGetterPolynomial = DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer;\n break;\n }\n break;\n }\n }\n texture.type = destType;\n floatArray = dataGetter(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i);\n if (sphericalPolynomialFaces && i == 0) {\n sphericalPolynomialFaces.push(dataGetterPolynomial ? dataGetterPolynomial(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i) : floatArray);\n }\n }\n if (floatArray) {\n engine._uploadDataToTextureDirectly(texture, floatArray, face, i);\n }\n }\n else if (info.isRGB) {\n texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n if (bpp === 24) {\n texture.format = Constants.TEXTUREFORMAT_RGB;\n dataLength = width * height * 3;\n byteArray = DDSTools._GetRGBArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, rOffset, gOffset, bOffset);\n engine._uploadDataToTextureDirectly(texture, byteArray, face, i);\n }\n else {\n // 32\n texture.format = Constants.TEXTUREFORMAT_RGBA;\n dataLength = width * height * 4;\n byteArray = DDSTools._GetRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, rOffset, gOffset, bOffset, aOffset);\n engine._uploadDataToTextureDirectly(texture, byteArray, face, i);\n }\n }\n else if (info.isLuminance) {\n const unpackAlignment = engine._getUnpackAlignement();\n const unpaddedRowSize = width;\n const paddedRowSize = Math.floor((width + unpackAlignment - 1) / unpackAlignment) * unpackAlignment;\n dataLength = paddedRowSize * (height - 1) + unpaddedRowSize;\n byteArray = DDSTools._GetLuminanceArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer);\n texture.format = Constants.TEXTUREFORMAT_LUMINANCE;\n texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n engine._uploadDataToTextureDirectly(texture, byteArray, face, i);\n }\n else {\n dataLength = (((Math.max(4, width) / 4) * Math.max(4, height)) / 4) * blockBytes;\n byteArray = new Uint8Array(data.buffer, data.byteOffset + dataOffset, dataLength);\n texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n engine._uploadCompressedDataToTextureDirectly(texture, internalCompressedFormat, width, height, byteArray, face, i);\n }\n }\n dataOffset += bpp ? width * height * (bpp / 8) : dataLength;\n width *= 0.5;\n height *= 0.5;\n width = Math.max(1.0, width);\n height = Math.max(1.0, height);\n }\n if (currentFace !== undefined) {\n // Loading a single face\n break;\n }\n }\n if (sphericalPolynomialFaces && sphericalPolynomialFaces.length > 0) {\n info.sphericalPolynomial = CubeMapToSphericalPolynomialTools.ConvertCubeMapToSphericalPolynomial({\n size: header[off_width],\n right: sphericalPolynomialFaces[0],\n left: sphericalPolynomialFaces[1],\n up: sphericalPolynomialFaces[2],\n down: sphericalPolynomialFaces[3],\n front: sphericalPolynomialFaces[4],\n back: sphericalPolynomialFaces[5],\n format: Constants.TEXTUREFORMAT_RGBA,\n type: Constants.TEXTURETYPE_FLOAT,\n gammaSpace: false,\n });\n }\n else {\n info.sphericalPolynomial = undefined;\n }\n }\n}\n/**\n * Gets or sets a boolean indicating that LOD info is stored in alpha channel (false by default)\n */\nDDSTools.StoreLODInAlphaChannel = false;\n//# sourceMappingURL=dds.js.map"],"names":[],"mappings":"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"}