@babylonjs/viewer 7.41.1 → 7.42.0-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 (619) 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-BHDD74jk.esm.min.js +2 -0
  7. package/dist/chunks/EXT_lights_ies-BHDD74jk.esm.min.js.map +1 -0
  8. package/dist/chunks/EXT_lights_ies-CJfRNbJm.esm.js +84 -0
  9. package/dist/chunks/EXT_lights_ies-CJfRNbJm.esm.js.map +1 -0
  10. package/dist/chunks/EXT_lights_image_based-B460Sv95.esm.min.js +2 -0
  11. package/dist/chunks/EXT_lights_image_based-B460Sv95.esm.min.js.map +1 -0
  12. package/dist/chunks/EXT_lights_image_based-CQ6UCahL.esm.js +171 -0
  13. package/dist/chunks/EXT_lights_image_based-CQ6UCahL.esm.js.map +1 -0
  14. package/dist/chunks/EXT_mesh_gpu_instancing-D77OfiDS.esm.js +86 -0
  15. package/dist/chunks/EXT_mesh_gpu_instancing-D77OfiDS.esm.js.map +1 -0
  16. package/dist/chunks/EXT_mesh_gpu_instancing-GMG29Y9J.esm.min.js +2 -0
  17. package/dist/chunks/EXT_mesh_gpu_instancing-GMG29Y9J.esm.min.js.map +1 -0
  18. package/dist/chunks/EXT_meshopt_compression-CniiOX0a.esm.js +134 -0
  19. package/dist/chunks/EXT_meshopt_compression-CniiOX0a.esm.js.map +1 -0
  20. package/dist/chunks/EXT_meshopt_compression-DCcKdizI.esm.min.js +2 -0
  21. package/dist/chunks/EXT_meshopt_compression-DCcKdizI.esm.min.js.map +1 -0
  22. package/dist/chunks/EXT_texture_avif-By7mk6aS.esm.min.js +2 -0
  23. package/dist/chunks/EXT_texture_avif-By7mk6aS.esm.min.js.map +1 -0
  24. package/dist/chunks/EXT_texture_avif-DnaKno7b.esm.js +44 -0
  25. package/dist/chunks/EXT_texture_avif-DnaKno7b.esm.js.map +1 -0
  26. package/dist/chunks/EXT_texture_webp-Bm29ukIo.esm.js +43 -0
  27. package/dist/chunks/EXT_texture_webp-Bm29ukIo.esm.js.map +1 -0
  28. package/dist/chunks/EXT_texture_webp-DtSWYlAE.esm.min.js +2 -0
  29. package/dist/chunks/EXT_texture_webp-DtSWYlAE.esm.min.js.map +1 -0
  30. package/dist/chunks/ExtrasAsMetadata-BUO8J2zR.esm.js +64 -0
  31. package/dist/chunks/ExtrasAsMetadata-BUO8J2zR.esm.js.map +1 -0
  32. package/dist/chunks/ExtrasAsMetadata-mi3fn9sR.esm.min.js +2 -0
  33. package/dist/chunks/ExtrasAsMetadata-mi3fn9sR.esm.min.js.map +1 -0
  34. package/dist/chunks/KHR_animation_pointer-COeThtQe.esm.min.js +2 -0
  35. package/dist/chunks/KHR_animation_pointer-COeThtQe.esm.min.js.map +1 -0
  36. package/dist/chunks/KHR_animation_pointer-DXqgkZGB.esm.js +352 -0
  37. package/dist/chunks/KHR_animation_pointer-DXqgkZGB.esm.js.map +1 -0
  38. package/dist/chunks/KHR_draco_mesh_compression-Bh9XGNFd.esm.js +610 -0
  39. package/dist/chunks/KHR_draco_mesh_compression-Bh9XGNFd.esm.js.map +1 -0
  40. package/dist/chunks/KHR_draco_mesh_compression-DyU2KIa2.esm.min.js +2 -0
  41. package/dist/chunks/KHR_draco_mesh_compression-DyU2KIa2.esm.min.js.map +1 -0
  42. package/dist/chunks/KHR_interactivity-QP9zFX3U.esm.js +4033 -0
  43. package/dist/chunks/KHR_interactivity-QP9zFX3U.esm.js.map +1 -0
  44. package/dist/chunks/KHR_interactivity-_r7e7vwA.esm.min.js +2 -0
  45. package/dist/chunks/KHR_interactivity-_r7e7vwA.esm.min.js.map +1 -0
  46. package/dist/chunks/KHR_lights_punctual-DWGx9KlE.esm.js +581 -0
  47. package/dist/chunks/KHR_lights_punctual-DWGx9KlE.esm.js.map +1 -0
  48. package/dist/chunks/KHR_lights_punctual-cz3ulMW0.esm.min.js +2 -0
  49. package/dist/chunks/KHR_lights_punctual-cz3ulMW0.esm.min.js.map +1 -0
  50. package/dist/chunks/KHR_materials_anisotropy-BSvZxEnx.esm.js +65 -0
  51. package/dist/chunks/KHR_materials_anisotropy-BSvZxEnx.esm.js.map +1 -0
  52. package/dist/chunks/KHR_materials_anisotropy-CtKPvN_z.esm.min.js +2 -0
  53. package/dist/chunks/KHR_materials_anisotropy-CtKPvN_z.esm.min.js.map +1 -0
  54. package/dist/chunks/KHR_materials_clearcoat-BephgEiM.esm.min.js +2 -0
  55. package/dist/chunks/KHR_materials_clearcoat-BephgEiM.esm.min.js.map +1 -0
  56. package/dist/chunks/KHR_materials_clearcoat-C3QB9HNC.esm.js +96 -0
  57. package/dist/chunks/KHR_materials_clearcoat-C3QB9HNC.esm.js.map +1 -0
  58. package/dist/chunks/KHR_materials_diffuse_transmission-CZvfLdyF.esm.min.js +2 -0
  59. package/dist/chunks/KHR_materials_diffuse_transmission-CZvfLdyF.esm.min.js.map +1 -0
  60. package/dist/chunks/KHR_materials_diffuse_transmission-DuM5GD2L.esm.js +97 -0
  61. package/dist/chunks/KHR_materials_diffuse_transmission-DuM5GD2L.esm.js.map +1 -0
  62. package/dist/chunks/KHR_materials_dispersion-0FtkqUmS.esm.js +62 -0
  63. package/dist/chunks/KHR_materials_dispersion-0FtkqUmS.esm.js.map +1 -0
  64. package/dist/chunks/KHR_materials_dispersion-C7mAat5y.esm.min.js +2 -0
  65. package/dist/chunks/KHR_materials_dispersion-C7mAat5y.esm.min.js.map +1 -0
  66. package/dist/chunks/KHR_materials_emissive_strength-Bz2y9OnA.esm.js +55 -0
  67. package/dist/chunks/KHR_materials_emissive_strength-Bz2y9OnA.esm.js.map +1 -0
  68. package/dist/chunks/KHR_materials_emissive_strength-b7ZNj1HF.esm.min.js +2 -0
  69. package/dist/chunks/KHR_materials_emissive_strength-b7ZNj1HF.esm.min.js.map +1 -0
  70. package/dist/chunks/KHR_materials_ior-C5-JiuLs.esm.min.js +2 -0
  71. package/dist/chunks/KHR_materials_ior-C5-JiuLs.esm.min.js.map +1 -0
  72. package/dist/chunks/KHR_materials_ior-D1jjzmsp.esm.js +64 -0
  73. package/dist/chunks/KHR_materials_ior-D1jjzmsp.esm.js.map +1 -0
  74. package/dist/chunks/KHR_materials_iridescence-CChET9-W.esm.js +72 -0
  75. package/dist/chunks/KHR_materials_iridescence-CChET9-W.esm.js.map +1 -0
  76. package/dist/chunks/KHR_materials_iridescence-hATfgETI.esm.min.js +2 -0
  77. package/dist/chunks/KHR_materials_iridescence-hATfgETI.esm.min.js.map +1 -0
  78. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-B-HlmeqI.esm.js +81 -0
  79. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-B-HlmeqI.esm.js.map +1 -0
  80. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-_IaUmSJE.esm.min.js +2 -0
  81. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-_IaUmSJE.esm.min.js.map +1 -0
  82. package/dist/chunks/KHR_materials_sheen-D2QD8uSC.esm.js +85 -0
  83. package/dist/chunks/KHR_materials_sheen-D2QD8uSC.esm.js.map +1 -0
  84. package/dist/chunks/KHR_materials_sheen-cqxpRyXD.esm.min.js +2 -0
  85. package/dist/chunks/KHR_materials_sheen-cqxpRyXD.esm.min.js.map +1 -0
  86. package/dist/chunks/KHR_materials_specular-DnHIH9RX.esm.min.js +2 -0
  87. package/dist/chunks/KHR_materials_specular-DnHIH9RX.esm.min.js.map +1 -0
  88. package/dist/chunks/KHR_materials_specular-vwRXhXVF.esm.js +75 -0
  89. package/dist/chunks/KHR_materials_specular-vwRXhXVF.esm.js.map +1 -0
  90. package/dist/chunks/KHR_materials_transmission-D81TRCgt.esm.min.js +2 -0
  91. package/dist/chunks/KHR_materials_transmission-D81TRCgt.esm.min.js.map +1 -0
  92. package/dist/chunks/KHR_materials_transmission-nPX6lno-.esm.js +307 -0
  93. package/dist/chunks/KHR_materials_transmission-nPX6lno-.esm.js.map +1 -0
  94. package/dist/chunks/KHR_materials_unlit-CLSTXPsk.esm.min.js +2 -0
  95. package/dist/chunks/KHR_materials_unlit-CLSTXPsk.esm.min.js.map +1 -0
  96. package/dist/chunks/KHR_materials_unlit-pmQPq5qR.esm.js +74 -0
  97. package/dist/chunks/KHR_materials_unlit-pmQPq5qR.esm.js.map +1 -0
  98. package/dist/chunks/KHR_materials_variants-C_XVH51a.esm.js +262 -0
  99. package/dist/chunks/KHR_materials_variants-C_XVH51a.esm.js.map +1 -0
  100. package/dist/chunks/KHR_materials_variants-Czo1ZM8r.esm.min.js +2 -0
  101. package/dist/chunks/KHR_materials_variants-Czo1ZM8r.esm.min.js.map +1 -0
  102. package/dist/chunks/KHR_materials_volume-BJVGGE1g.esm.min.js +2 -0
  103. package/dist/chunks/KHR_materials_volume-BJVGGE1g.esm.min.js.map +1 -0
  104. package/dist/chunks/KHR_materials_volume-C4EKOzF-.esm.js +87 -0
  105. package/dist/chunks/KHR_materials_volume-C4EKOzF-.esm.js.map +1 -0
  106. package/dist/chunks/KHR_mesh_quantization-CZIcA8DN.esm.min.js +2 -0
  107. package/dist/chunks/KHR_mesh_quantization-CZIcA8DN.esm.min.js.map +1 -0
  108. package/dist/chunks/KHR_mesh_quantization-DG9WNux6.esm.js +26 -0
  109. package/dist/chunks/KHR_mesh_quantization-DG9WNux6.esm.js.map +1 -0
  110. package/dist/chunks/KHR_node_hoverability-C1YMkQ95.esm.js +39 -0
  111. package/dist/chunks/KHR_node_hoverability-C1YMkQ95.esm.js.map +1 -0
  112. package/dist/chunks/KHR_node_hoverability-HxHiCdR9.esm.min.js +2 -0
  113. package/dist/chunks/KHR_node_hoverability-HxHiCdR9.esm.min.js.map +1 -0
  114. package/dist/chunks/KHR_node_visibility-C5tc6GOc.esm.js +46 -0
  115. package/dist/chunks/KHR_node_visibility-C5tc6GOc.esm.js.map +1 -0
  116. package/dist/chunks/KHR_node_visibility-CSqn8wRd.esm.min.js +2 -0
  117. package/dist/chunks/KHR_node_visibility-CSqn8wRd.esm.min.js.map +1 -0
  118. package/dist/chunks/KHR_texture_basisu-DA2FE-qb.esm.min.js +2 -0
  119. package/dist/chunks/KHR_texture_basisu-DA2FE-qb.esm.min.js.map +1 -0
  120. package/dist/chunks/KHR_texture_basisu-KtQL54P-.esm.js +43 -0
  121. package/dist/chunks/KHR_texture_basisu-KtQL54P-.esm.js.map +1 -0
  122. package/dist/chunks/KHR_texture_transform-Cb6Q41F3.esm.js +63 -0
  123. package/dist/chunks/KHR_texture_transform-Cb6Q41F3.esm.js.map +1 -0
  124. package/dist/chunks/KHR_texture_transform-GdBAq_uW.esm.min.js +2 -0
  125. package/dist/chunks/KHR_texture_transform-GdBAq_uW.esm.min.js.map +1 -0
  126. package/dist/chunks/KHR_xmp_json_ld-CD_mkZDv.esm.min.js +2 -0
  127. package/dist/chunks/KHR_xmp_json_ld-CD_mkZDv.esm.min.js.map +1 -0
  128. package/dist/chunks/KHR_xmp_json_ld-f1rcQfsd.esm.js +51 -0
  129. package/dist/chunks/KHR_xmp_json_ld-f1rcQfsd.esm.js.map +1 -0
  130. package/dist/chunks/MSFT_audio_emitter-BU83EIcP.esm.min.js +2 -0
  131. package/dist/chunks/MSFT_audio_emitter-BU83EIcP.esm.min.js.map +1 -0
  132. package/dist/chunks/MSFT_audio_emitter-ClwdeJaR.esm.js +2201 -0
  133. package/dist/chunks/MSFT_audio_emitter-ClwdeJaR.esm.js.map +1 -0
  134. package/dist/chunks/MSFT_lod-D3MQWFc3.esm.min.js +2 -0
  135. package/dist/chunks/MSFT_lod-D3MQWFc3.esm.min.js.map +1 -0
  136. package/dist/chunks/MSFT_lod-DkM5iXcm.esm.js +337 -0
  137. package/dist/chunks/MSFT_lod-DkM5iXcm.esm.js.map +1 -0
  138. package/dist/chunks/MSFT_minecraftMesh-CG9JY5Ic.esm.min.js +2 -0
  139. package/dist/chunks/MSFT_minecraftMesh-CG9JY5Ic.esm.min.js.map +1 -0
  140. package/dist/chunks/MSFT_minecraftMesh-Cyjdx_Y_.esm.js +46 -0
  141. package/dist/chunks/MSFT_minecraftMesh-Cyjdx_Y_.esm.js.map +1 -0
  142. package/dist/chunks/MSFT_sRGBFactors-Bm3_fRmt.esm.min.js +2 -0
  143. package/dist/chunks/MSFT_sRGBFactors-Bm3_fRmt.esm.min.js.map +1 -0
  144. package/dist/chunks/MSFT_sRGBFactors-uFdNij-4.esm.js +47 -0
  145. package/dist/chunks/MSFT_sRGBFactors-uFdNij-4.esm.js.map +1 -0
  146. package/dist/chunks/animationGroup-CravGs2P.esm.min.js +2 -0
  147. package/dist/chunks/animationGroup-CravGs2P.esm.min.js.map +1 -0
  148. package/dist/chunks/animationGroup-DqmFa1Nk.esm.js +2482 -0
  149. package/dist/chunks/animationGroup-DqmFa1Nk.esm.js.map +1 -0
  150. package/dist/chunks/assetContainer-0Qu2XIWb.esm.js +1720 -0
  151. package/dist/chunks/assetContainer-0Qu2XIWb.esm.js.map +1 -0
  152. package/dist/chunks/assetContainer-CMuD-n3X.esm.min.js +2 -0
  153. package/dist/chunks/assetContainer-CMuD-n3X.esm.min.js.map +1 -0
  154. package/dist/chunks/audioEngine--EMyAh-L.esm.js +305 -0
  155. package/dist/chunks/audioEngine--EMyAh-L.esm.js.map +1 -0
  156. package/dist/chunks/audioEngine-3doZGQV6.esm.min.js +2 -0
  157. package/dist/chunks/audioEngine-3doZGQV6.esm.min.js.map +1 -0
  158. package/dist/chunks/bakedVertexAnimation-DgMI1D24.esm.min.js +2 -0
  159. package/dist/chunks/bakedVertexAnimation-DgMI1D24.esm.min.js.map +1 -0
  160. package/dist/chunks/bakedVertexAnimation-gQlUctpB.esm.js +114 -0
  161. package/dist/chunks/bakedVertexAnimation-gQlUctpB.esm.js.map +1 -0
  162. package/dist/chunks/basisTextureLoader-B0PY0ILM.esm.js +600 -0
  163. package/dist/chunks/basisTextureLoader-B0PY0ILM.esm.js.map +1 -0
  164. package/dist/chunks/basisTextureLoader-ES0mOtqQ.esm.min.js +2 -0
  165. package/dist/chunks/basisTextureLoader-ES0mOtqQ.esm.min.js.map +1 -0
  166. package/dist/chunks/dds-DEZD6DKL.esm.min.js +2 -0
  167. package/dist/chunks/dds-DEZD6DKL.esm.min.js.map +1 -0
  168. package/dist/chunks/dds-HwVEMga8.esm.js +540 -0
  169. package/dist/chunks/dds-HwVEMga8.esm.js.map +1 -0
  170. package/dist/chunks/ddsTextureLoader-3PDKukdG.esm.js +88 -0
  171. package/dist/chunks/ddsTextureLoader-3PDKukdG.esm.js.map +1 -0
  172. package/dist/chunks/ddsTextureLoader-C62DqYdE.esm.min.js +2 -0
  173. package/dist/chunks/ddsTextureLoader-C62DqYdE.esm.min.js.map +1 -0
  174. package/dist/chunks/decalFragment-B9KsZn_u.esm.min.js +2 -0
  175. package/dist/chunks/decalFragment-B9KsZn_u.esm.min.js.map +1 -0
  176. package/dist/chunks/decalFragment-CNA1EQK9.esm.js +18 -0
  177. package/dist/chunks/decalFragment-CNA1EQK9.esm.js.map +1 -0
  178. package/dist/chunks/default.fragment-BsajFq2Q.esm.js +446 -0
  179. package/dist/chunks/default.fragment-BsajFq2Q.esm.js.map +1 -0
  180. package/dist/chunks/default.fragment-C7O2NjXo.esm.min.js +2 -0
  181. package/dist/chunks/default.fragment-C7O2NjXo.esm.min.js.map +1 -0
  182. package/dist/chunks/default.fragment-CNef5Xlg.esm.min.js +2 -0
  183. package/dist/chunks/default.fragment-CNef5Xlg.esm.min.js.map +1 -0
  184. package/dist/chunks/default.fragment-DAO0SBl-.esm.js +515 -0
  185. package/dist/chunks/default.fragment-DAO0SBl-.esm.js.map +1 -0
  186. package/dist/chunks/default.vertex-Ban5pFUb.esm.js +211 -0
  187. package/dist/chunks/default.vertex-Ban5pFUb.esm.js.map +1 -0
  188. package/dist/chunks/default.vertex-CPjp6YBQ.esm.min.js +2 -0
  189. package/dist/chunks/default.vertex-CPjp6YBQ.esm.min.js.map +1 -0
  190. package/dist/chunks/default.vertex-CemfGK4Y.esm.min.js +2 -0
  191. package/dist/chunks/default.vertex-CemfGK4Y.esm.min.js.map +1 -0
  192. package/dist/chunks/default.vertex-QE4cV7Y2.esm.js +190 -0
  193. package/dist/chunks/default.vertex-QE4cV7Y2.esm.js.map +1 -0
  194. package/dist/chunks/defaultUboDeclaration-B5nIsoCQ.esm.min.js +2 -0
  195. package/dist/chunks/defaultUboDeclaration-B5nIsoCQ.esm.min.js.map +1 -0
  196. package/dist/chunks/defaultUboDeclaration-B8tY8ajW.esm.js +15 -0
  197. package/dist/chunks/defaultUboDeclaration-B8tY8ajW.esm.js.map +1 -0
  198. package/dist/chunks/defaultUboDeclaration-D7yr1BRw.esm.js +13 -0
  199. package/dist/chunks/defaultUboDeclaration-D7yr1BRw.esm.js.map +1 -0
  200. package/dist/chunks/defaultUboDeclaration-Db_EQWlv.esm.min.js +2 -0
  201. package/dist/chunks/defaultUboDeclaration-Db_EQWlv.esm.min.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-C13JzZr_.esm.min.js +2 -0
  207. package/dist/chunks/dumpTools-C13JzZr_.esm.min.js.map +1 -0
  208. package/dist/chunks/dumpTools-D6BRv6Ws.esm.js +200 -0
  209. package/dist/chunks/dumpTools-D6BRv6Ws.esm.js.map +1 -0
  210. package/dist/chunks/engine-29lBc-mw.esm.min.js +2 -0
  211. package/dist/chunks/engine-29lBc-mw.esm.min.js.map +1 -0
  212. package/dist/chunks/engine-Bk6S663t.esm.js +2213 -0
  213. package/dist/chunks/engine-Bk6S663t.esm.js.map +1 -0
  214. package/dist/chunks/engine.common-D_DOB0rT.esm.js +1162 -0
  215. package/dist/chunks/engine.common-D_DOB0rT.esm.js.map +1 -0
  216. package/dist/chunks/engine.common-OpqDqcE2.esm.min.js +2 -0
  217. package/dist/chunks/engine.common-OpqDqcE2.esm.min.js.map +1 -0
  218. package/dist/chunks/envTextureLoader-DS13pG9w.esm.js +64 -0
  219. package/dist/chunks/envTextureLoader-DS13pG9w.esm.js.map +1 -0
  220. package/dist/chunks/envTextureLoader-Dt6q0XDu.esm.min.js +2 -0
  221. package/dist/chunks/envTextureLoader-Dt6q0XDu.esm.min.js.map +1 -0
  222. package/dist/chunks/environmentTextureTools-DKN-Hd8c.esm.min.js +2 -0
  223. package/dist/chunks/environmentTextureTools-DKN-Hd8c.esm.min.js.map +1 -0
  224. package/dist/chunks/environmentTextureTools-DWkvV21A.esm.js +382 -0
  225. package/dist/chunks/environmentTextureTools-DWkvV21A.esm.js.map +1 -0
  226. package/dist/chunks/exrTextureLoader-6o4jfUaF.esm.js +1683 -0
  227. package/dist/chunks/exrTextureLoader-6o4jfUaF.esm.js.map +1 -0
  228. package/dist/chunks/exrTextureLoader-CXV9O3pZ.esm.min.js +2 -0
  229. package/dist/chunks/exrTextureLoader-CXV9O3pZ.esm.min.js.map +1 -0
  230. package/dist/chunks/fogFragment-BdOtsPe3.esm.js +102 -0
  231. package/dist/chunks/fogFragment-BdOtsPe3.esm.js.map +1 -0
  232. package/dist/chunks/fogFragment-Cv3Bqrrg.esm.js +101 -0
  233. package/dist/chunks/fogFragment-Cv3Bqrrg.esm.js.map +1 -0
  234. package/dist/chunks/fogFragment-D91rqvp0.esm.min.js +2 -0
  235. package/dist/chunks/fogFragment-D91rqvp0.esm.min.js.map +1 -0
  236. package/dist/chunks/fogFragment-qdYpZbGA.esm.min.js +2 -0
  237. package/dist/chunks/fogFragment-qdYpZbGA.esm.min.js.map +1 -0
  238. package/dist/chunks/fresnelFunction-DBMK4K-2.esm.min.js +2 -0
  239. package/dist/chunks/fresnelFunction-DBMK4K-2.esm.min.js.map +1 -0
  240. package/dist/chunks/fresnelFunction-o5ZOc6C0.esm.js +12 -0
  241. package/dist/chunks/fresnelFunction-o5ZOc6C0.esm.js.map +1 -0
  242. package/dist/chunks/glTFLoader-Dj_JCgqJ.esm.min.js +2 -0
  243. package/dist/chunks/glTFLoader-Dj_JCgqJ.esm.min.js.map +1 -0
  244. package/dist/chunks/glTFLoader-DnWHbX53.esm.js +7693 -0
  245. package/dist/chunks/glTFLoader-DnWHbX53.esm.js.map +1 -0
  246. package/dist/chunks/glTFLoaderAnimation-A_WVS-lt.esm.min.js +2 -0
  247. package/dist/chunks/glTFLoaderAnimation-A_WVS-lt.esm.min.js.map +1 -0
  248. package/dist/chunks/glTFLoaderAnimation-C3gHlipY.esm.js +77 -0
  249. package/dist/chunks/glTFLoaderAnimation-C3gHlipY.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-91QStv6v.esm.min.js +2 -0
  255. package/dist/chunks/harmonicsFunctions-91QStv6v.esm.min.js.map +1 -0
  256. package/dist/chunks/harmonicsFunctions-DBJQNoSA.esm.min.js +2 -0
  257. package/dist/chunks/harmonicsFunctions-DBJQNoSA.esm.min.js.map +1 -0
  258. package/dist/chunks/harmonicsFunctions-DXdlMMN6.esm.js +34 -0
  259. package/dist/chunks/harmonicsFunctions-DXdlMMN6.esm.js.map +1 -0
  260. package/dist/chunks/harmonicsFunctions-VtAD6DeX.esm.js +35 -0
  261. package/dist/chunks/harmonicsFunctions-VtAD6DeX.esm.js.map +1 -0
  262. package/dist/chunks/hdrTextureLoader-CYtpPSzs.esm.js +253 -0
  263. package/dist/chunks/hdrTextureLoader-CYtpPSzs.esm.js.map +1 -0
  264. package/dist/chunks/hdrTextureLoader-CzZ1hV7q.esm.min.js +2 -0
  265. package/dist/chunks/hdrTextureLoader-CzZ1hV7q.esm.min.js.map +1 -0
  266. package/dist/chunks/helperFunctions-Bn3a_gzG.esm.js +110 -0
  267. package/dist/chunks/helperFunctions-Bn3a_gzG.esm.js.map +1 -0
  268. package/dist/chunks/helperFunctions-CA_QOVSE.esm.js +83 -0
  269. package/dist/chunks/helperFunctions-CA_QOVSE.esm.js.map +1 -0
  270. package/dist/chunks/helperFunctions-mebe29sq.esm.min.js +2 -0
  271. package/dist/chunks/helperFunctions-mebe29sq.esm.min.js.map +1 -0
  272. package/dist/chunks/helperFunctions-wIdfkMdZ.esm.min.js +2 -0
  273. package/dist/chunks/helperFunctions-wIdfkMdZ.esm.min.js.map +1 -0
  274. package/dist/chunks/iesTextureLoader-D8_bkaCP.esm.min.js +2 -0
  275. package/dist/chunks/iesTextureLoader-D8_bkaCP.esm.min.js.map +1 -0
  276. package/dist/chunks/iesTextureLoader-K1MQUalq.esm.js +189 -0
  277. package/dist/chunks/iesTextureLoader-K1MQUalq.esm.js.map +1 -0
  278. package/dist/chunks/index-Bo5F_mGk.esm.min.js +57 -0
  279. package/dist/chunks/index-Bo5F_mGk.esm.min.js.map +1 -0
  280. package/dist/chunks/index-Dlf001gP.esm.js +74889 -0
  281. package/dist/chunks/index-Dlf001gP.esm.js.map +1 -0
  282. package/dist/chunks/ktxTextureLoader-B6UHYOxL.esm.js +814 -0
  283. package/dist/chunks/ktxTextureLoader-B6UHYOxL.esm.js.map +1 -0
  284. package/dist/chunks/ktxTextureLoader-s_dbtiwN.esm.min.js +2 -0
  285. package/dist/chunks/ktxTextureLoader-s_dbtiwN.esm.min.js.map +1 -0
  286. package/dist/chunks/logDepthDeclaration--xmemf5p.esm.min.js +2 -0
  287. package/dist/chunks/logDepthDeclaration--xmemf5p.esm.min.js.map +1 -0
  288. package/dist/chunks/logDepthDeclaration-Babs-3_m.esm.js +35 -0
  289. package/dist/chunks/logDepthDeclaration-Babs-3_m.esm.js.map +1 -0
  290. package/dist/chunks/logDepthDeclaration-BvoznvSG.esm.min.js +2 -0
  291. package/dist/chunks/logDepthDeclaration-BvoznvSG.esm.min.js.map +1 -0
  292. package/dist/chunks/logDepthDeclaration-_EPT9ybx.esm.js +11 -0
  293. package/dist/chunks/logDepthDeclaration-_EPT9ybx.esm.js.map +1 -0
  294. package/dist/chunks/logDepthVertex-0vve_qKh.esm.js +77 -0
  295. package/dist/chunks/logDepthVertex-0vve_qKh.esm.js.map +1 -0
  296. package/dist/chunks/logDepthVertex-BkGmO8_s.esm.js +81 -0
  297. package/dist/chunks/logDepthVertex-BkGmO8_s.esm.js.map +1 -0
  298. package/dist/chunks/logDepthVertex-CVcNpHQe.esm.min.js +2 -0
  299. package/dist/chunks/logDepthVertex-CVcNpHQe.esm.min.js.map +1 -0
  300. package/dist/chunks/logDepthVertex-DL8eWalk.esm.min.js +2 -0
  301. package/dist/chunks/logDepthVertex-DL8eWalk.esm.min.js.map +1 -0
  302. package/dist/chunks/mainUVVaryingDeclaration-9DUO7sPf.esm.js +11 -0
  303. package/dist/chunks/mainUVVaryingDeclaration-9DUO7sPf.esm.js.map +1 -0
  304. package/dist/chunks/mainUVVaryingDeclaration-DXZGPs7O.esm.js +11 -0
  305. package/dist/chunks/mainUVVaryingDeclaration-DXZGPs7O.esm.js.map +1 -0
  306. package/dist/chunks/mainUVVaryingDeclaration-DaFtbg5X.esm.min.js +2 -0
  307. package/dist/chunks/mainUVVaryingDeclaration-DaFtbg5X.esm.min.js.map +1 -0
  308. package/dist/chunks/mainUVVaryingDeclaration-lKBcMFcP.esm.min.js +2 -0
  309. package/dist/chunks/mainUVVaryingDeclaration-lKBcMFcP.esm.min.js.map +1 -0
  310. package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js +119 -0
  311. package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js.map +1 -0
  312. package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js +2 -0
  313. package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js.map +1 -0
  314. package/dist/chunks/meshUboDeclaration-BN0BlYEZ.esm.js +26 -0
  315. package/dist/chunks/meshUboDeclaration-BN0BlYEZ.esm.js.map +1 -0
  316. package/dist/chunks/meshUboDeclaration-BcQ1P_co.esm.min.js +2 -0
  317. package/dist/chunks/meshUboDeclaration-BcQ1P_co.esm.min.js.map +1 -0
  318. package/dist/chunks/objFileLoader-Lx7JtYFA.esm.min.js +2 -0
  319. package/dist/chunks/objFileLoader-Lx7JtYFA.esm.min.js.map +1 -0
  320. package/dist/chunks/objFileLoader-_nxEPYB4.esm.js +1338 -0
  321. package/dist/chunks/objFileLoader-_nxEPYB4.esm.js.map +1 -0
  322. package/dist/chunks/oitFragment-BPgREULe.esm.js +1240 -0
  323. package/dist/chunks/oitFragment-BPgREULe.esm.js.map +1 -0
  324. package/dist/chunks/oitFragment-CKNxTV0T.esm.min.js +2 -0
  325. package/dist/chunks/oitFragment-CKNxTV0T.esm.min.js.map +1 -0
  326. package/dist/chunks/oitFragment-CT3oWGRL.esm.js +1078 -0
  327. package/dist/chunks/oitFragment-CT3oWGRL.esm.js.map +1 -0
  328. package/dist/chunks/oitFragment-CXrV_64a.esm.min.js +2 -0
  329. package/dist/chunks/oitFragment-CXrV_64a.esm.min.js.map +1 -0
  330. package/dist/chunks/pass.fragment-BugqjVKo.esm.js +15 -0
  331. package/dist/chunks/pass.fragment-BugqjVKo.esm.js.map +1 -0
  332. package/dist/chunks/pass.fragment-X-KK3tOa.esm.min.js +2 -0
  333. package/dist/chunks/pass.fragment-X-KK3tOa.esm.min.js.map +1 -0
  334. package/dist/chunks/pass.fragment-pJ1J3AeO.esm.min.js +2 -0
  335. package/dist/chunks/pass.fragment-pJ1J3AeO.esm.min.js.map +1 -0
  336. package/dist/chunks/pass.fragment-tk9KCmM-.esm.js +15 -0
  337. package/dist/chunks/pass.fragment-tk9KCmM-.esm.js.map +1 -0
  338. package/dist/chunks/pbr.fragment-C4BFWzEP.esm.js +3269 -0
  339. package/dist/chunks/pbr.fragment-C4BFWzEP.esm.js.map +1 -0
  340. package/dist/chunks/pbr.fragment-CTE0zFNb.esm.min.js +2 -0
  341. package/dist/chunks/pbr.fragment-CTE0zFNb.esm.min.js.map +1 -0
  342. package/dist/chunks/pbr.fragment-DZRIiJzv.esm.js +3222 -0
  343. package/dist/chunks/pbr.fragment-DZRIiJzv.esm.js.map +1 -0
  344. package/dist/chunks/pbr.fragment-Dk1kkP87.esm.min.js +2 -0
  345. package/dist/chunks/pbr.fragment-Dk1kkP87.esm.min.js.map +1 -0
  346. package/dist/chunks/pbr.vertex-Ba8BDEep.esm.min.js +2 -0
  347. package/dist/chunks/pbr.vertex-Ba8BDEep.esm.min.js.map +1 -0
  348. package/dist/chunks/pbr.vertex-DM2WONhK.esm.js +223 -0
  349. package/dist/chunks/pbr.vertex-DM2WONhK.esm.js.map +1 -0
  350. package/dist/chunks/pbr.vertex-DVghYyb7.esm.min.js +2 -0
  351. package/dist/chunks/pbr.vertex-DVghYyb7.esm.min.js.map +1 -0
  352. package/dist/chunks/pbr.vertex-DiVjR6Bs.esm.js +348 -0
  353. package/dist/chunks/pbr.vertex-DiVjR6Bs.esm.js.map +1 -0
  354. package/dist/chunks/postprocess.vertex-CtVD6qfW.esm.min.js +2 -0
  355. package/dist/chunks/postprocess.vertex-CtVD6qfW.esm.min.js.map +1 -0
  356. package/dist/chunks/postprocess.vertex-DntzOpKV.esm.js +20 -0
  357. package/dist/chunks/postprocess.vertex-DntzOpKV.esm.js.map +1 -0
  358. package/dist/chunks/rawTexture-BAt5J3G4.esm.min.js +2 -0
  359. package/dist/chunks/rawTexture-BAt5J3G4.esm.min.js.map +1 -0
  360. package/dist/chunks/rawTexture-D0O_yrdQ.esm.js +191 -0
  361. package/dist/chunks/rawTexture-D0O_yrdQ.esm.js.map +1 -0
  362. package/dist/chunks/ray-Bbt37I0I.esm.js +946 -0
  363. package/dist/chunks/ray-Bbt37I0I.esm.js.map +1 -0
  364. package/dist/chunks/ray-OQ0d0a-k.esm.min.js +2 -0
  365. package/dist/chunks/ray-OQ0d0a-k.esm.min.js.map +1 -0
  366. package/dist/chunks/rgbdDecode.fragment-4HjKGwMm.esm.min.js +2 -0
  367. package/dist/chunks/rgbdDecode.fragment-4HjKGwMm.esm.min.js.map +1 -0
  368. package/dist/chunks/rgbdDecode.fragment-CKVGwRZO.esm.js +13 -0
  369. package/dist/chunks/rgbdDecode.fragment-CKVGwRZO.esm.js.map +1 -0
  370. package/dist/chunks/rgbdDecode.fragment-Cn6YVnkB.esm.js +13 -0
  371. package/dist/chunks/rgbdDecode.fragment-Cn6YVnkB.esm.js.map +1 -0
  372. package/dist/chunks/rgbdDecode.fragment-DwcDy8Eo.esm.min.js +2 -0
  373. package/dist/chunks/rgbdDecode.fragment-DwcDy8Eo.esm.min.js.map +1 -0
  374. package/dist/chunks/rgbdEncode.fragment-BUluDIqG.esm.min.js +2 -0
  375. package/dist/chunks/rgbdEncode.fragment-BUluDIqG.esm.min.js.map +1 -0
  376. package/dist/chunks/rgbdEncode.fragment-CEiZq0Qt.esm.js +13 -0
  377. package/dist/chunks/rgbdEncode.fragment-CEiZq0Qt.esm.js.map +1 -0
  378. package/dist/chunks/rgbdEncode.fragment-CY0yYtEl.esm.js +13 -0
  379. package/dist/chunks/rgbdEncode.fragment-CY0yYtEl.esm.js.map +1 -0
  380. package/dist/chunks/rgbdEncode.fragment-DS4_h_Qc.esm.min.js +2 -0
  381. package/dist/chunks/rgbdEncode.fragment-DS4_h_Qc.esm.min.js.map +1 -0
  382. package/dist/chunks/splatFileLoader-C9ykR2nU.esm.js +3387 -0
  383. package/dist/chunks/splatFileLoader-C9ykR2nU.esm.js.map +1 -0
  384. package/dist/chunks/splatFileLoader-fz6lXWf1.esm.min.js +2 -0
  385. package/dist/chunks/splatFileLoader-fz6lXWf1.esm.min.js.map +1 -0
  386. package/dist/chunks/spotLight-BJUVKiS1.esm.min.js +2 -0
  387. package/dist/chunks/spotLight-BJUVKiS1.esm.min.js.map +1 -0
  388. package/dist/chunks/spotLight-DPadbSE2.esm.js +701 -0
  389. package/dist/chunks/spotLight-DPadbSE2.esm.js.map +1 -0
  390. package/dist/chunks/standardMaterial-BFBsF3pv.esm.min.js +2 -0
  391. package/dist/chunks/standardMaterial-BFBsF3pv.esm.min.js.map +1 -0
  392. package/dist/chunks/standardMaterial-eJkfs5dX.esm.js +1807 -0
  393. package/dist/chunks/standardMaterial-eJkfs5dX.esm.js.map +1 -0
  394. package/dist/chunks/stlFileLoader-D-4wZdg7.esm.js +238 -0
  395. package/dist/chunks/stlFileLoader-D-4wZdg7.esm.js.map +1 -0
  396. package/dist/chunks/stlFileLoader-DFdDdaYW.esm.min.js +2 -0
  397. package/dist/chunks/stlFileLoader-DFdDdaYW.esm.min.js.map +1 -0
  398. package/dist/chunks/tgaTextureLoader-84Uwk9uE.esm.min.js +2 -0
  399. package/dist/chunks/tgaTextureLoader-84Uwk9uE.esm.min.js.map +1 -0
  400. package/dist/chunks/tgaTextureLoader-DDAxGDFK.esm.js +349 -0
  401. package/dist/chunks/tgaTextureLoader-DDAxGDFK.esm.js.map +1 -0
  402. package/dist/chunks/thinEngine-CiBi1yBe.esm.min.js +2 -0
  403. package/dist/chunks/thinEngine-CiBi1yBe.esm.min.js.map +1 -0
  404. package/dist/chunks/thinEngine-iDkoF96X.esm.js +3848 -0
  405. package/dist/chunks/thinEngine-iDkoF96X.esm.js.map +1 -0
  406. package/dist/chunks/thinInstanceMesh-DGBYkFXN.esm.js +314 -0
  407. package/dist/chunks/thinInstanceMesh-DGBYkFXN.esm.js.map +1 -0
  408. package/dist/chunks/thinInstanceMesh-MROq1d7v.esm.min.js +2 -0
  409. package/dist/chunks/thinInstanceMesh-MROq1d7v.esm.min.js.map +1 -0
  410. package/dist/chunks/vertexColorMixing-0VXbzCuF.esm.js +428 -0
  411. package/dist/chunks/vertexColorMixing-0VXbzCuF.esm.js.map +1 -0
  412. package/dist/chunks/vertexColorMixing-B3GD6hE2.esm.js +538 -0
  413. package/dist/chunks/vertexColorMixing-B3GD6hE2.esm.js.map +1 -0
  414. package/dist/chunks/vertexColorMixing-ClVYo-h9.esm.min.js +2 -0
  415. package/dist/chunks/vertexColorMixing-ClVYo-h9.esm.min.js.map +1 -0
  416. package/dist/chunks/vertexColorMixing-j0Dix_Wy.esm.min.js +2 -0
  417. package/dist/chunks/vertexColorMixing-j0Dix_Wy.esm.min.js.map +1 -0
  418. package/dist/chunks/webgpuEngine-BLhhEybd.esm.min.js +2 -0
  419. package/dist/chunks/webgpuEngine-BLhhEybd.esm.min.js.map +1 -0
  420. package/dist/chunks/webgpuEngine-Cs5fkngY.esm.js +11533 -0
  421. package/dist/chunks/webgpuEngine-Cs5fkngY.esm.js.map +1 -0
  422. package/dist/chunks/workerPool-BUOov2K1.esm.js +122 -0
  423. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +1 -0
  424. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +2 -0
  425. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +1 -0
  426. package/lib/index.d.ts +591 -0
  427. package/lib/index.js +2165 -0
  428. package/lib/index.js.map +1 -0
  429. package/package.json +19 -28
  430. package/readme.md +28 -28
  431. package/configuration/configuration.d.ts +0 -107
  432. package/configuration/configuration.js +0 -16
  433. package/configuration/configuration.js.map +0 -1
  434. package/configuration/configurationCompatibility.d.ts +0 -8
  435. package/configuration/configurationCompatibility.js +0 -66
  436. package/configuration/configurationCompatibility.js.map +0 -1
  437. package/configuration/configurationContainer.d.ts +0 -10
  438. package/configuration/configurationContainer.js +0 -10
  439. package/configuration/configurationContainer.js.map +0 -1
  440. package/configuration/globals.d.ts +0 -6
  441. package/configuration/globals.js +0 -18
  442. package/configuration/globals.js.map +0 -1
  443. package/configuration/index.d.ts +0 -2
  444. package/configuration/index.js +0 -4
  445. package/configuration/index.js.map +0 -1
  446. package/configuration/interfaces/cameraConfiguration.d.ts +0 -31
  447. package/configuration/interfaces/cameraConfiguration.js +0 -2
  448. package/configuration/interfaces/cameraConfiguration.js.map +0 -1
  449. package/configuration/interfaces/colorGradingConfiguration.d.ts +0 -81
  450. package/configuration/interfaces/colorGradingConfiguration.js +0 -2
  451. package/configuration/interfaces/colorGradingConfiguration.js.map +0 -1
  452. package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +0 -20
  453. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +0 -2
  454. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +0 -1
  455. package/configuration/interfaces/environmentMapConfiguration.d.ts +0 -22
  456. package/configuration/interfaces/environmentMapConfiguration.js +0 -2
  457. package/configuration/interfaces/environmentMapConfiguration.js.map +0 -1
  458. package/configuration/interfaces/groundConfiguration.d.ts +0 -24
  459. package/configuration/interfaces/groundConfiguration.js +0 -2
  460. package/configuration/interfaces/groundConfiguration.js.map +0 -1
  461. package/configuration/interfaces/imageProcessingConfiguration.d.ts +0 -45
  462. package/configuration/interfaces/imageProcessingConfiguration.js +0 -2
  463. package/configuration/interfaces/imageProcessingConfiguration.js.map +0 -1
  464. package/configuration/interfaces/index.d.ts +0 -15
  465. package/configuration/interfaces/index.js +0 -16
  466. package/configuration/interfaces/index.js.map +0 -1
  467. package/configuration/interfaces/lightConfiguration.d.ts +0 -60
  468. package/configuration/interfaces/lightConfiguration.js +0 -2
  469. package/configuration/interfaces/lightConfiguration.js.map +0 -1
  470. package/configuration/interfaces/modelAnimationConfiguration.d.ts +0 -26
  471. package/configuration/interfaces/modelAnimationConfiguration.js +0 -2
  472. package/configuration/interfaces/modelAnimationConfiguration.js.map +0 -1
  473. package/configuration/interfaces/modelConfiguration.d.ts +0 -65
  474. package/configuration/interfaces/modelConfiguration.js +0 -2
  475. package/configuration/interfaces/modelConfiguration.js.map +0 -1
  476. package/configuration/interfaces/observersConfiguration.d.ts +0 -5
  477. package/configuration/interfaces/observersConfiguration.js +0 -2
  478. package/configuration/interfaces/observersConfiguration.js.map +0 -1
  479. package/configuration/interfaces/sceneConfiguration.d.ts +0 -48
  480. package/configuration/interfaces/sceneConfiguration.js +0 -2
  481. package/configuration/interfaces/sceneConfiguration.js.map +0 -1
  482. package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +0 -23
  483. package/configuration/interfaces/sceneOptimizerConfiguration.js +0 -2
  484. package/configuration/interfaces/sceneOptimizerConfiguration.js.map +0 -1
  485. package/configuration/interfaces/skyboxConfiguration.d.ts +0 -21
  486. package/configuration/interfaces/skyboxConfiguration.js +0 -2
  487. package/configuration/interfaces/skyboxConfiguration.js.map +0 -1
  488. package/configuration/interfaces/templateConfiguration.d.ts +0 -67
  489. package/configuration/interfaces/templateConfiguration.js +0 -2
  490. package/configuration/interfaces/templateConfiguration.js.map +0 -1
  491. package/configuration/interfaces/vrConfiguration.d.ts +0 -16
  492. package/configuration/interfaces/vrConfiguration.js +0 -2
  493. package/configuration/interfaces/vrConfiguration.js.map +0 -1
  494. package/configuration/loader.d.ts +0 -4
  495. package/configuration/loader.js +0 -17
  496. package/configuration/loader.js.map +0 -1
  497. package/configuration/mappers.d.ts +0 -43
  498. package/configuration/mappers.js +0 -193
  499. package/configuration/mappers.js.map +0 -1
  500. package/configuration/renderOnlyLoader.d.ts +0 -33
  501. package/configuration/renderOnlyLoader.js +0 -162
  502. package/configuration/renderOnlyLoader.js.map +0 -1
  503. package/configuration/types/default.d.ts +0 -6
  504. package/configuration/types/default.js +0 -121
  505. package/configuration/types/default.js.map +0 -1
  506. package/configuration/types/environmentMap.d.ts +0 -5
  507. package/configuration/types/environmentMap.js +0 -14
  508. package/configuration/types/environmentMap.js.map +0 -1
  509. package/configuration/types/extended.d.ts +0 -6
  510. package/configuration/types/extended.js +0 -317
  511. package/configuration/types/extended.js.map +0 -1
  512. package/configuration/types/index.d.ts +0 -14
  513. package/configuration/types/index.js +0 -51
  514. package/configuration/types/index.js.map +0 -1
  515. package/configuration/types/minimal.d.ts +0 -6
  516. package/configuration/types/minimal.js +0 -43
  517. package/configuration/types/minimal.js.map +0 -1
  518. package/configuration/types/renderOnlyDefault.d.ts +0 -30
  519. package/configuration/types/renderOnlyDefault.js +0 -31
  520. package/configuration/types/renderOnlyDefault.js.map +0 -1
  521. package/configuration/types/shadowLight.d.ts +0 -9
  522. package/configuration/types/shadowLight.js +0 -64
  523. package/configuration/types/shadowLight.js.map +0 -1
  524. package/helper/index.d.ts +0 -29
  525. package/helper/index.js +0 -66
  526. package/helper/index.js.map +0 -1
  527. package/index.d.ts +0 -30
  528. package/index.js +0 -46
  529. package/index.js.map +0 -1
  530. package/initializer.d.ts +0 -11
  531. package/initializer.js +0 -35
  532. package/initializer.js.map +0 -1
  533. package/interfaces.d.ts +0 -5
  534. package/interfaces.js +0 -7
  535. package/interfaces.js.map +0 -1
  536. package/labs/environmentSerializer.d.ts +0 -126
  537. package/labs/environmentSerializer.js +0 -191
  538. package/labs/environmentSerializer.js.map +0 -1
  539. package/labs/texture.d.ts +0 -183
  540. package/labs/texture.js +0 -351
  541. package/labs/texture.js.map +0 -1
  542. package/labs/viewerLabs.d.ts +0 -51
  543. package/labs/viewerLabs.js +0 -134
  544. package/labs/viewerLabs.js.map +0 -1
  545. package/loader/modelLoader.d.ts +0 -56
  546. package/loader/modelLoader.js +0 -202
  547. package/loader/modelLoader.js.map +0 -1
  548. package/loader/plugins/applyMaterialConfig.d.ts +0 -12
  549. package/loader/plugins/applyMaterialConfig.js +0 -16
  550. package/loader/plugins/applyMaterialConfig.js.map +0 -1
  551. package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +0 -9
  552. package/loader/plugins/extendedMaterialLoaderPlugin.js +0 -16
  553. package/loader/plugins/extendedMaterialLoaderPlugin.js.map +0 -1
  554. package/loader/plugins/index.d.ts +0 -19
  555. package/loader/plugins/index.js +0 -44
  556. package/loader/plugins/index.js.map +0 -1
  557. package/loader/plugins/loaderPlugin.d.ts +0 -24
  558. package/loader/plugins/loaderPlugin.js +0 -2
  559. package/loader/plugins/loaderPlugin.js.map +0 -1
  560. package/loader/plugins/msftLodLoaderPlugin.d.ts +0 -12
  561. package/loader/plugins/msftLodLoaderPlugin.js +0 -21
  562. package/loader/plugins/msftLodLoaderPlugin.js.map +0 -1
  563. package/loader/plugins/telemetryLoaderPlugin.d.ts +0 -12
  564. package/loader/plugins/telemetryLoaderPlugin.js +0 -36
  565. package/loader/plugins/telemetryLoaderPlugin.js.map +0 -1
  566. package/managers/observablesManager.d.ts +0 -66
  567. package/managers/observablesManager.js +0 -35
  568. package/managers/observablesManager.js.map +0 -1
  569. package/managers/sceneManager.d.ts +0 -245
  570. package/managers/sceneManager.js +0 -1375
  571. package/managers/sceneManager.js.map +0 -1
  572. package/managers/telemetryManager.d.ts +0 -78
  573. package/managers/telemetryManager.js +0 -117
  574. package/managers/telemetryManager.js.map +0 -1
  575. package/model/modelAnimation.d.ts +0 -215
  576. package/model/modelAnimation.js +0 -237
  577. package/model/modelAnimation.js.map +0 -1
  578. package/model/viewerModel.d.ts +0 -233
  579. package/model/viewerModel.js +0 -673
  580. package/model/viewerModel.js.map +0 -1
  581. package/optimizer/custom/extended.d.ts +0 -13
  582. package/optimizer/custom/extended.js +0 -101
  583. package/optimizer/custom/extended.js.map +0 -1
  584. package/optimizer/custom/index.d.ts +0 -9
  585. package/optimizer/custom/index.js +0 -26
  586. package/optimizer/custom/index.js.map +0 -1
  587. package/renderOnlyIndex.d.ts +0 -11
  588. package/renderOnlyIndex.js +0 -18
  589. package/renderOnlyIndex.js.map +0 -1
  590. package/templating/eventManager.d.ts +0 -35
  591. package/templating/eventManager.js +0 -66
  592. package/templating/eventManager.js.map +0 -1
  593. package/templating/plugins/hdButtonPlugin.d.ts +0 -9
  594. package/templating/plugins/hdButtonPlugin.js +0 -22
  595. package/templating/plugins/hdButtonPlugin.js.map +0 -1
  596. package/templating/plugins/printButton.d.ts +0 -9
  597. package/templating/plugins/printButton.js +0 -41
  598. package/templating/plugins/printButton.js.map +0 -1
  599. package/templating/templateManager.d.ts +0 -197
  600. package/templating/templateManager.js +0 -561
  601. package/templating/templateManager.js.map +0 -1
  602. package/templating/viewerTemplatePlugin.d.ts +0 -21
  603. package/templating/viewerTemplatePlugin.js +0 -69
  604. package/templating/viewerTemplatePlugin.js.map +0 -1
  605. package/viewer/defaultViewer.d.ts +0 -130
  606. package/viewer/defaultViewer.js +0 -672
  607. package/viewer/defaultViewer.js.map +0 -1
  608. package/viewer/renderOnlyViewer.d.ts +0 -9
  609. package/viewer/renderOnlyViewer.js +0 -46
  610. package/viewer/renderOnlyViewer.js.map +0 -1
  611. package/viewer/viewer.d.ts +0 -258
  612. package/viewer/viewer.js +0 -783
  613. package/viewer/viewer.js.map +0 -1
  614. package/viewer/viewerManager.d.ts +0 -58
  615. package/viewer/viewerManager.js +0 -91
  616. package/viewer/viewerManager.js.map +0 -1
  617. package/viewer/viewerWithTemplate.d.ts +0 -9
  618. package/viewer/viewerWithTemplate.js +0 -20
  619. package/viewer/viewerWithTemplate.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standardMaterial-eJkfs5dX.esm.js","sources":["../../../../../dev/core/dist/Materials/standardMaterial.js"],"sourcesContent":["import { __decorate } from \"tslib\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport { serialize, serializeAsColor3, expandToProperty, serializeAsFresnelParameters, serializeAsTexture } from \"../Misc/decorators\";\nimport { SmartArray } from \"../Misc/smartArray\";\nimport { Scene } from \"../scene\";\nimport { Matrix } from \"../Maths/math.vector\";\nimport { Color3 } from \"../Maths/math.color\";\nimport { VertexBuffer } from \"../Buffers/buffer\";\nimport { PrePassConfiguration } from \"./prePassConfiguration\";\nimport { ImageProcessingConfiguration } from \"./imageProcessingConfiguration\";\nimport { Material } from \"../Materials/material\";\nimport { MaterialDefines } from \"../Materials/materialDefines\";\nimport { PushMaterial } from \"./pushMaterial\";\nimport { Texture } from \"../Materials/Textures/texture\";\nimport { RegisterClass } from \"../Misc/typeStore\";\nimport { MaterialFlags } from \"./materialFlags\";\nimport { Constants } from \"../Engines/constants\";\nimport { EffectFallbacks } from \"./effectFallbacks\";\nimport { DetailMapConfiguration } from \"./material.detailMapConfiguration\";\nimport { addClipPlaneUniforms, bindClipPlane } from \"./clipPlaneMaterialHelper\";\nimport { BindBonesParameters, BindFogParameters, BindLights, BindLogDepth, BindMorphTargetParameters, BindTextureMatrix, HandleFallbacksForShadows, PrepareAttributesForBakedVertexAnimation, PrepareAttributesForBones, PrepareAttributesForInstances, PrepareAttributesForMorphTargets, PrepareDefinesForAttributes, PrepareDefinesForFrameBoundValues, PrepareDefinesForLights, PrepareDefinesForMergedUV, PrepareDefinesForMisc, PrepareDefinesForMultiview, PrepareDefinesForOIT, PrepareDefinesForPrePass, PrepareUniformsAndSamplersList, } from \"./materialHelper.functions\";\nimport { SerializationHelper } from \"../Misc/decorators.serialization\";\nimport { MaterialHelperGeometryRendering } from \"./materialHelper.geometryrendering\";\nconst onCreatedEffectParameters = { effect: null, subMesh: null };\n/** @internal */\nexport class StandardMaterialDefines extends MaterialDefines {\n /**\n * Initializes the Standard Material defines.\n * @param externalProperties The external properties\n */\n constructor(externalProperties) {\n super(externalProperties);\n this.MAINUV1 = false;\n this.MAINUV2 = false;\n this.MAINUV3 = false;\n this.MAINUV4 = false;\n this.MAINUV5 = false;\n this.MAINUV6 = false;\n this.DIFFUSE = false;\n this.DIFFUSEDIRECTUV = 0;\n this.BAKED_VERTEX_ANIMATION_TEXTURE = false;\n this.AMBIENT = false;\n this.AMBIENTDIRECTUV = 0;\n this.OPACITY = false;\n this.OPACITYDIRECTUV = 0;\n this.OPACITYRGB = false;\n this.REFLECTION = false;\n this.EMISSIVE = false;\n this.EMISSIVEDIRECTUV = 0;\n this.SPECULAR = false;\n this.SPECULARDIRECTUV = 0;\n this.BUMP = false;\n this.BUMPDIRECTUV = 0;\n this.PARALLAX = false;\n this.PARALLAX_RHS = false;\n this.PARALLAXOCCLUSION = false;\n this.SPECULAROVERALPHA = false;\n this.CLIPPLANE = false;\n this.CLIPPLANE2 = false;\n this.CLIPPLANE3 = false;\n this.CLIPPLANE4 = false;\n this.CLIPPLANE5 = false;\n this.CLIPPLANE6 = false;\n this.ALPHATEST = false;\n this.DEPTHPREPASS = false;\n this.ALPHAFROMDIFFUSE = false;\n this.POINTSIZE = false;\n this.FOG = false;\n this.SPECULARTERM = false;\n this.DIFFUSEFRESNEL = false;\n this.OPACITYFRESNEL = false;\n this.REFLECTIONFRESNEL = false;\n this.REFRACTIONFRESNEL = false;\n this.EMISSIVEFRESNEL = false;\n this.FRESNEL = false;\n this.NORMAL = false;\n this.TANGENT = false;\n this.UV1 = false;\n this.UV2 = false;\n this.UV3 = false;\n this.UV4 = false;\n this.UV5 = false;\n this.UV6 = false;\n this.VERTEXCOLOR = false;\n this.VERTEXALPHA = false;\n this.NUM_BONE_INFLUENCERS = 0;\n this.BonesPerMesh = 0;\n this.BONETEXTURE = false;\n this.BONES_VELOCITY_ENABLED = false;\n this.INSTANCES = false;\n this.THIN_INSTANCES = false;\n this.INSTANCESCOLOR = false;\n this.GLOSSINESS = false;\n this.ROUGHNESS = false;\n this.EMISSIVEASILLUMINATION = false;\n this.LINKEMISSIVEWITHDIFFUSE = false;\n this.REFLECTIONFRESNELFROMSPECULAR = false;\n this.LIGHTMAP = false;\n this.LIGHTMAPDIRECTUV = 0;\n this.OBJECTSPACE_NORMALMAP = false;\n this.USELIGHTMAPASSHADOWMAP = false;\n this.REFLECTIONMAP_3D = false;\n this.REFLECTIONMAP_SPHERICAL = false;\n this.REFLECTIONMAP_PLANAR = false;\n this.REFLECTIONMAP_CUBIC = false;\n this.USE_LOCAL_REFLECTIONMAP_CUBIC = false;\n this.USE_LOCAL_REFRACTIONMAP_CUBIC = false;\n this.REFLECTIONMAP_PROJECTION = false;\n this.REFLECTIONMAP_SKYBOX = false;\n this.REFLECTIONMAP_EXPLICIT = false;\n this.REFLECTIONMAP_EQUIRECTANGULAR = false;\n this.REFLECTIONMAP_EQUIRECTANGULAR_FIXED = false;\n this.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED = false;\n this.REFLECTIONMAP_OPPOSITEZ = false;\n this.INVERTCUBICMAP = false;\n this.LOGARITHMICDEPTH = false;\n this.REFRACTION = false;\n this.REFRACTIONMAP_3D = false;\n this.REFLECTIONOVERALPHA = false;\n this.TWOSIDEDLIGHTING = false;\n this.SHADOWFLOAT = false;\n this.MORPHTARGETS = false;\n this.MORPHTARGETS_POSITION = false;\n this.MORPHTARGETS_NORMAL = false;\n this.MORPHTARGETS_TANGENT = false;\n this.MORPHTARGETS_UV = false;\n this.MORPHTARGETS_UV2 = false;\n this.NUM_MORPH_INFLUENCERS = 0;\n this.MORPHTARGETS_TEXTURE = false;\n this.NONUNIFORMSCALING = false; // https://playground.babylonjs.com#V6DWIH\n this.PREMULTIPLYALPHA = false; // https://playground.babylonjs.com#LNVJJ7\n this.ALPHATEST_AFTERALLALPHACOMPUTATIONS = false;\n this.ALPHABLEND = true;\n this.PREPASS = false;\n this.PREPASS_COLOR = false;\n this.PREPASS_COLOR_INDEX = -1;\n this.PREPASS_IRRADIANCE = false;\n this.PREPASS_IRRADIANCE_INDEX = -1;\n this.PREPASS_ALBEDO = false;\n this.PREPASS_ALBEDO_INDEX = -1;\n this.PREPASS_ALBEDO_SQRT = false;\n this.PREPASS_ALBEDO_SQRT_INDEX = -1;\n this.PREPASS_DEPTH = false;\n this.PREPASS_DEPTH_INDEX = -1;\n this.PREPASS_SCREENSPACE_DEPTH = false;\n this.PREPASS_SCREENSPACE_DEPTH_INDEX = -1;\n this.PREPASS_NORMAL = false;\n this.PREPASS_NORMAL_INDEX = -1;\n this.PREPASS_NORMAL_WORLDSPACE = false;\n this.PREPASS_WORLD_NORMAL = false;\n this.PREPASS_WORLD_NORMAL_INDEX = -1;\n this.PREPASS_POSITION = false;\n this.PREPASS_POSITION_INDEX = -1;\n this.PREPASS_LOCAL_POSITION = false;\n this.PREPASS_LOCAL_POSITION_INDEX = -1;\n this.PREPASS_VELOCITY = false;\n this.PREPASS_VELOCITY_INDEX = -1;\n this.PREPASS_VELOCITY_LINEAR = false;\n this.PREPASS_VELOCITY_LINEAR_INDEX = -1;\n this.PREPASS_REFLECTIVITY = false;\n this.PREPASS_REFLECTIVITY_INDEX = -1;\n this.SCENE_MRT_COUNT = 0;\n this.RGBDLIGHTMAP = false;\n this.RGBDREFLECTION = false;\n this.RGBDREFRACTION = false;\n this.IMAGEPROCESSING = false;\n this.VIGNETTE = false;\n this.VIGNETTEBLENDMODEMULTIPLY = false;\n this.VIGNETTEBLENDMODEOPAQUE = false;\n this.TONEMAPPING = 0;\n this.CONTRAST = false;\n this.COLORCURVES = false;\n this.COLORGRADING = false;\n this.COLORGRADING3D = false;\n this.SAMPLER3DGREENDEPTH = false;\n this.SAMPLER3DBGRMAP = false;\n this.DITHER = false;\n this.IMAGEPROCESSINGPOSTPROCESS = false;\n this.SKIPFINALCOLORCLAMP = false;\n this.MULTIVIEW = false;\n this.ORDER_INDEPENDENT_TRANSPARENCY = false;\n this.ORDER_INDEPENDENT_TRANSPARENCY_16BITS = false;\n this.CAMERA_ORTHOGRAPHIC = false;\n this.CAMERA_PERSPECTIVE = false;\n /**\n * If the reflection texture on this material is in linear color space\n * @internal\n */\n this.IS_REFLECTION_LINEAR = false;\n /**\n * If the refraction texture on this material is in linear color space\n * @internal\n */\n this.IS_REFRACTION_LINEAR = false;\n this.EXPOSURE = false;\n this.DECAL_AFTER_DETAIL = false;\n this.rebuild();\n }\n setReflectionMode(modeToEnable) {\n const modes = [\n \"REFLECTIONMAP_CUBIC\",\n \"REFLECTIONMAP_EXPLICIT\",\n \"REFLECTIONMAP_PLANAR\",\n \"REFLECTIONMAP_PROJECTION\",\n \"REFLECTIONMAP_PROJECTION\",\n \"REFLECTIONMAP_SKYBOX\",\n \"REFLECTIONMAP_SPHERICAL\",\n \"REFLECTIONMAP_EQUIRECTANGULAR\",\n \"REFLECTIONMAP_EQUIRECTANGULAR_FIXED\",\n \"REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED\",\n ];\n for (const mode of modes) {\n this[mode] = mode === modeToEnable;\n }\n }\n}\n/**\n * This is the default material used in Babylon. It is the best trade off between quality\n * and performances.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/materials/using/materials_introduction\n */\nexport class StandardMaterial extends PushMaterial {\n /**\n * Gets the image processing configuration used either in this material.\n */\n get imageProcessingConfiguration() {\n return this._imageProcessingConfiguration;\n }\n /**\n * Sets the Default image processing configuration used either in the this material.\n *\n * If sets to null, the scene one is in use.\n */\n set imageProcessingConfiguration(value) {\n this._attachImageProcessingConfiguration(value);\n // Ensure the effect will be rebuilt.\n this._markAllSubMeshesAsTexturesDirty();\n }\n /**\n * Attaches a new image processing configuration to the Standard Material.\n * @param configuration\n */\n _attachImageProcessingConfiguration(configuration) {\n if (configuration === this._imageProcessingConfiguration) {\n return;\n }\n // Detaches observer\n if (this._imageProcessingConfiguration && this._imageProcessingObserver) {\n this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver);\n }\n // Pick the scene configuration if needed\n if (!configuration) {\n this._imageProcessingConfiguration = this.getScene().imageProcessingConfiguration;\n }\n else {\n this._imageProcessingConfiguration = configuration;\n }\n // Attaches observer\n if (this._imageProcessingConfiguration) {\n this._imageProcessingObserver = this._imageProcessingConfiguration.onUpdateParameters.add(() => {\n this._markAllSubMeshesAsImageProcessingDirty();\n });\n }\n }\n /**\n * Can this material render to prepass\n */\n get isPrePassCapable() {\n return !this.disableDepthWrite;\n }\n /**\n * Gets whether the color curves effect is enabled.\n */\n get cameraColorCurvesEnabled() {\n return this.imageProcessingConfiguration.colorCurvesEnabled;\n }\n /**\n * Sets whether the color curves effect is enabled.\n */\n set cameraColorCurvesEnabled(value) {\n this.imageProcessingConfiguration.colorCurvesEnabled = value;\n }\n /**\n * Gets whether the color grading effect is enabled.\n */\n get cameraColorGradingEnabled() {\n return this.imageProcessingConfiguration.colorGradingEnabled;\n }\n /**\n * Gets whether the color grading effect is enabled.\n */\n set cameraColorGradingEnabled(value) {\n this.imageProcessingConfiguration.colorGradingEnabled = value;\n }\n /**\n * Gets whether tonemapping is enabled or not.\n */\n get cameraToneMappingEnabled() {\n return this._imageProcessingConfiguration.toneMappingEnabled;\n }\n /**\n * Sets whether tonemapping is enabled or not\n */\n set cameraToneMappingEnabled(value) {\n this._imageProcessingConfiguration.toneMappingEnabled = value;\n }\n /**\n * The camera exposure used on this material.\n * This property is here and not in the camera to allow controlling exposure without full screen post process.\n * This corresponds to a photographic exposure.\n */\n get cameraExposure() {\n return this._imageProcessingConfiguration.exposure;\n }\n /**\n * The camera exposure used on this material.\n * This property is here and not in the camera to allow controlling exposure without full screen post process.\n * This corresponds to a photographic exposure.\n */\n set cameraExposure(value) {\n this._imageProcessingConfiguration.exposure = value;\n }\n /**\n * Gets The camera contrast used on this material.\n */\n get cameraContrast() {\n return this._imageProcessingConfiguration.contrast;\n }\n /**\n * Sets The camera contrast used on this material.\n */\n set cameraContrast(value) {\n this._imageProcessingConfiguration.contrast = value;\n }\n /**\n * Gets the Color Grading 2D Lookup Texture.\n */\n get cameraColorGradingTexture() {\n return this._imageProcessingConfiguration.colorGradingTexture;\n }\n /**\n * Sets the Color Grading 2D Lookup Texture.\n */\n set cameraColorGradingTexture(value) {\n this._imageProcessingConfiguration.colorGradingTexture = value;\n }\n /**\n * The color grading curves provide additional color adjustmnent that is applied after any color grading transform (3D LUT).\n * They allow basic adjustment of saturation and small exposure adjustments, along with color filter tinting to provide white balance adjustment or more stylistic effects.\n * These are similar to controls found in many professional imaging or colorist software. The global controls are applied to the entire image. For advanced tuning, extra controls are provided to adjust the shadow, midtone and highlight areas of the image;\n * corresponding to low luminance, medium luminance, and high luminance areas respectively.\n */\n get cameraColorCurves() {\n return this._imageProcessingConfiguration.colorCurves;\n }\n /**\n * The color grading curves provide additional color adjustment that is applied after any color grading transform (3D LUT).\n * They allow basic adjustment of saturation and small exposure adjustments, along with color filter tinting to provide white balance adjustment or more stylistic effects.\n * These are similar to controls found in many professional imaging or colorist software. The global controls are applied to the entire image. For advanced tuning, extra controls are provided to adjust the shadow, midtone and highlight areas of the image;\n * corresponding to low luminance, medium luminance, and high luminance areas respectively.\n */\n set cameraColorCurves(value) {\n this._imageProcessingConfiguration.colorCurves = value;\n }\n /**\n * Can this material render to several textures at once\n */\n get canRenderToMRT() {\n return true;\n }\n /**\n * Instantiates a new standard material.\n * This is the default material used in Babylon. It is the best trade off between quality\n * and performances.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/materials/using/materials_introduction\n * @param name Define the name of the material in the scene\n * @param scene Define the scene the material belong to\n * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false\n */\n constructor(name, scene, forceGLSL = false) {\n super(name, scene, undefined, forceGLSL || StandardMaterial.ForceGLSL);\n this._diffuseTexture = null;\n this._ambientTexture = null;\n this._opacityTexture = null;\n this._reflectionTexture = null;\n this._emissiveTexture = null;\n this._specularTexture = null;\n this._bumpTexture = null;\n this._lightmapTexture = null;\n this._refractionTexture = null;\n /**\n * The color of the material lit by the environmental background lighting.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/materials/using/materials_introduction#ambient-color-example\n */\n this.ambientColor = new Color3(0, 0, 0);\n /**\n * The basic color of the material as viewed under a light.\n */\n this.diffuseColor = new Color3(1, 1, 1);\n /**\n * Define how the color and intensity of the highlight given by the light in the material.\n */\n this.specularColor = new Color3(1, 1, 1);\n /**\n * Define the color of the material as if self lit.\n * This will be mixed in the final result even in the absence of light.\n */\n this.emissiveColor = new Color3(0, 0, 0);\n /**\n * Defines how sharp are the highlights in the material.\n * The bigger the value the sharper giving a more glossy feeling to the result.\n * Reversely, the smaller the value the blurrier giving a more rough feeling to the result.\n */\n this.specularPower = 64;\n this._useAlphaFromDiffuseTexture = false;\n this._useEmissiveAsIllumination = false;\n this._linkEmissiveWithDiffuse = false;\n this._useSpecularOverAlpha = false;\n this._useReflectionOverAlpha = false;\n this._disableLighting = false;\n this._useObjectSpaceNormalMap = false;\n this._useParallax = false;\n this._useParallaxOcclusion = false;\n /**\n * Apply a scaling factor that determine which \"depth\" the height map should reprensent. A value between 0.05 and 0.1 is reasonnable in Parallax, you can reach 0.2 using Parallax Occlusion.\n */\n this.parallaxScaleBias = 0.05;\n this._roughness = 0;\n /**\n * In case of refraction, define the value of the index of refraction.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/materials/using/reflectionTexture#how-to-obtain-reflections-and-refractions\n */\n this.indexOfRefraction = 0.98;\n /**\n * Invert the refraction texture alongside the y axis.\n * It can be useful with procedural textures or probe for instance.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/materials/using/reflectionTexture#how-to-obtain-reflections-and-refractions\n */\n this.invertRefractionY = true;\n /**\n * Defines the alpha limits in alpha test mode.\n */\n this.alphaCutOff = 0.4;\n this._useLightmapAsShadowmap = false;\n this._useReflectionFresnelFromSpecular = false;\n this._useGlossinessFromSpecularMapAlpha = false;\n this._maxSimultaneousLights = 4;\n this._invertNormalMapX = false;\n this._invertNormalMapY = false;\n this._twoSidedLighting = false;\n this._applyDecalMapAfterDetailMap = false;\n this._shadersLoaded = false;\n this._renderTargets = new SmartArray(16);\n this._worldViewProjectionMatrix = Matrix.Zero();\n this._globalAmbientColor = new Color3(0, 0, 0);\n this._cacheHasRenderTargetTextures = false;\n this.detailMap = new DetailMapConfiguration(this);\n // Setup the default processing configuration to the scene.\n this._attachImageProcessingConfiguration(null);\n this.prePassConfiguration = new PrePassConfiguration();\n this.getRenderTargetTextures = () => {\n this._renderTargets.reset();\n if (StandardMaterial.ReflectionTextureEnabled && this._reflectionTexture && this._reflectionTexture.isRenderTarget) {\n this._renderTargets.push(this._reflectionTexture);\n }\n if (StandardMaterial.RefractionTextureEnabled && this._refractionTexture && this._refractionTexture.isRenderTarget) {\n this._renderTargets.push(this._refractionTexture);\n }\n this._eventInfo.renderTargets = this._renderTargets;\n this._callbackPluginEventFillRenderTargetTextures(this._eventInfo);\n return this._renderTargets;\n };\n }\n /**\n * Gets a boolean indicating that current material needs to register RTT\n */\n get hasRenderTargetTextures() {\n if (StandardMaterial.ReflectionTextureEnabled && this._reflectionTexture && this._reflectionTexture.isRenderTarget) {\n return true;\n }\n if (StandardMaterial.RefractionTextureEnabled && this._refractionTexture && this._refractionTexture.isRenderTarget) {\n return true;\n }\n return this._cacheHasRenderTargetTextures;\n }\n /**\n * Gets the current class name of the material e.g. \"StandardMaterial\"\n * Mainly use in serialization.\n * @returns the class name\n */\n getClassName() {\n return \"StandardMaterial\";\n }\n /**\n * Specifies if the material will require alpha blending\n * @returns a boolean specifying if alpha blending is needed\n */\n needAlphaBlending() {\n if (this._disableAlphaBlending) {\n return false;\n }\n return (this.alpha < 1.0 ||\n this._opacityTexture != null ||\n this._shouldUseAlphaFromDiffuseTexture() ||\n (this._opacityFresnelParameters && this._opacityFresnelParameters.isEnabled));\n }\n /**\n * Specifies if this material should be rendered in alpha test mode\n * @returns a boolean specifying if an alpha test is needed.\n */\n needAlphaTesting() {\n if (this._forceAlphaTest) {\n return true;\n }\n return this._hasAlphaChannel() && (this._transparencyMode == null || this._transparencyMode === Material.MATERIAL_ALPHATEST);\n }\n /**\n * @returns whether or not the alpha value of the diffuse texture should be used for alpha blending.\n */\n _shouldUseAlphaFromDiffuseTexture() {\n return this._diffuseTexture != null && this._diffuseTexture.hasAlpha && this._useAlphaFromDiffuseTexture && this._transparencyMode !== Material.MATERIAL_OPAQUE;\n }\n /**\n * @returns whether or not there is a usable alpha channel for transparency.\n */\n _hasAlphaChannel() {\n return (this._diffuseTexture != null && this._diffuseTexture.hasAlpha) || this._opacityTexture != null;\n }\n /**\n * Get the texture used for alpha test purpose.\n * @returns the diffuse texture in case of the standard material.\n */\n getAlphaTestTexture() {\n return this._diffuseTexture;\n }\n /**\n * Get if the submesh is ready to be used and all its information available.\n * Child classes can use it to update shaders\n * @param mesh defines the mesh to check\n * @param subMesh defines which submesh to check\n * @param useInstances specifies that instances should be used\n * @returns a boolean indicating that the submesh is ready or not\n */\n isReadyForSubMesh(mesh, subMesh, useInstances = false) {\n if (!this._uniformBufferLayoutBuilt) {\n this.buildUniformLayout();\n }\n const drawWrapper = subMesh._drawWrapper;\n if (drawWrapper.effect && this.isFrozen) {\n if (drawWrapper._wasPreviouslyReady && drawWrapper._wasPreviouslyUsingInstances === useInstances) {\n return true;\n }\n }\n if (!subMesh.materialDefines) {\n this._callbackPluginEventGeneric(4 /* MaterialPluginEvent.GetDefineNames */, this._eventInfo);\n subMesh.materialDefines = new StandardMaterialDefines(this._eventInfo.defineNames);\n }\n const scene = this.getScene();\n const defines = subMesh.materialDefines;\n if (this._isReadyForSubMesh(subMesh)) {\n return true;\n }\n const engine = scene.getEngine();\n // Lights\n defines._needNormals = PrepareDefinesForLights(scene, mesh, defines, true, this._maxSimultaneousLights, this._disableLighting);\n // Multiview\n PrepareDefinesForMultiview(scene, defines);\n // PrePass\n const oit = this.needAlphaBlendingForMesh(mesh) && this.getScene().useOrderIndependentTransparency;\n PrepareDefinesForPrePass(scene, defines, this.canRenderToMRT && !oit);\n // Order independant transparency\n PrepareDefinesForOIT(scene, defines, oit);\n MaterialHelperGeometryRendering.PrepareDefines(engine.currentRenderPassId, mesh, defines);\n // Textures\n if (defines._areTexturesDirty) {\n this._eventInfo.hasRenderTargetTextures = false;\n this._callbackPluginEventHasRenderTargetTextures(this._eventInfo);\n this._cacheHasRenderTargetTextures = this._eventInfo.hasRenderTargetTextures;\n defines._needUVs = false;\n for (let i = 1; i <= Constants.MAX_SUPPORTED_UV_SETS; ++i) {\n defines[\"MAINUV\" + i] = false;\n }\n if (scene.texturesEnabled) {\n defines.DIFFUSEDIRECTUV = 0;\n defines.BUMPDIRECTUV = 0;\n defines.AMBIENTDIRECTUV = 0;\n defines.OPACITYDIRECTUV = 0;\n defines.EMISSIVEDIRECTUV = 0;\n defines.SPECULARDIRECTUV = 0;\n defines.LIGHTMAPDIRECTUV = 0;\n if (this._diffuseTexture && StandardMaterial.DiffuseTextureEnabled) {\n if (!this._diffuseTexture.isReadyOrNotBlocking()) {\n return false;\n }\n else {\n PrepareDefinesForMergedUV(this._diffuseTexture, defines, \"DIFFUSE\");\n }\n }\n else {\n defines.DIFFUSE = false;\n }\n if (this._ambientTexture && StandardMaterial.AmbientTextureEnabled) {\n if (!this._ambientTexture.isReadyOrNotBlocking()) {\n return false;\n }\n else {\n PrepareDefinesForMergedUV(this._ambientTexture, defines, \"AMBIENT\");\n }\n }\n else {\n defines.AMBIENT = false;\n }\n if (this._opacityTexture && StandardMaterial.OpacityTextureEnabled) {\n if (!this._opacityTexture.isReadyOrNotBlocking()) {\n return false;\n }\n else {\n PrepareDefinesForMergedUV(this._opacityTexture, defines, \"OPACITY\");\n defines.OPACITYRGB = this._opacityTexture.getAlphaFromRGB;\n }\n }\n else {\n defines.OPACITY = false;\n }\n if (this._reflectionTexture && StandardMaterial.ReflectionTextureEnabled) {\n if (!this._reflectionTexture.isReadyOrNotBlocking()) {\n return false;\n }\n else {\n defines._needNormals = true;\n defines.REFLECTION = true;\n defines.ROUGHNESS = this._roughness > 0;\n defines.REFLECTIONOVERALPHA = this._useReflectionOverAlpha;\n defines.INVERTCUBICMAP = this._reflectionTexture.coordinatesMode === Texture.INVCUBIC_MODE;\n defines.REFLECTIONMAP_3D = this._reflectionTexture.isCube;\n defines.REFLECTIONMAP_OPPOSITEZ =\n defines.REFLECTIONMAP_3D && this.getScene().useRightHandedSystem ? !this._reflectionTexture.invertZ : this._reflectionTexture.invertZ;\n defines.RGBDREFLECTION = this._reflectionTexture.isRGBD;\n switch (this._reflectionTexture.coordinatesMode) {\n case Texture.EXPLICIT_MODE:\n defines.setReflectionMode(\"REFLECTIONMAP_EXPLICIT\");\n break;\n case Texture.PLANAR_MODE:\n defines.setReflectionMode(\"REFLECTIONMAP_PLANAR\");\n break;\n case Texture.PROJECTION_MODE:\n defines.setReflectionMode(\"REFLECTIONMAP_PROJECTION\");\n break;\n case Texture.SKYBOX_MODE:\n defines.setReflectionMode(\"REFLECTIONMAP_SKYBOX\");\n break;\n case Texture.SPHERICAL_MODE:\n defines.setReflectionMode(\"REFLECTIONMAP_SPHERICAL\");\n break;\n case Texture.EQUIRECTANGULAR_MODE:\n defines.setReflectionMode(\"REFLECTIONMAP_EQUIRECTANGULAR\");\n break;\n case Texture.FIXED_EQUIRECTANGULAR_MODE:\n defines.setReflectionMode(\"REFLECTIONMAP_EQUIRECTANGULAR_FIXED\");\n break;\n case Texture.FIXED_EQUIRECTANGULAR_MIRRORED_MODE:\n defines.setReflectionMode(\"REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED\");\n break;\n case Texture.CUBIC_MODE:\n case Texture.INVCUBIC_MODE:\n default:\n defines.setReflectionMode(\"REFLECTIONMAP_CUBIC\");\n break;\n }\n defines.USE_LOCAL_REFLECTIONMAP_CUBIC = this._reflectionTexture.boundingBoxSize ? true : false;\n }\n }\n else {\n defines.REFLECTION = false;\n defines.REFLECTIONMAP_OPPOSITEZ = false;\n }\n if (this._emissiveTexture && StandardMaterial.EmissiveTextureEnabled) {\n if (!this._emissiveTexture.isReadyOrNotBlocking()) {\n return false;\n }\n else {\n PrepareDefinesForMergedUV(this._emissiveTexture, defines, \"EMISSIVE\");\n }\n }\n else {\n defines.EMISSIVE = false;\n }\n if (this._lightmapTexture && StandardMaterial.LightmapTextureEnabled) {\n if (!this._lightmapTexture.isReadyOrNotBlocking()) {\n return false;\n }\n else {\n PrepareDefinesForMergedUV(this._lightmapTexture, defines, \"LIGHTMAP\");\n defines.USELIGHTMAPASSHADOWMAP = this._useLightmapAsShadowmap;\n defines.RGBDLIGHTMAP = this._lightmapTexture.isRGBD;\n }\n }\n else {\n defines.LIGHTMAP = false;\n }\n if (this._specularTexture && StandardMaterial.SpecularTextureEnabled) {\n if (!this._specularTexture.isReadyOrNotBlocking()) {\n return false;\n }\n else {\n PrepareDefinesForMergedUV(this._specularTexture, defines, \"SPECULAR\");\n defines.GLOSSINESS = this._useGlossinessFromSpecularMapAlpha;\n }\n }\n else {\n defines.SPECULAR = false;\n }\n if (scene.getEngine().getCaps().standardDerivatives && this._bumpTexture && StandardMaterial.BumpTextureEnabled) {\n // Bump texture can not be not blocking.\n if (!this._bumpTexture.isReady()) {\n return false;\n }\n else {\n PrepareDefinesForMergedUV(this._bumpTexture, defines, \"BUMP\");\n defines.PARALLAX = this._useParallax;\n defines.PARALLAX_RHS = scene.useRightHandedSystem;\n defines.PARALLAXOCCLUSION = this._useParallaxOcclusion;\n }\n defines.OBJECTSPACE_NORMALMAP = this._useObjectSpaceNormalMap;\n }\n else {\n defines.BUMP = false;\n defines.PARALLAX = false;\n defines.PARALLAX_RHS = false;\n defines.PARALLAXOCCLUSION = false;\n }\n if (this._refractionTexture && StandardMaterial.RefractionTextureEnabled) {\n if (!this._refractionTexture.isReadyOrNotBlocking()) {\n return false;\n }\n else {\n defines._needUVs = true;\n defines.REFRACTION = true;\n defines.REFRACTIONMAP_3D = this._refractionTexture.isCube;\n defines.RGBDREFRACTION = this._refractionTexture.isRGBD;\n defines.USE_LOCAL_REFRACTIONMAP_CUBIC = this._refractionTexture.boundingBoxSize ? true : false;\n }\n }\n else {\n defines.REFRACTION = false;\n }\n defines.TWOSIDEDLIGHTING = !this._backFaceCulling && this._twoSidedLighting;\n }\n else {\n defines.DIFFUSE = false;\n defines.AMBIENT = false;\n defines.OPACITY = false;\n defines.REFLECTION = false;\n defines.EMISSIVE = false;\n defines.LIGHTMAP = false;\n defines.BUMP = false;\n defines.REFRACTION = false;\n }\n defines.ALPHAFROMDIFFUSE = this._shouldUseAlphaFromDiffuseTexture();\n defines.EMISSIVEASILLUMINATION = this._useEmissiveAsIllumination;\n defines.LINKEMISSIVEWITHDIFFUSE = this._linkEmissiveWithDiffuse;\n defines.SPECULAROVERALPHA = this._useSpecularOverAlpha;\n defines.PREMULTIPLYALPHA = this.alphaMode === Constants.ALPHA_PREMULTIPLIED || this.alphaMode === Constants.ALPHA_PREMULTIPLIED_PORTERDUFF;\n defines.ALPHATEST_AFTERALLALPHACOMPUTATIONS = this.transparencyMode !== null;\n defines.ALPHABLEND = this.transparencyMode === null || this.needAlphaBlendingForMesh(mesh); // check on null for backward compatibility\n }\n this._eventInfo.isReadyForSubMesh = true;\n this._eventInfo.defines = defines;\n this._eventInfo.subMesh = subMesh;\n this._callbackPluginEventIsReadyForSubMesh(this._eventInfo);\n if (!this._eventInfo.isReadyForSubMesh) {\n return false;\n }\n if (defines._areImageProcessingDirty && this._imageProcessingConfiguration) {\n if (!this._imageProcessingConfiguration.isReady()) {\n return false;\n }\n this._imageProcessingConfiguration.prepareDefines(defines);\n defines.IS_REFLECTION_LINEAR = this.reflectionTexture != null && !this.reflectionTexture.gammaSpace;\n defines.IS_REFRACTION_LINEAR = this.refractionTexture != null && !this.refractionTexture.gammaSpace;\n }\n if (defines._areFresnelDirty) {\n if (StandardMaterial.FresnelEnabled) {\n // Fresnel\n if (this._diffuseFresnelParameters ||\n this._opacityFresnelParameters ||\n this._emissiveFresnelParameters ||\n this._refractionFresnelParameters ||\n this._reflectionFresnelParameters) {\n defines.DIFFUSEFRESNEL = this._diffuseFresnelParameters && this._diffuseFresnelParameters.isEnabled;\n defines.OPACITYFRESNEL = this._opacityFresnelParameters && this._opacityFresnelParameters.isEnabled;\n defines.REFLECTIONFRESNEL = this._reflectionFresnelParameters && this._reflectionFresnelParameters.isEnabled;\n defines.REFLECTIONFRESNELFROMSPECULAR = this._useReflectionFresnelFromSpecular;\n defines.REFRACTIONFRESNEL = this._refractionFresnelParameters && this._refractionFresnelParameters.isEnabled;\n defines.EMISSIVEFRESNEL = this._emissiveFresnelParameters && this._emissiveFresnelParameters.isEnabled;\n defines._needNormals = true;\n defines.FRESNEL = true;\n }\n }\n else {\n defines.FRESNEL = false;\n }\n }\n // Misc.\n PrepareDefinesForMisc(mesh, scene, this._useLogarithmicDepth, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh) || this._forceAlphaTest, defines, this._applyDecalMapAfterDetailMap);\n // Values that need to be evaluated on every frame\n PrepareDefinesForFrameBoundValues(scene, engine, this, defines, useInstances, null, subMesh.getRenderingMesh().hasThinInstances);\n // External config\n this._eventInfo.defines = defines;\n this._eventInfo.mesh = mesh;\n this._callbackPluginEventPrepareDefinesBeforeAttributes(this._eventInfo);\n // Attribs\n PrepareDefinesForAttributes(mesh, defines, true, true, true);\n // External config\n this._callbackPluginEventPrepareDefines(this._eventInfo);\n // Get correct effect\n let forceWasNotReadyPreviously = false;\n if (defines.isDirty) {\n const lightDisposed = defines._areLightsDisposed;\n defines.markAsProcessed();\n // Fallbacks\n const fallbacks = new EffectFallbacks();\n if (defines.REFLECTION) {\n fallbacks.addFallback(0, \"REFLECTION\");\n }\n if (defines.SPECULAR) {\n fallbacks.addFallback(0, \"SPECULAR\");\n }\n if (defines.BUMP) {\n fallbacks.addFallback(0, \"BUMP\");\n }\n if (defines.PARALLAX) {\n fallbacks.addFallback(1, \"PARALLAX\");\n }\n if (defines.PARALLAX_RHS) {\n fallbacks.addFallback(1, \"PARALLAX_RHS\");\n }\n if (defines.PARALLAXOCCLUSION) {\n fallbacks.addFallback(0, \"PARALLAXOCCLUSION\");\n }\n if (defines.SPECULAROVERALPHA) {\n fallbacks.addFallback(0, \"SPECULAROVERALPHA\");\n }\n if (defines.FOG) {\n fallbacks.addFallback(1, \"FOG\");\n }\n if (defines.POINTSIZE) {\n fallbacks.addFallback(0, \"POINTSIZE\");\n }\n if (defines.LOGARITHMICDEPTH) {\n fallbacks.addFallback(0, \"LOGARITHMICDEPTH\");\n }\n HandleFallbacksForShadows(defines, fallbacks, this._maxSimultaneousLights);\n if (defines.SPECULARTERM) {\n fallbacks.addFallback(0, \"SPECULARTERM\");\n }\n if (defines.DIFFUSEFRESNEL) {\n fallbacks.addFallback(1, \"DIFFUSEFRESNEL\");\n }\n if (defines.OPACITYFRESNEL) {\n fallbacks.addFallback(2, \"OPACITYFRESNEL\");\n }\n if (defines.REFLECTIONFRESNEL) {\n fallbacks.addFallback(3, \"REFLECTIONFRESNEL\");\n }\n if (defines.EMISSIVEFRESNEL) {\n fallbacks.addFallback(4, \"EMISSIVEFRESNEL\");\n }\n if (defines.FRESNEL) {\n fallbacks.addFallback(4, \"FRESNEL\");\n }\n if (defines.MULTIVIEW) {\n fallbacks.addFallback(0, \"MULTIVIEW\");\n }\n //Attributes\n const attribs = [VertexBuffer.PositionKind];\n if (defines.NORMAL) {\n attribs.push(VertexBuffer.NormalKind);\n }\n if (defines.TANGENT) {\n attribs.push(VertexBuffer.TangentKind);\n }\n for (let i = 1; i <= Constants.MAX_SUPPORTED_UV_SETS; ++i) {\n if (defines[\"UV\" + i]) {\n attribs.push(`uv${i === 1 ? \"\" : i}`);\n }\n }\n if (defines.VERTEXCOLOR) {\n attribs.push(VertexBuffer.ColorKind);\n }\n PrepareAttributesForBones(attribs, mesh, defines, fallbacks);\n PrepareAttributesForInstances(attribs, defines);\n PrepareAttributesForMorphTargets(attribs, mesh, defines);\n PrepareAttributesForBakedVertexAnimation(attribs, mesh, defines);\n let shaderName = \"default\";\n const uniforms = [\n \"world\",\n \"view\",\n \"viewProjection\",\n \"vEyePosition\",\n \"vLightsType\",\n \"vAmbientColor\",\n \"vDiffuseColor\",\n \"vSpecularColor\",\n \"vEmissiveColor\",\n \"visibility\",\n \"vFogInfos\",\n \"vFogColor\",\n \"pointSize\",\n \"vDiffuseInfos\",\n \"vAmbientInfos\",\n \"vOpacityInfos\",\n \"vReflectionInfos\",\n \"vEmissiveInfos\",\n \"vSpecularInfos\",\n \"vBumpInfos\",\n \"vLightmapInfos\",\n \"vRefractionInfos\",\n \"mBones\",\n \"diffuseMatrix\",\n \"ambientMatrix\",\n \"opacityMatrix\",\n \"reflectionMatrix\",\n \"emissiveMatrix\",\n \"specularMatrix\",\n \"bumpMatrix\",\n \"normalMatrix\",\n \"lightmapMatrix\",\n \"refractionMatrix\",\n \"diffuseLeftColor\",\n \"diffuseRightColor\",\n \"opacityParts\",\n \"reflectionLeftColor\",\n \"reflectionRightColor\",\n \"emissiveLeftColor\",\n \"emissiveRightColor\",\n \"refractionLeftColor\",\n \"refractionRightColor\",\n \"vReflectionPosition\",\n \"vReflectionSize\",\n \"vRefractionPosition\",\n \"vRefractionSize\",\n \"logarithmicDepthConstant\",\n \"vTangentSpaceParams\",\n \"alphaCutOff\",\n \"boneTextureWidth\",\n \"morphTargetTextureInfo\",\n \"morphTargetTextureIndices\",\n ];\n const samplers = [\n \"diffuseSampler\",\n \"ambientSampler\",\n \"opacitySampler\",\n \"reflectionCubeSampler\",\n \"reflection2DSampler\",\n \"emissiveSampler\",\n \"specularSampler\",\n \"bumpSampler\",\n \"lightmapSampler\",\n \"refractionCubeSampler\",\n \"refraction2DSampler\",\n \"boneSampler\",\n \"morphTargets\",\n \"oitDepthSampler\",\n \"oitFrontColorSampler\",\n ];\n const uniformBuffers = [\"Material\", \"Scene\", \"Mesh\"];\n const indexParameters = { maxSimultaneousLights: this._maxSimultaneousLights, maxSimultaneousMorphTargets: defines.NUM_MORPH_INFLUENCERS };\n this._eventInfo.fallbacks = fallbacks;\n this._eventInfo.fallbackRank = 0;\n this._eventInfo.defines = defines;\n this._eventInfo.uniforms = uniforms;\n this._eventInfo.attributes = attribs;\n this._eventInfo.samplers = samplers;\n this._eventInfo.uniformBuffersNames = uniformBuffers;\n this._eventInfo.customCode = undefined;\n this._eventInfo.mesh = mesh;\n this._eventInfo.indexParameters = indexParameters;\n this._callbackPluginEventGeneric(128 /* MaterialPluginEvent.PrepareEffect */, this._eventInfo);\n MaterialHelperGeometryRendering.AddUniformsAndSamplers(uniforms, samplers);\n PrePassConfiguration.AddUniforms(uniforms);\n PrePassConfiguration.AddSamplers(samplers);\n if (ImageProcessingConfiguration) {\n ImageProcessingConfiguration.PrepareUniforms(uniforms, defines);\n ImageProcessingConfiguration.PrepareSamplers(samplers, defines);\n }\n PrepareUniformsAndSamplersList({\n uniformsNames: uniforms,\n uniformBuffersNames: uniformBuffers,\n samplers: samplers,\n defines: defines,\n maxSimultaneousLights: this._maxSimultaneousLights,\n });\n addClipPlaneUniforms(uniforms);\n const csnrOptions = {};\n if (this.customShaderNameResolve) {\n shaderName = this.customShaderNameResolve(shaderName, uniforms, uniformBuffers, samplers, defines, attribs, csnrOptions);\n }\n const join = defines.toString();\n const previousEffect = subMesh.effect;\n let effect = scene.getEngine().createEffect(shaderName, {\n attributes: attribs,\n uniformsNames: uniforms,\n uniformBuffersNames: uniformBuffers,\n samplers: samplers,\n defines: join,\n fallbacks: fallbacks,\n onCompiled: this.onCompiled,\n onError: this.onError,\n indexParameters,\n processFinalCode: csnrOptions.processFinalCode,\n processCodeAfterIncludes: this._eventInfo.customCode,\n multiTarget: defines.PREPASS,\n shaderLanguage: this._shaderLanguage,\n extraInitializationsAsync: this._shadersLoaded\n ? undefined\n : async () => {\n if (this._shaderLanguage === 1 /* ShaderLanguage.WGSL */) {\n await Promise.all([import(\"../ShadersWGSL/default.vertex\"), import(\"../ShadersWGSL/default.fragment\")]);\n }\n else {\n await Promise.all([import(\"../Shaders/default.vertex\"), import(\"../Shaders/default.fragment\")]);\n }\n this._shadersLoaded = true;\n },\n }, engine);\n this._eventInfo.customCode = undefined;\n if (effect) {\n if (this._onEffectCreatedObservable) {\n onCreatedEffectParameters.effect = effect;\n onCreatedEffectParameters.subMesh = subMesh;\n this._onEffectCreatedObservable.notifyObservers(onCreatedEffectParameters);\n }\n // Use previous effect while new one is compiling\n if (this.allowShaderHotSwapping && previousEffect && !effect.isReady()) {\n effect = previousEffect;\n defines.markAsUnprocessed();\n forceWasNotReadyPreviously = this.isFrozen;\n if (lightDisposed) {\n // re register in case it takes more than one frame.\n defines._areLightsDisposed = true;\n return false;\n }\n }\n else {\n scene.resetCachedMaterial();\n subMesh.setEffect(effect, defines, this._materialContext);\n }\n }\n }\n if (!subMesh.effect || !subMesh.effect.isReady()) {\n return false;\n }\n defines._renderId = scene.getRenderId();\n drawWrapper._wasPreviouslyReady = forceWasNotReadyPreviously ? false : true;\n drawWrapper._wasPreviouslyUsingInstances = useInstances;\n this._checkScenePerformancePriority();\n return true;\n }\n /**\n * Builds the material UBO layouts.\n * Used internally during the effect preparation.\n */\n buildUniformLayout() {\n // Order is important !\n const ubo = this._uniformBuffer;\n ubo.addUniform(\"diffuseLeftColor\", 4);\n ubo.addUniform(\"diffuseRightColor\", 4);\n ubo.addUniform(\"opacityParts\", 4);\n ubo.addUniform(\"reflectionLeftColor\", 4);\n ubo.addUniform(\"reflectionRightColor\", 4);\n ubo.addUniform(\"refractionLeftColor\", 4);\n ubo.addUniform(\"refractionRightColor\", 4);\n ubo.addUniform(\"emissiveLeftColor\", 4);\n ubo.addUniform(\"emissiveRightColor\", 4);\n ubo.addUniform(\"vDiffuseInfos\", 2);\n ubo.addUniform(\"vAmbientInfos\", 2);\n ubo.addUniform(\"vOpacityInfos\", 2);\n ubo.addUniform(\"vReflectionInfos\", 2);\n ubo.addUniform(\"vReflectionPosition\", 3);\n ubo.addUniform(\"vReflectionSize\", 3);\n ubo.addUniform(\"vEmissiveInfos\", 2);\n ubo.addUniform(\"vLightmapInfos\", 2);\n ubo.addUniform(\"vSpecularInfos\", 2);\n ubo.addUniform(\"vBumpInfos\", 3);\n ubo.addUniform(\"diffuseMatrix\", 16);\n ubo.addUniform(\"ambientMatrix\", 16);\n ubo.addUniform(\"opacityMatrix\", 16);\n ubo.addUniform(\"reflectionMatrix\", 16);\n ubo.addUniform(\"emissiveMatrix\", 16);\n ubo.addUniform(\"lightmapMatrix\", 16);\n ubo.addUniform(\"specularMatrix\", 16);\n ubo.addUniform(\"bumpMatrix\", 16);\n ubo.addUniform(\"vTangentSpaceParams\", 2);\n ubo.addUniform(\"pointSize\", 1);\n ubo.addUniform(\"alphaCutOff\", 1);\n ubo.addUniform(\"refractionMatrix\", 16);\n ubo.addUniform(\"vRefractionInfos\", 4);\n ubo.addUniform(\"vRefractionPosition\", 3);\n ubo.addUniform(\"vRefractionSize\", 3);\n ubo.addUniform(\"vSpecularColor\", 4);\n ubo.addUniform(\"vEmissiveColor\", 3);\n ubo.addUniform(\"vDiffuseColor\", 4);\n ubo.addUniform(\"vAmbientColor\", 3);\n super.buildUniformLayout();\n }\n /**\n * Binds the submesh to this material by preparing the effect and shader to draw\n * @param world defines the world transformation matrix\n * @param mesh defines the mesh containing the submesh\n * @param subMesh defines the submesh to bind the material to\n */\n bindForSubMesh(world, mesh, subMesh) {\n const scene = this.getScene();\n const defines = subMesh.materialDefines;\n if (!defines) {\n return;\n }\n const effect = subMesh.effect;\n if (!effect) {\n return;\n }\n this._activeEffect = effect;\n // Matrices Mesh.\n mesh.getMeshUniformBuffer().bindToEffect(effect, \"Mesh\");\n mesh.transferToEffect(world);\n // Binding unconditionally\n this._uniformBuffer.bindToEffect(effect, \"Material\");\n this.prePassConfiguration.bindForSubMesh(this._activeEffect, scene, mesh, world, this.isFrozen);\n MaterialHelperGeometryRendering.Bind(scene.getEngine().currentRenderPassId, this._activeEffect, mesh, world);\n this._eventInfo.subMesh = subMesh;\n this._callbackPluginEventHardBindForSubMesh(this._eventInfo);\n // Normal Matrix\n if (defines.OBJECTSPACE_NORMALMAP) {\n world.toNormalMatrix(this._normalMatrix);\n this.bindOnlyNormalMatrix(this._normalMatrix);\n }\n const mustRebind = this._mustRebind(scene, effect, subMesh, mesh.visibility);\n // Bones\n BindBonesParameters(mesh, effect);\n const ubo = this._uniformBuffer;\n if (mustRebind) {\n this.bindViewProjection(effect);\n if (!ubo.useUbo || !this.isFrozen || !ubo.isSync || subMesh._drawWrapper._forceRebindOnNextCall) {\n if (StandardMaterial.FresnelEnabled && defines.FRESNEL) {\n // Fresnel\n if (this.diffuseFresnelParameters && this.diffuseFresnelParameters.isEnabled) {\n ubo.updateColor4(\"diffuseLeftColor\", this.diffuseFresnelParameters.leftColor, this.diffuseFresnelParameters.power);\n ubo.updateColor4(\"diffuseRightColor\", this.diffuseFresnelParameters.rightColor, this.diffuseFresnelParameters.bias);\n }\n if (this.opacityFresnelParameters && this.opacityFresnelParameters.isEnabled) {\n ubo.updateColor4(\"opacityParts\", new Color3(this.opacityFresnelParameters.leftColor.toLuminance(), this.opacityFresnelParameters.rightColor.toLuminance(), this.opacityFresnelParameters.bias), this.opacityFresnelParameters.power);\n }\n if (this.reflectionFresnelParameters && this.reflectionFresnelParameters.isEnabled) {\n ubo.updateColor4(\"reflectionLeftColor\", this.reflectionFresnelParameters.leftColor, this.reflectionFresnelParameters.power);\n ubo.updateColor4(\"reflectionRightColor\", this.reflectionFresnelParameters.rightColor, this.reflectionFresnelParameters.bias);\n }\n if (this.refractionFresnelParameters && this.refractionFresnelParameters.isEnabled) {\n ubo.updateColor4(\"refractionLeftColor\", this.refractionFresnelParameters.leftColor, this.refractionFresnelParameters.power);\n ubo.updateColor4(\"refractionRightColor\", this.refractionFresnelParameters.rightColor, this.refractionFresnelParameters.bias);\n }\n if (this.emissiveFresnelParameters && this.emissiveFresnelParameters.isEnabled) {\n ubo.updateColor4(\"emissiveLeftColor\", this.emissiveFresnelParameters.leftColor, this.emissiveFresnelParameters.power);\n ubo.updateColor4(\"emissiveRightColor\", this.emissiveFresnelParameters.rightColor, this.emissiveFresnelParameters.bias);\n }\n }\n // Textures\n if (scene.texturesEnabled) {\n if (this._diffuseTexture && StandardMaterial.DiffuseTextureEnabled) {\n ubo.updateFloat2(\"vDiffuseInfos\", this._diffuseTexture.coordinatesIndex, this._diffuseTexture.level);\n BindTextureMatrix(this._diffuseTexture, ubo, \"diffuse\");\n }\n if (this._ambientTexture && StandardMaterial.AmbientTextureEnabled) {\n ubo.updateFloat2(\"vAmbientInfos\", this._ambientTexture.coordinatesIndex, this._ambientTexture.level);\n BindTextureMatrix(this._ambientTexture, ubo, \"ambient\");\n }\n if (this._opacityTexture && StandardMaterial.OpacityTextureEnabled) {\n ubo.updateFloat2(\"vOpacityInfos\", this._opacityTexture.coordinatesIndex, this._opacityTexture.level);\n BindTextureMatrix(this._opacityTexture, ubo, \"opacity\");\n }\n if (this._hasAlphaChannel()) {\n ubo.updateFloat(\"alphaCutOff\", this.alphaCutOff);\n }\n if (this._reflectionTexture && StandardMaterial.ReflectionTextureEnabled) {\n ubo.updateFloat2(\"vReflectionInfos\", this._reflectionTexture.level, this.roughness);\n ubo.updateMatrix(\"reflectionMatrix\", this._reflectionTexture.getReflectionTextureMatrix());\n if (this._reflectionTexture.boundingBoxSize) {\n const cubeTexture = this._reflectionTexture;\n ubo.updateVector3(\"vReflectionPosition\", cubeTexture.boundingBoxPosition);\n ubo.updateVector3(\"vReflectionSize\", cubeTexture.boundingBoxSize);\n }\n }\n if (this._emissiveTexture && StandardMaterial.EmissiveTextureEnabled) {\n ubo.updateFloat2(\"vEmissiveInfos\", this._emissiveTexture.coordinatesIndex, this._emissiveTexture.level);\n BindTextureMatrix(this._emissiveTexture, ubo, \"emissive\");\n }\n if (this._lightmapTexture && StandardMaterial.LightmapTextureEnabled) {\n ubo.updateFloat2(\"vLightmapInfos\", this._lightmapTexture.coordinatesIndex, this._lightmapTexture.level);\n BindTextureMatrix(this._lightmapTexture, ubo, \"lightmap\");\n }\n if (this._specularTexture && StandardMaterial.SpecularTextureEnabled) {\n ubo.updateFloat2(\"vSpecularInfos\", this._specularTexture.coordinatesIndex, this._specularTexture.level);\n BindTextureMatrix(this._specularTexture, ubo, \"specular\");\n }\n if (this._bumpTexture && scene.getEngine().getCaps().standardDerivatives && StandardMaterial.BumpTextureEnabled) {\n ubo.updateFloat3(\"vBumpInfos\", this._bumpTexture.coordinatesIndex, 1.0 / this._bumpTexture.level, this.parallaxScaleBias);\n BindTextureMatrix(this._bumpTexture, ubo, \"bump\");\n if (scene._mirroredCameraPosition) {\n ubo.updateFloat2(\"vTangentSpaceParams\", this._invertNormalMapX ? 1.0 : -1.0, this._invertNormalMapY ? 1.0 : -1.0);\n }\n else {\n ubo.updateFloat2(\"vTangentSpaceParams\", this._invertNormalMapX ? -1.0 : 1.0, this._invertNormalMapY ? -1.0 : 1.0);\n }\n }\n if (this._refractionTexture && StandardMaterial.RefractionTextureEnabled) {\n let depth = 1.0;\n if (!this._refractionTexture.isCube) {\n ubo.updateMatrix(\"refractionMatrix\", this._refractionTexture.getReflectionTextureMatrix());\n if (this._refractionTexture.depth) {\n depth = this._refractionTexture.depth;\n }\n }\n ubo.updateFloat4(\"vRefractionInfos\", this._refractionTexture.level, this.indexOfRefraction, depth, this.invertRefractionY ? -1 : 1);\n if (this._refractionTexture.boundingBoxSize) {\n const cubeTexture = this._refractionTexture;\n ubo.updateVector3(\"vRefractionPosition\", cubeTexture.boundingBoxPosition);\n ubo.updateVector3(\"vRefractionSize\", cubeTexture.boundingBoxSize);\n }\n }\n }\n // Point size\n if (this.pointsCloud) {\n ubo.updateFloat(\"pointSize\", this.pointSize);\n }\n ubo.updateColor4(\"vSpecularColor\", this.specularColor, this.specularPower);\n ubo.updateColor3(\"vEmissiveColor\", StandardMaterial.EmissiveTextureEnabled ? this.emissiveColor : Color3.BlackReadOnly);\n ubo.updateColor4(\"vDiffuseColor\", this.diffuseColor, this.alpha);\n scene.ambientColor.multiplyToRef(this.ambientColor, this._globalAmbientColor);\n ubo.updateColor3(\"vAmbientColor\", this._globalAmbientColor);\n }\n // Textures\n if (scene.texturesEnabled) {\n if (this._diffuseTexture && StandardMaterial.DiffuseTextureEnabled) {\n effect.setTexture(\"diffuseSampler\", this._diffuseTexture);\n }\n if (this._ambientTexture && StandardMaterial.AmbientTextureEnabled) {\n effect.setTexture(\"ambientSampler\", this._ambientTexture);\n }\n if (this._opacityTexture && StandardMaterial.OpacityTextureEnabled) {\n effect.setTexture(\"opacitySampler\", this._opacityTexture);\n }\n if (this._reflectionTexture && StandardMaterial.ReflectionTextureEnabled) {\n if (this._reflectionTexture.isCube) {\n effect.setTexture(\"reflectionCubeSampler\", this._reflectionTexture);\n }\n else {\n effect.setTexture(\"reflection2DSampler\", this._reflectionTexture);\n }\n }\n if (this._emissiveTexture && StandardMaterial.EmissiveTextureEnabled) {\n effect.setTexture(\"emissiveSampler\", this._emissiveTexture);\n }\n if (this._lightmapTexture && StandardMaterial.LightmapTextureEnabled) {\n effect.setTexture(\"lightmapSampler\", this._lightmapTexture);\n }\n if (this._specularTexture && StandardMaterial.SpecularTextureEnabled) {\n effect.setTexture(\"specularSampler\", this._specularTexture);\n }\n if (this._bumpTexture && scene.getEngine().getCaps().standardDerivatives && StandardMaterial.BumpTextureEnabled) {\n effect.setTexture(\"bumpSampler\", this._bumpTexture);\n }\n if (this._refractionTexture && StandardMaterial.RefractionTextureEnabled) {\n if (this._refractionTexture.isCube) {\n effect.setTexture(\"refractionCubeSampler\", this._refractionTexture);\n }\n else {\n effect.setTexture(\"refraction2DSampler\", this._refractionTexture);\n }\n }\n }\n // OIT with depth peeling\n if (this.getScene().useOrderIndependentTransparency && this.needAlphaBlendingForMesh(mesh)) {\n this.getScene().depthPeelingRenderer.bind(effect);\n }\n this._eventInfo.subMesh = subMesh;\n this._callbackPluginEventBindForSubMesh(this._eventInfo);\n // Clip plane\n bindClipPlane(effect, this, scene);\n // Colors\n this.bindEyePosition(effect);\n }\n else if (scene.getEngine()._features.needToAlwaysBindUniformBuffers) {\n this._needToBindSceneUbo = true;\n }\n if (mustRebind || !this.isFrozen) {\n // Lights\n if (scene.lightsEnabled && !this._disableLighting) {\n BindLights(scene, mesh, effect, defines, this._maxSimultaneousLights);\n }\n // View\n if ((scene.fogEnabled && mesh.applyFog && scene.fogMode !== Scene.FOGMODE_NONE) ||\n this._reflectionTexture ||\n this._refractionTexture ||\n mesh.receiveShadows ||\n defines.PREPASS) {\n this.bindView(effect);\n }\n // Fog\n BindFogParameters(scene, mesh, effect);\n // Morph targets\n if (defines.NUM_MORPH_INFLUENCERS) {\n BindMorphTargetParameters(mesh, effect);\n }\n if (defines.BAKED_VERTEX_ANIMATION_TEXTURE) {\n mesh.bakedVertexAnimationManager?.bind(effect, defines.INSTANCES);\n }\n // Log. depth\n if (this.useLogarithmicDepth) {\n BindLogDepth(defines, effect, scene);\n }\n // image processing\n if (this._imageProcessingConfiguration && !this._imageProcessingConfiguration.applyByPostProcess) {\n this._imageProcessingConfiguration.bind(this._activeEffect);\n }\n }\n this._afterBind(mesh, this._activeEffect, subMesh);\n ubo.update();\n }\n /**\n * Get the list of animatables in the material.\n * @returns the list of animatables object used in the material\n */\n getAnimatables() {\n const results = super.getAnimatables();\n if (this._diffuseTexture && this._diffuseTexture.animations && this._diffuseTexture.animations.length > 0) {\n results.push(this._diffuseTexture);\n }\n if (this._ambientTexture && this._ambientTexture.animations && this._ambientTexture.animations.length > 0) {\n results.push(this._ambientTexture);\n }\n if (this._opacityTexture && this._opacityTexture.animations && this._opacityTexture.animations.length > 0) {\n results.push(this._opacityTexture);\n }\n if (this._reflectionTexture && this._reflectionTexture.animations && this._reflectionTexture.animations.length > 0) {\n results.push(this._reflectionTexture);\n }\n if (this._emissiveTexture && this._emissiveTexture.animations && this._emissiveTexture.animations.length > 0) {\n results.push(this._emissiveTexture);\n }\n if (this._specularTexture && this._specularTexture.animations && this._specularTexture.animations.length > 0) {\n results.push(this._specularTexture);\n }\n if (this._bumpTexture && this._bumpTexture.animations && this._bumpTexture.animations.length > 0) {\n results.push(this._bumpTexture);\n }\n if (this._lightmapTexture && this._lightmapTexture.animations && this._lightmapTexture.animations.length > 0) {\n results.push(this._lightmapTexture);\n }\n if (this._refractionTexture && this._refractionTexture.animations && this._refractionTexture.animations.length > 0) {\n results.push(this._refractionTexture);\n }\n return results;\n }\n /**\n * Gets the active textures from the material\n * @returns an array of textures\n */\n getActiveTextures() {\n const activeTextures = super.getActiveTextures();\n if (this._diffuseTexture) {\n activeTextures.push(this._diffuseTexture);\n }\n if (this._ambientTexture) {\n activeTextures.push(this._ambientTexture);\n }\n if (this._opacityTexture) {\n activeTextures.push(this._opacityTexture);\n }\n if (this._reflectionTexture) {\n activeTextures.push(this._reflectionTexture);\n }\n if (this._emissiveTexture) {\n activeTextures.push(this._emissiveTexture);\n }\n if (this._specularTexture) {\n activeTextures.push(this._specularTexture);\n }\n if (this._bumpTexture) {\n activeTextures.push(this._bumpTexture);\n }\n if (this._lightmapTexture) {\n activeTextures.push(this._lightmapTexture);\n }\n if (this._refractionTexture) {\n activeTextures.push(this._refractionTexture);\n }\n return activeTextures;\n }\n /**\n * Specifies if the material uses a texture\n * @param texture defines the texture to check against the material\n * @returns a boolean specifying if the material uses the texture\n */\n hasTexture(texture) {\n if (super.hasTexture(texture)) {\n return true;\n }\n if (this._diffuseTexture === texture) {\n return true;\n }\n if (this._ambientTexture === texture) {\n return true;\n }\n if (this._opacityTexture === texture) {\n return true;\n }\n if (this._reflectionTexture === texture) {\n return true;\n }\n if (this._emissiveTexture === texture) {\n return true;\n }\n if (this._specularTexture === texture) {\n return true;\n }\n if (this._bumpTexture === texture) {\n return true;\n }\n if (this._lightmapTexture === texture) {\n return true;\n }\n if (this._refractionTexture === texture) {\n return true;\n }\n return false;\n }\n /**\n * Disposes the material\n * @param forceDisposeEffect specifies if effects should be forcefully disposed\n * @param forceDisposeTextures specifies if textures should be forcefully disposed\n */\n dispose(forceDisposeEffect, forceDisposeTextures) {\n if (forceDisposeTextures) {\n this._diffuseTexture?.dispose();\n this._ambientTexture?.dispose();\n this._opacityTexture?.dispose();\n this._reflectionTexture?.dispose();\n this._emissiveTexture?.dispose();\n this._specularTexture?.dispose();\n this._bumpTexture?.dispose();\n this._lightmapTexture?.dispose();\n this._refractionTexture?.dispose();\n }\n if (this._imageProcessingConfiguration && this._imageProcessingObserver) {\n this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver);\n }\n super.dispose(forceDisposeEffect, forceDisposeTextures);\n }\n /**\n * Makes a duplicate of the material, and gives it a new name\n * @param name defines the new name for the duplicated material\n * @param cloneTexturesOnlyOnce - if a texture is used in more than one channel (e.g diffuse and opacity), only clone it once and reuse it on the other channels. Default false.\n * @param rootUrl defines the root URL to use to load textures\n * @returns the cloned material\n */\n clone(name, cloneTexturesOnlyOnce = true, rootUrl = \"\") {\n const result = SerializationHelper.Clone(() => new StandardMaterial(name, this.getScene()), this, { cloneTexturesOnlyOnce });\n result.name = name;\n result.id = name;\n this.stencil.copyTo(result.stencil);\n this._clonePlugins(result, rootUrl);\n return result;\n }\n /**\n * Creates a standard material from parsed material data\n * @param source defines the JSON representation of the material\n * @param scene defines the hosting scene\n * @param rootUrl defines the root URL to use to load textures and relative dependencies\n * @returns a new standard material\n */\n static Parse(source, scene, rootUrl) {\n const material = SerializationHelper.Parse(() => new StandardMaterial(source.name, scene), source, scene, rootUrl);\n if (source.stencil) {\n material.stencil.parse(source.stencil, scene, rootUrl);\n }\n Material._ParsePlugins(source, material, scene, rootUrl);\n return material;\n }\n // Flags used to enable or disable a type of texture for all Standard Materials\n /**\n * Are diffuse textures enabled in the application.\n */\n static get DiffuseTextureEnabled() {\n return MaterialFlags.DiffuseTextureEnabled;\n }\n static set DiffuseTextureEnabled(value) {\n MaterialFlags.DiffuseTextureEnabled = value;\n }\n /**\n * Are detail textures enabled in the application.\n */\n static get DetailTextureEnabled() {\n return MaterialFlags.DetailTextureEnabled;\n }\n static set DetailTextureEnabled(value) {\n MaterialFlags.DetailTextureEnabled = value;\n }\n /**\n * Are ambient textures enabled in the application.\n */\n static get AmbientTextureEnabled() {\n return MaterialFlags.AmbientTextureEnabled;\n }\n static set AmbientTextureEnabled(value) {\n MaterialFlags.AmbientTextureEnabled = value;\n }\n /**\n * Are opacity textures enabled in the application.\n */\n static get OpacityTextureEnabled() {\n return MaterialFlags.OpacityTextureEnabled;\n }\n static set OpacityTextureEnabled(value) {\n MaterialFlags.OpacityTextureEnabled = value;\n }\n /**\n * Are reflection textures enabled in the application.\n */\n static get ReflectionTextureEnabled() {\n return MaterialFlags.ReflectionTextureEnabled;\n }\n static set ReflectionTextureEnabled(value) {\n MaterialFlags.ReflectionTextureEnabled = value;\n }\n /**\n * Are emissive textures enabled in the application.\n */\n static get EmissiveTextureEnabled() {\n return MaterialFlags.EmissiveTextureEnabled;\n }\n static set EmissiveTextureEnabled(value) {\n MaterialFlags.EmissiveTextureEnabled = value;\n }\n /**\n * Are specular textures enabled in the application.\n */\n static get SpecularTextureEnabled() {\n return MaterialFlags.SpecularTextureEnabled;\n }\n static set SpecularTextureEnabled(value) {\n MaterialFlags.SpecularTextureEnabled = value;\n }\n /**\n * Are bump textures enabled in the application.\n */\n static get BumpTextureEnabled() {\n return MaterialFlags.BumpTextureEnabled;\n }\n static set BumpTextureEnabled(value) {\n MaterialFlags.BumpTextureEnabled = value;\n }\n /**\n * Are lightmap textures enabled in the application.\n */\n static get LightmapTextureEnabled() {\n return MaterialFlags.LightmapTextureEnabled;\n }\n static set LightmapTextureEnabled(value) {\n MaterialFlags.LightmapTextureEnabled = value;\n }\n /**\n * Are refraction textures enabled in the application.\n */\n static get RefractionTextureEnabled() {\n return MaterialFlags.RefractionTextureEnabled;\n }\n static set RefractionTextureEnabled(value) {\n MaterialFlags.RefractionTextureEnabled = value;\n }\n /**\n * Are color grading textures enabled in the application.\n */\n static get ColorGradingTextureEnabled() {\n return MaterialFlags.ColorGradingTextureEnabled;\n }\n static set ColorGradingTextureEnabled(value) {\n MaterialFlags.ColorGradingTextureEnabled = value;\n }\n /**\n * Are fresnels enabled in the application.\n */\n static get FresnelEnabled() {\n return MaterialFlags.FresnelEnabled;\n }\n static set FresnelEnabled(value) {\n MaterialFlags.FresnelEnabled = value;\n }\n}\n/**\n * Force all the standard materials to compile to glsl even on WebGPU engines.\n * False by default. This is mostly meant for backward compatibility.\n */\nStandardMaterial.ForceGLSL = false;\n__decorate([\n serializeAsTexture(\"diffuseTexture\")\n], StandardMaterial.prototype, \"_diffuseTexture\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesAndMiscDirty\")\n], StandardMaterial.prototype, \"diffuseTexture\", void 0);\n__decorate([\n serializeAsTexture(\"ambientTexture\")\n], StandardMaterial.prototype, \"_ambientTexture\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"ambientTexture\", void 0);\n__decorate([\n serializeAsTexture(\"opacityTexture\")\n], StandardMaterial.prototype, \"_opacityTexture\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesAndMiscDirty\")\n], StandardMaterial.prototype, \"opacityTexture\", void 0);\n__decorate([\n serializeAsTexture(\"reflectionTexture\")\n], StandardMaterial.prototype, \"_reflectionTexture\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"reflectionTexture\", void 0);\n__decorate([\n serializeAsTexture(\"emissiveTexture\")\n], StandardMaterial.prototype, \"_emissiveTexture\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"emissiveTexture\", void 0);\n__decorate([\n serializeAsTexture(\"specularTexture\")\n], StandardMaterial.prototype, \"_specularTexture\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"specularTexture\", void 0);\n__decorate([\n serializeAsTexture(\"bumpTexture\")\n], StandardMaterial.prototype, \"_bumpTexture\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"bumpTexture\", void 0);\n__decorate([\n serializeAsTexture(\"lightmapTexture\")\n], StandardMaterial.prototype, \"_lightmapTexture\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"lightmapTexture\", void 0);\n__decorate([\n serializeAsTexture(\"refractionTexture\")\n], StandardMaterial.prototype, \"_refractionTexture\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"refractionTexture\", void 0);\n__decorate([\n serializeAsColor3(\"ambient\")\n], StandardMaterial.prototype, \"ambientColor\", void 0);\n__decorate([\n serializeAsColor3(\"diffuse\")\n], StandardMaterial.prototype, \"diffuseColor\", void 0);\n__decorate([\n serializeAsColor3(\"specular\")\n], StandardMaterial.prototype, \"specularColor\", void 0);\n__decorate([\n serializeAsColor3(\"emissive\")\n], StandardMaterial.prototype, \"emissiveColor\", void 0);\n__decorate([\n serialize()\n], StandardMaterial.prototype, \"specularPower\", void 0);\n__decorate([\n serialize(\"useAlphaFromDiffuseTexture\")\n], StandardMaterial.prototype, \"_useAlphaFromDiffuseTexture\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesAndMiscDirty\")\n], StandardMaterial.prototype, \"useAlphaFromDiffuseTexture\", void 0);\n__decorate([\n serialize(\"useEmissiveAsIllumination\")\n], StandardMaterial.prototype, \"_useEmissiveAsIllumination\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"useEmissiveAsIllumination\", void 0);\n__decorate([\n serialize(\"linkEmissiveWithDiffuse\")\n], StandardMaterial.prototype, \"_linkEmissiveWithDiffuse\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"linkEmissiveWithDiffuse\", void 0);\n__decorate([\n serialize(\"useSpecularOverAlpha\")\n], StandardMaterial.prototype, \"_useSpecularOverAlpha\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"useSpecularOverAlpha\", void 0);\n__decorate([\n serialize(\"useReflectionOverAlpha\")\n], StandardMaterial.prototype, \"_useReflectionOverAlpha\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"useReflectionOverAlpha\", void 0);\n__decorate([\n serialize(\"disableLighting\")\n], StandardMaterial.prototype, \"_disableLighting\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\n], StandardMaterial.prototype, \"disableLighting\", void 0);\n__decorate([\n serialize(\"useObjectSpaceNormalMap\")\n], StandardMaterial.prototype, \"_useObjectSpaceNormalMap\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"useObjectSpaceNormalMap\", void 0);\n__decorate([\n serialize(\"useParallax\")\n], StandardMaterial.prototype, \"_useParallax\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"useParallax\", void 0);\n__decorate([\n serialize(\"useParallaxOcclusion\")\n], StandardMaterial.prototype, \"_useParallaxOcclusion\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"useParallaxOcclusion\", void 0);\n__decorate([\n serialize()\n], StandardMaterial.prototype, \"parallaxScaleBias\", void 0);\n__decorate([\n serialize(\"roughness\")\n], StandardMaterial.prototype, \"_roughness\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"roughness\", void 0);\n__decorate([\n serialize()\n], StandardMaterial.prototype, \"indexOfRefraction\", void 0);\n__decorate([\n serialize()\n], StandardMaterial.prototype, \"invertRefractionY\", void 0);\n__decorate([\n serialize()\n], StandardMaterial.prototype, \"alphaCutOff\", void 0);\n__decorate([\n serialize(\"useLightmapAsShadowmap\")\n], StandardMaterial.prototype, \"_useLightmapAsShadowmap\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"useLightmapAsShadowmap\", void 0);\n__decorate([\n serializeAsFresnelParameters(\"diffuseFresnelParameters\")\n], StandardMaterial.prototype, \"_diffuseFresnelParameters\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsFresnelDirty\")\n], StandardMaterial.prototype, \"diffuseFresnelParameters\", void 0);\n__decorate([\n serializeAsFresnelParameters(\"opacityFresnelParameters\")\n], StandardMaterial.prototype, \"_opacityFresnelParameters\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsFresnelAndMiscDirty\")\n], StandardMaterial.prototype, \"opacityFresnelParameters\", void 0);\n__decorate([\n serializeAsFresnelParameters(\"reflectionFresnelParameters\")\n], StandardMaterial.prototype, \"_reflectionFresnelParameters\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsFresnelDirty\")\n], StandardMaterial.prototype, \"reflectionFresnelParameters\", void 0);\n__decorate([\n serializeAsFresnelParameters(\"refractionFresnelParameters\")\n], StandardMaterial.prototype, \"_refractionFresnelParameters\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsFresnelDirty\")\n], StandardMaterial.prototype, \"refractionFresnelParameters\", void 0);\n__decorate([\n serializeAsFresnelParameters(\"emissiveFresnelParameters\")\n], StandardMaterial.prototype, \"_emissiveFresnelParameters\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsFresnelDirty\")\n], StandardMaterial.prototype, \"emissiveFresnelParameters\", void 0);\n__decorate([\n serialize(\"useReflectionFresnelFromSpecular\")\n], StandardMaterial.prototype, \"_useReflectionFresnelFromSpecular\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsFresnelDirty\")\n], StandardMaterial.prototype, \"useReflectionFresnelFromSpecular\", void 0);\n__decorate([\n serialize(\"useGlossinessFromSpecularMapAlpha\")\n], StandardMaterial.prototype, \"_useGlossinessFromSpecularMapAlpha\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"useGlossinessFromSpecularMapAlpha\", void 0);\n__decorate([\n serialize(\"maxSimultaneousLights\")\n], StandardMaterial.prototype, \"_maxSimultaneousLights\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\n], StandardMaterial.prototype, \"maxSimultaneousLights\", void 0);\n__decorate([\n serialize(\"invertNormalMapX\")\n], StandardMaterial.prototype, \"_invertNormalMapX\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"invertNormalMapX\", void 0);\n__decorate([\n serialize(\"invertNormalMapY\")\n], StandardMaterial.prototype, \"_invertNormalMapY\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"invertNormalMapY\", void 0);\n__decorate([\n serialize(\"twoSidedLighting\")\n], StandardMaterial.prototype, \"_twoSidedLighting\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], StandardMaterial.prototype, \"twoSidedLighting\", void 0);\n__decorate([\n serialize(\"applyDecalMapAfterDetailMap\")\n], StandardMaterial.prototype, \"_applyDecalMapAfterDetailMap\", void 0);\n__decorate([\n expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\n], StandardMaterial.prototype, \"applyDecalMapAfterDetailMap\", void 0);\nRegisterClass(\"BABYLON.StandardMaterial\", StandardMaterial);\nScene.DefaultMaterialFactory = (scene) => {\n return new StandardMaterial(\"default material\", scene);\n};\n//# sourceMappingURL=standardMaterial.js.map"],"names":[],"mappings":"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"}
@@ -0,0 +1,238 @@
1
+ import { am as STLFileLoaderMetadata, M as Mesh, T as Tools, V as VertexBuffer, y as registerSceneLoaderPlugin } from './index-Dlf001gP.esm.js';
2
+ import { A as AssetContainer } from './assetContainer-0Qu2XIWb.esm.js';
3
+ import './standardMaterial-eJkfs5dX.esm.js';
4
+
5
+ /**
6
+ * STL file type loader.
7
+ * This is a babylon scene loader plugin.
8
+ */
9
+ class STLFileLoader {
10
+ constructor() {
11
+ /** @internal */
12
+ this.solidPattern = /solid (\S*)([\S\s]*?)endsolid[ ]*(\S*)/g;
13
+ /** @internal */
14
+ this.facetsPattern = /facet([\s\S]*?)endfacet/g;
15
+ /** @internal */
16
+ this.normalPattern = /normal[\s]+([-+]?[0-9]+\.?[0-9]*([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;
17
+ /** @internal */
18
+ this.vertexPattern = /vertex[\s]+([-+]?[0-9]+\.?[0-9]*([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;
19
+ /**
20
+ * Defines the name of the plugin.
21
+ */
22
+ this.name = STLFileLoaderMetadata.name;
23
+ /**
24
+ * Defines the extensions the stl loader is able to load.
25
+ * force data to come in as an ArrayBuffer
26
+ * we'll convert to string if it looks like it's an ASCII .stl
27
+ */
28
+ this.extensions = STLFileLoaderMetadata.extensions;
29
+ }
30
+ /**
31
+ * Import meshes into a scene.
32
+ * @param meshesNames An array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported
33
+ * @param scene The scene to import into
34
+ * @param data The data to import
35
+ * @param rootUrl The root url for scene and resources
36
+ * @param meshes The meshes array to import into
37
+ * @returns True if successful or false otherwise
38
+ */
39
+ importMesh(meshesNames, scene, data, rootUrl, meshes) {
40
+ let matches;
41
+ if (typeof data !== "string") {
42
+ if (this._isBinary(data)) {
43
+ // binary .stl
44
+ const babylonMesh = new Mesh("stlmesh", scene);
45
+ this._parseBinary(babylonMesh, data);
46
+ if (meshes) {
47
+ meshes.push(babylonMesh);
48
+ }
49
+ return true;
50
+ }
51
+ // ASCII .stl
52
+ // convert to string
53
+ data = new TextDecoder().decode(new Uint8Array(data));
54
+ }
55
+ //if arrived here, data is a string, containing the STLA data.
56
+ while ((matches = this.solidPattern.exec(data))) {
57
+ let meshName = matches[1];
58
+ const meshNameFromEnd = matches[3];
59
+ if (meshNameFromEnd && meshName != meshNameFromEnd) {
60
+ Tools.Error("Error in STL, solid name != endsolid name");
61
+ return false;
62
+ }
63
+ // check meshesNames
64
+ if (meshesNames && meshName) {
65
+ if (meshesNames instanceof Array) {
66
+ if (!meshesNames.indexOf(meshName)) {
67
+ continue;
68
+ }
69
+ }
70
+ else {
71
+ if (meshName !== meshesNames) {
72
+ continue;
73
+ }
74
+ }
75
+ }
76
+ // stl mesh name can be empty as well
77
+ meshName = meshName || "stlmesh";
78
+ const babylonMesh = new Mesh(meshName, scene);
79
+ this._parseASCII(babylonMesh, matches[2]);
80
+ if (meshes) {
81
+ meshes.push(babylonMesh);
82
+ }
83
+ }
84
+ return true;
85
+ }
86
+ /**
87
+ * Load into a scene.
88
+ * @param scene The scene to load into
89
+ * @param data The data to import
90
+ * @param rootUrl The root url for scene and resources
91
+ * @returns true if successful or false otherwise
92
+ */
93
+ load(scene, data, rootUrl) {
94
+ const result = this.importMesh(null, scene, data, rootUrl, null);
95
+ return result;
96
+ }
97
+ /**
98
+ * Load into an asset container.
99
+ * @param scene The scene to load into
100
+ * @param data The data to import
101
+ * @param rootUrl The root url for scene and resources
102
+ * @returns The loaded asset container
103
+ */
104
+ loadAssetContainer(scene, data, rootUrl) {
105
+ const container = new AssetContainer(scene);
106
+ scene._blockEntityCollection = true;
107
+ this.importMesh(null, scene, data, rootUrl, container.meshes);
108
+ scene._blockEntityCollection = false;
109
+ return container;
110
+ }
111
+ _isBinary(data) {
112
+ // check if file size is correct for binary stl
113
+ const reader = new DataView(data);
114
+ // A Binary STL header is 80 bytes, if the data size is not great than
115
+ // that then it's not a binary STL.
116
+ if (reader.byteLength <= 80) {
117
+ return false;
118
+ }
119
+ const faceSize = (32 / 8) * 3 + (32 / 8) * 3 * 3 + 16 / 8;
120
+ const nFaces = reader.getUint32(80, true);
121
+ if (80 + 32 / 8 + nFaces * faceSize === reader.byteLength) {
122
+ return true;
123
+ }
124
+ // US-ASCII begin with 's', 'o', 'l', 'i', 'd'
125
+ const ascii = [115, 111, 108, 105, 100];
126
+ for (let off = 0; off < 5; off++) {
127
+ if (reader.getUint8(off) !== ascii[off]) {
128
+ return true;
129
+ }
130
+ }
131
+ return false;
132
+ }
133
+ _parseBinary(mesh, data) {
134
+ const reader = new DataView(data);
135
+ const faces = reader.getUint32(80, true);
136
+ const dataOffset = 84;
137
+ const faceLength = 12 * 4 + 2;
138
+ let offset = 0;
139
+ const positions = new Float32Array(faces * 3 * 3);
140
+ const normals = new Float32Array(faces * 3 * 3);
141
+ const indices = new Uint32Array(faces * 3);
142
+ let indicesCount = 0;
143
+ for (let face = 0; face < faces; face++) {
144
+ const start = dataOffset + face * faceLength;
145
+ const normalX = reader.getFloat32(start, true);
146
+ const normalY = reader.getFloat32(start + 4, true);
147
+ const normalZ = reader.getFloat32(start + 8, true);
148
+ for (let i = 1; i <= 3; i++) {
149
+ const vertexstart = start + i * 12;
150
+ // ordering is intentional to match ascii import
151
+ positions[offset] = reader.getFloat32(vertexstart, true);
152
+ normals[offset] = normalX;
153
+ if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {
154
+ positions[offset + 2] = reader.getFloat32(vertexstart + 4, true);
155
+ positions[offset + 1] = reader.getFloat32(vertexstart + 8, true);
156
+ normals[offset + 2] = normalY;
157
+ normals[offset + 1] = normalZ;
158
+ }
159
+ else {
160
+ positions[offset + 1] = reader.getFloat32(vertexstart + 4, true);
161
+ positions[offset + 2] = reader.getFloat32(vertexstart + 8, true);
162
+ normals[offset + 1] = normalY;
163
+ normals[offset + 2] = normalZ;
164
+ }
165
+ offset += 3;
166
+ }
167
+ if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {
168
+ indices[indicesCount] = indicesCount;
169
+ indices[indicesCount + 1] = indicesCount + 2;
170
+ indices[indicesCount + 2] = indicesCount + 1;
171
+ indicesCount += 3;
172
+ }
173
+ else {
174
+ indices[indicesCount] = indicesCount++;
175
+ indices[indicesCount] = indicesCount++;
176
+ indices[indicesCount] = indicesCount++;
177
+ }
178
+ }
179
+ mesh.setVerticesData(VertexBuffer.PositionKind, positions);
180
+ mesh.setVerticesData(VertexBuffer.NormalKind, normals);
181
+ mesh.setIndices(indices);
182
+ mesh.computeWorldMatrix(true);
183
+ }
184
+ _parseASCII(mesh, solidData) {
185
+ const positions = [];
186
+ const normals = [];
187
+ const indices = [];
188
+ let indicesCount = 0;
189
+ //load facets, ignoring loop as the standard doesn't define it can contain more than vertices
190
+ let matches;
191
+ while ((matches = this.facetsPattern.exec(solidData))) {
192
+ const facet = matches[1];
193
+ //one normal per face
194
+ const normalMatches = this.normalPattern.exec(facet);
195
+ this.normalPattern.lastIndex = 0;
196
+ if (!normalMatches) {
197
+ continue;
198
+ }
199
+ const normal = [Number(normalMatches[1]), Number(normalMatches[5]), Number(normalMatches[3])];
200
+ let vertexMatch;
201
+ while ((vertexMatch = this.vertexPattern.exec(facet))) {
202
+ if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {
203
+ positions.push(Number(vertexMatch[1]), Number(vertexMatch[5]), Number(vertexMatch[3]));
204
+ normals.push(normal[0], normal[1], normal[2]);
205
+ }
206
+ else {
207
+ positions.push(Number(vertexMatch[1]), Number(vertexMatch[3]), Number(vertexMatch[5]));
208
+ // Flipping the second and third component because inverted
209
+ // when normal was declared.
210
+ normals.push(normal[0], normal[2], normal[1]);
211
+ }
212
+ }
213
+ if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {
214
+ indices.push(indicesCount, indicesCount + 2, indicesCount + 1);
215
+ indicesCount += 3;
216
+ }
217
+ else {
218
+ indices.push(indicesCount++, indicesCount++, indicesCount++);
219
+ }
220
+ this.vertexPattern.lastIndex = 0;
221
+ }
222
+ this.facetsPattern.lastIndex = 0;
223
+ mesh.setVerticesData(VertexBuffer.PositionKind, positions);
224
+ mesh.setVerticesData(VertexBuffer.NormalKind, normals);
225
+ mesh.setIndices(indices);
226
+ mesh.computeWorldMatrix(true);
227
+ }
228
+ }
229
+ /**
230
+ * Defines if Y and Z axes are swapped or not when loading an STL file.
231
+ * The default is false to maintain backward compatibility. When set to
232
+ * true, coordinates from the STL file are used without change.
233
+ */
234
+ STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES = false;
235
+ registerSceneLoaderPlugin(new STLFileLoader());
236
+
237
+ export { STLFileLoader };
238
+ //# sourceMappingURL=stlFileLoader-D-4wZdg7.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stlFileLoader-D-4wZdg7.esm.js","sources":["../../../../../dev/loaders/dist/STL/stlFileLoader.js"],"sourcesContent":["import { Tools } from \"core/Misc/tools\";\nimport { VertexBuffer } from \"core/Buffers/buffer\";\nimport { Mesh } from \"core/Meshes/mesh\";\nimport { registerSceneLoaderPlugin } from \"core/Loading/sceneLoader\";\nimport { AssetContainer } from \"core/assetContainer\";\nimport { STLFileLoaderMetadata } from \"./stlFileLoader.metadata\";\nimport \"core/Materials/standardMaterial\";\n/**\n * STL file type loader.\n * This is a babylon scene loader plugin.\n */\nexport class STLFileLoader {\n constructor() {\n /** @internal */\n this.solidPattern = /solid (\\S*)([\\S\\s]*?)endsolid[ ]*(\\S*)/g;\n /** @internal */\n this.facetsPattern = /facet([\\s\\S]*?)endfacet/g;\n /** @internal */\n this.normalPattern = /normal[\\s]+([-+]?[0-9]+\\.?[0-9]*([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;\n /** @internal */\n this.vertexPattern = /vertex[\\s]+([-+]?[0-9]+\\.?[0-9]*([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;\n /**\n * Defines the name of the plugin.\n */\n this.name = STLFileLoaderMetadata.name;\n /**\n * Defines the extensions the stl loader is able to load.\n * force data to come in as an ArrayBuffer\n * we'll convert to string if it looks like it's an ASCII .stl\n */\n this.extensions = STLFileLoaderMetadata.extensions;\n }\n /**\n * Import meshes into a scene.\n * @param meshesNames An array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported\n * @param scene The scene to import into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @param meshes The meshes array to import into\n * @returns True if successful or false otherwise\n */\n importMesh(meshesNames, scene, data, rootUrl, meshes) {\n let matches;\n if (typeof data !== \"string\") {\n if (this._isBinary(data)) {\n // binary .stl\n const babylonMesh = new Mesh(\"stlmesh\", scene);\n this._parseBinary(babylonMesh, data);\n if (meshes) {\n meshes.push(babylonMesh);\n }\n return true;\n }\n // ASCII .stl\n // convert to string\n data = new TextDecoder().decode(new Uint8Array(data));\n }\n //if arrived here, data is a string, containing the STLA data.\n while ((matches = this.solidPattern.exec(data))) {\n let meshName = matches[1];\n const meshNameFromEnd = matches[3];\n if (meshNameFromEnd && meshName != meshNameFromEnd) {\n Tools.Error(\"Error in STL, solid name != endsolid name\");\n return false;\n }\n // check meshesNames\n if (meshesNames && meshName) {\n if (meshesNames instanceof Array) {\n if (!meshesNames.indexOf(meshName)) {\n continue;\n }\n }\n else {\n if (meshName !== meshesNames) {\n continue;\n }\n }\n }\n // stl mesh name can be empty as well\n meshName = meshName || \"stlmesh\";\n const babylonMesh = new Mesh(meshName, scene);\n this._parseASCII(babylonMesh, matches[2]);\n if (meshes) {\n meshes.push(babylonMesh);\n }\n }\n return true;\n }\n /**\n * Load into a scene.\n * @param scene The scene to load into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @returns true if successful or false otherwise\n */\n load(scene, data, rootUrl) {\n const result = this.importMesh(null, scene, data, rootUrl, null);\n return result;\n }\n /**\n * Load into an asset container.\n * @param scene The scene to load into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @returns The loaded asset container\n */\n loadAssetContainer(scene, data, rootUrl) {\n const container = new AssetContainer(scene);\n scene._blockEntityCollection = true;\n this.importMesh(null, scene, data, rootUrl, container.meshes);\n scene._blockEntityCollection = false;\n return container;\n }\n _isBinary(data) {\n // check if file size is correct for binary stl\n const reader = new DataView(data);\n // A Binary STL header is 80 bytes, if the data size is not great than\n // that then it's not a binary STL.\n if (reader.byteLength <= 80) {\n return false;\n }\n const faceSize = (32 / 8) * 3 + (32 / 8) * 3 * 3 + 16 / 8;\n const nFaces = reader.getUint32(80, true);\n if (80 + 32 / 8 + nFaces * faceSize === reader.byteLength) {\n return true;\n }\n // US-ASCII begin with 's', 'o', 'l', 'i', 'd'\n const ascii = [115, 111, 108, 105, 100];\n for (let off = 0; off < 5; off++) {\n if (reader.getUint8(off) !== ascii[off]) {\n return true;\n }\n }\n return false;\n }\n _parseBinary(mesh, data) {\n const reader = new DataView(data);\n const faces = reader.getUint32(80, true);\n const dataOffset = 84;\n const faceLength = 12 * 4 + 2;\n let offset = 0;\n const positions = new Float32Array(faces * 3 * 3);\n const normals = new Float32Array(faces * 3 * 3);\n const indices = new Uint32Array(faces * 3);\n let indicesCount = 0;\n for (let face = 0; face < faces; face++) {\n const start = dataOffset + face * faceLength;\n const normalX = reader.getFloat32(start, true);\n const normalY = reader.getFloat32(start + 4, true);\n const normalZ = reader.getFloat32(start + 8, true);\n for (let i = 1; i <= 3; i++) {\n const vertexstart = start + i * 12;\n // ordering is intentional to match ascii import\n positions[offset] = reader.getFloat32(vertexstart, true);\n normals[offset] = normalX;\n if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n positions[offset + 2] = reader.getFloat32(vertexstart + 4, true);\n positions[offset + 1] = reader.getFloat32(vertexstart + 8, true);\n normals[offset + 2] = normalY;\n normals[offset + 1] = normalZ;\n }\n else {\n positions[offset + 1] = reader.getFloat32(vertexstart + 4, true);\n positions[offset + 2] = reader.getFloat32(vertexstart + 8, true);\n normals[offset + 1] = normalY;\n normals[offset + 2] = normalZ;\n }\n offset += 3;\n }\n if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n indices[indicesCount] = indicesCount;\n indices[indicesCount + 1] = indicesCount + 2;\n indices[indicesCount + 2] = indicesCount + 1;\n indicesCount += 3;\n }\n else {\n indices[indicesCount] = indicesCount++;\n indices[indicesCount] = indicesCount++;\n indices[indicesCount] = indicesCount++;\n }\n }\n mesh.setVerticesData(VertexBuffer.PositionKind, positions);\n mesh.setVerticesData(VertexBuffer.NormalKind, normals);\n mesh.setIndices(indices);\n mesh.computeWorldMatrix(true);\n }\n _parseASCII(mesh, solidData) {\n const positions = [];\n const normals = [];\n const indices = [];\n let indicesCount = 0;\n //load facets, ignoring loop as the standard doesn't define it can contain more than vertices\n let matches;\n while ((matches = this.facetsPattern.exec(solidData))) {\n const facet = matches[1];\n //one normal per face\n const normalMatches = this.normalPattern.exec(facet);\n this.normalPattern.lastIndex = 0;\n if (!normalMatches) {\n continue;\n }\n const normal = [Number(normalMatches[1]), Number(normalMatches[5]), Number(normalMatches[3])];\n let vertexMatch;\n while ((vertexMatch = this.vertexPattern.exec(facet))) {\n if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n positions.push(Number(vertexMatch[1]), Number(vertexMatch[5]), Number(vertexMatch[3]));\n normals.push(normal[0], normal[1], normal[2]);\n }\n else {\n positions.push(Number(vertexMatch[1]), Number(vertexMatch[3]), Number(vertexMatch[5]));\n // Flipping the second and third component because inverted\n // when normal was declared.\n normals.push(normal[0], normal[2], normal[1]);\n }\n }\n if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n indices.push(indicesCount, indicesCount + 2, indicesCount + 1);\n indicesCount += 3;\n }\n else {\n indices.push(indicesCount++, indicesCount++, indicesCount++);\n }\n this.vertexPattern.lastIndex = 0;\n }\n this.facetsPattern.lastIndex = 0;\n mesh.setVerticesData(VertexBuffer.PositionKind, positions);\n mesh.setVerticesData(VertexBuffer.NormalKind, normals);\n mesh.setIndices(indices);\n mesh.computeWorldMatrix(true);\n }\n}\n/**\n * Defines if Y and Z axes are swapped or not when loading an STL file.\n * The default is false to maintain backward compatibility. When set to\n * true, coordinates from the STL file are used without change.\n */\nSTLFileLoader.DO_NOT_ALTER_FILE_COORDINATES = false;\nregisterSceneLoaderPlugin(new STLFileLoader());\n//# sourceMappingURL=stlFileLoader.js.map"],"names":[],"mappings":"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"}