@babylonjs/viewer 7.31.0-alpha → 7.31.1
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.
- package/configuration/configuration.d.ts +107 -0
- package/configuration/configuration.js +16 -0
- package/configuration/configuration.js.map +1 -0
- package/configuration/configurationCompatibility.d.ts +8 -0
- package/configuration/configurationCompatibility.js +66 -0
- package/configuration/configurationCompatibility.js.map +1 -0
- package/configuration/configurationContainer.d.ts +10 -0
- package/configuration/configurationContainer.js +10 -0
- package/configuration/configurationContainer.js.map +1 -0
- package/configuration/globals.d.ts +6 -0
- package/configuration/globals.js +18 -0
- package/configuration/globals.js.map +1 -0
- package/configuration/index.d.ts +2 -0
- package/configuration/index.js +4 -0
- package/configuration/index.js.map +1 -0
- package/configuration/interfaces/cameraConfiguration.d.ts +31 -0
- package/configuration/interfaces/cameraConfiguration.js +2 -0
- package/configuration/interfaces/cameraConfiguration.js.map +1 -0
- package/configuration/interfaces/colorGradingConfiguration.d.ts +81 -0
- package/configuration/interfaces/colorGradingConfiguration.js +2 -0
- package/configuration/interfaces/colorGradingConfiguration.js.map +1 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +20 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +2 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +1 -0
- package/configuration/interfaces/environmentMapConfiguration.d.ts +22 -0
- package/configuration/interfaces/environmentMapConfiguration.js +2 -0
- package/configuration/interfaces/environmentMapConfiguration.js.map +1 -0
- package/configuration/interfaces/groundConfiguration.d.ts +24 -0
- package/configuration/interfaces/groundConfiguration.js +2 -0
- package/configuration/interfaces/groundConfiguration.js.map +1 -0
- package/configuration/interfaces/imageProcessingConfiguration.d.ts +45 -0
- package/configuration/interfaces/imageProcessingConfiguration.js +2 -0
- package/configuration/interfaces/imageProcessingConfiguration.js.map +1 -0
- package/configuration/interfaces/index.d.ts +15 -0
- package/configuration/interfaces/index.js +16 -0
- package/configuration/interfaces/index.js.map +1 -0
- package/configuration/interfaces/lightConfiguration.d.ts +60 -0
- package/configuration/interfaces/lightConfiguration.js +2 -0
- package/configuration/interfaces/lightConfiguration.js.map +1 -0
- package/configuration/interfaces/modelAnimationConfiguration.d.ts +26 -0
- package/configuration/interfaces/modelAnimationConfiguration.js +2 -0
- package/configuration/interfaces/modelAnimationConfiguration.js.map +1 -0
- package/configuration/interfaces/modelConfiguration.d.ts +65 -0
- package/configuration/interfaces/modelConfiguration.js +2 -0
- package/configuration/interfaces/modelConfiguration.js.map +1 -0
- package/configuration/interfaces/observersConfiguration.d.ts +5 -0
- package/configuration/interfaces/observersConfiguration.js +2 -0
- package/configuration/interfaces/observersConfiguration.js.map +1 -0
- package/configuration/interfaces/sceneConfiguration.d.ts +48 -0
- package/configuration/interfaces/sceneConfiguration.js +2 -0
- package/configuration/interfaces/sceneConfiguration.js.map +1 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +23 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.js +2 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.js.map +1 -0
- package/configuration/interfaces/skyboxConfiguration.d.ts +21 -0
- package/configuration/interfaces/skyboxConfiguration.js +2 -0
- package/configuration/interfaces/skyboxConfiguration.js.map +1 -0
- package/configuration/interfaces/templateConfiguration.d.ts +67 -0
- package/configuration/interfaces/templateConfiguration.js +2 -0
- package/configuration/interfaces/templateConfiguration.js.map +1 -0
- package/configuration/interfaces/vrConfiguration.d.ts +16 -0
- package/configuration/interfaces/vrConfiguration.js +2 -0
- package/configuration/interfaces/vrConfiguration.js.map +1 -0
- package/configuration/loader.d.ts +4 -0
- package/configuration/loader.js +17 -0
- package/configuration/loader.js.map +1 -0
- package/configuration/mappers.d.ts +43 -0
- package/configuration/mappers.js +192 -0
- package/configuration/mappers.js.map +1 -0
- package/configuration/renderOnlyLoader.d.ts +33 -0
- package/configuration/renderOnlyLoader.js +162 -0
- package/configuration/renderOnlyLoader.js.map +1 -0
- package/configuration/types/default.d.ts +6 -0
- package/configuration/types/default.js +121 -0
- package/configuration/types/default.js.map +1 -0
- package/configuration/types/environmentMap.d.ts +5 -0
- package/configuration/types/environmentMap.js +14 -0
- package/configuration/types/environmentMap.js.map +1 -0
- package/configuration/types/extended.d.ts +6 -0
- package/configuration/types/extended.js +317 -0
- package/configuration/types/extended.js.map +1 -0
- package/configuration/types/index.d.ts +14 -0
- package/configuration/types/index.js +51 -0
- package/configuration/types/index.js.map +1 -0
- package/configuration/types/minimal.d.ts +6 -0
- package/configuration/types/minimal.js +43 -0
- package/configuration/types/minimal.js.map +1 -0
- package/configuration/types/renderOnlyDefault.d.ts +30 -0
- package/configuration/types/renderOnlyDefault.js +31 -0
- package/configuration/types/renderOnlyDefault.js.map +1 -0
- package/configuration/types/shadowLight.d.ts +9 -0
- package/configuration/types/shadowLight.js +64 -0
- package/configuration/types/shadowLight.js.map +1 -0
- package/helper/index.d.ts +29 -0
- package/helper/index.js +66 -0
- package/helper/index.js.map +1 -0
- package/index.d.ts +30 -0
- package/index.js +46 -0
- package/index.js.map +1 -0
- package/initializer.d.ts +11 -0
- package/initializer.js +35 -0
- package/initializer.js.map +1 -0
- package/interfaces.d.ts +5 -0
- package/interfaces.js +7 -0
- package/interfaces.js.map +1 -0
- package/labs/environmentSerializer.d.ts +126 -0
- package/labs/environmentSerializer.js +191 -0
- package/labs/environmentSerializer.js.map +1 -0
- package/labs/texture.d.ts +183 -0
- package/labs/texture.js +350 -0
- package/labs/texture.js.map +1 -0
- package/labs/viewerLabs.d.ts +51 -0
- package/labs/viewerLabs.js +134 -0
- package/labs/viewerLabs.js.map +1 -0
- package/loader/modelLoader.d.ts +56 -0
- package/loader/modelLoader.js +199 -0
- package/loader/modelLoader.js.map +1 -0
- package/loader/plugins/applyMaterialConfig.d.ts +12 -0
- package/loader/plugins/applyMaterialConfig.js +16 -0
- package/loader/plugins/applyMaterialConfig.js.map +1 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +9 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.js +16 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.js.map +1 -0
- package/loader/plugins/index.d.ts +19 -0
- package/loader/plugins/index.js +44 -0
- package/loader/plugins/index.js.map +1 -0
- package/loader/plugins/loaderPlugin.d.ts +24 -0
- package/loader/plugins/loaderPlugin.js +2 -0
- package/loader/plugins/loaderPlugin.js.map +1 -0
- package/loader/plugins/msftLodLoaderPlugin.d.ts +12 -0
- package/loader/plugins/msftLodLoaderPlugin.js +21 -0
- package/loader/plugins/msftLodLoaderPlugin.js.map +1 -0
- package/loader/plugins/telemetryLoaderPlugin.d.ts +12 -0
- package/loader/plugins/telemetryLoaderPlugin.js +36 -0
- package/loader/plugins/telemetryLoaderPlugin.js.map +1 -0
- package/managers/observablesManager.d.ts +66 -0
- package/managers/observablesManager.js +35 -0
- package/managers/observablesManager.js.map +1 -0
- package/managers/sceneManager.d.ts +245 -0
- package/managers/sceneManager.js +1375 -0
- package/managers/sceneManager.js.map +1 -0
- package/managers/telemetryManager.d.ts +78 -0
- package/managers/telemetryManager.js +117 -0
- package/managers/telemetryManager.js.map +1 -0
- package/model/modelAnimation.d.ts +215 -0
- package/model/modelAnimation.js +237 -0
- package/model/modelAnimation.js.map +1 -0
- package/model/viewerModel.d.ts +233 -0
- package/model/viewerModel.js +673 -0
- package/model/viewerModel.js.map +1 -0
- package/optimizer/custom/extended.d.ts +13 -0
- package/optimizer/custom/extended.js +101 -0
- package/optimizer/custom/extended.js.map +1 -0
- package/optimizer/custom/index.d.ts +9 -0
- package/optimizer/custom/index.js +26 -0
- package/optimizer/custom/index.js.map +1 -0
- package/package.json +27 -18
- package/readme.md +21 -145
- package/renderOnlyIndex.d.ts +11 -0
- package/renderOnlyIndex.js +18 -0
- package/renderOnlyIndex.js.map +1 -0
- package/templating/eventManager.d.ts +35 -0
- package/templating/eventManager.js +66 -0
- package/templating/eventManager.js.map +1 -0
- package/templating/plugins/hdButtonPlugin.d.ts +9 -0
- package/templating/plugins/hdButtonPlugin.js +21 -0
- package/templating/plugins/hdButtonPlugin.js.map +1 -0
- package/templating/plugins/printButton.d.ts +9 -0
- package/templating/plugins/printButton.js +40 -0
- package/templating/plugins/printButton.js.map +1 -0
- package/templating/templateManager.d.ts +197 -0
- package/templating/templateManager.js +561 -0
- package/templating/templateManager.js.map +1 -0
- package/templating/viewerTemplatePlugin.d.ts +21 -0
- package/templating/viewerTemplatePlugin.js +69 -0
- package/templating/viewerTemplatePlugin.js.map +1 -0
- package/viewer/defaultViewer.d.ts +130 -0
- package/viewer/defaultViewer.js +672 -0
- package/viewer/defaultViewer.js.map +1 -0
- package/viewer/renderOnlyViewer.d.ts +9 -0
- package/viewer/renderOnlyViewer.js +46 -0
- package/viewer/renderOnlyViewer.js.map +1 -0
- package/viewer/viewer.d.ts +258 -0
- package/viewer/viewer.js +783 -0
- package/viewer/viewer.js.map +1 -0
- package/viewer/viewerManager.d.ts +58 -0
- package/viewer/viewerManager.js +91 -0
- package/viewer/viewerManager.js.map +1 -0
- package/viewer/viewerWithTemplate.d.ts +9 -0
- package/viewer/viewerWithTemplate.js +20 -0
- package/viewer/viewerWithTemplate.js.map +1 -0
- package/assets/photoStudio.env +0 -0
- package/dist/babylon-viewer.esm.js +0 -2
- package/dist/babylon-viewer.esm.js.map +0 -1
- package/dist/babylon-viewer.esm.min.js +0 -2
- package/dist/babylon-viewer.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-1Sn4IFKs.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_image_based-1Sn4IFKs.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-D3t-ue9C.esm.js +0 -172
- package/dist/chunks/EXT_lights_image_based-D3t-ue9C.esm.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-CzXou_C5.esm.min.js +0 -2
- package/dist/chunks/EXT_mesh_gpu_instancing-CzXou_C5.esm.min.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-DNqfkZKe.esm.js +0 -86
- package/dist/chunks/EXT_mesh_gpu_instancing-DNqfkZKe.esm.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-BFcdcCqV.esm.js +0 -134
- package/dist/chunks/EXT_meshopt_compression-BFcdcCqV.esm.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-ypfe6hxf.esm.min.js +0 -2
- package/dist/chunks/EXT_meshopt_compression-ypfe6hxf.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-BY8qfvRI.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_avif-BY8qfvRI.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-Rv3zIg4n.esm.js +0 -44
- package/dist/chunks/EXT_texture_avif-Rv3zIg4n.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-D2O_CsAp.esm.js +0 -43
- package/dist/chunks/EXT_texture_webp-D2O_CsAp.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-oE-jrE0E.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_webp-oE-jrE0E.esm.min.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-BhuY0e54.esm.js +0 -64
- package/dist/chunks/ExtrasAsMetadata-BhuY0e54.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-qFEtoYbf.esm.min.js +0 -2
- package/dist/chunks/ExtrasAsMetadata-qFEtoYbf.esm.min.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-Bj6qGv9V.esm.min.js +0 -2
- package/dist/chunks/KHR_animation_pointer-Bj6qGv9V.esm.min.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-e5LnBZe7.esm.js +0 -343
- package/dist/chunks/KHR_animation_pointer-e5LnBZe7.esm.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-BnFvVWE1.esm.js +0 -610
- package/dist/chunks/KHR_draco_mesh_compression-BnFvVWE1.esm.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-CVQu_5W6.esm.min.js +0 -2
- package/dist/chunks/KHR_draco_mesh_compression-CVQu_5W6.esm.min.js.map +0 -1
- package/dist/chunks/KHR_interactivity-D7Zg2GDq.esm.js +0 -4033
- package/dist/chunks/KHR_interactivity-D7Zg2GDq.esm.js.map +0 -1
- package/dist/chunks/KHR_interactivity-xGH2Adpb.esm.min.js +0 -2
- package/dist/chunks/KHR_interactivity-xGH2Adpb.esm.min.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-BBAuDZDL.esm.js +0 -1253
- package/dist/chunks/KHR_lights_punctual-BBAuDZDL.esm.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-By9M6UVy.esm.min.js +0 -2
- package/dist/chunks/KHR_lights_punctual-By9M6UVy.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-Dkjoca14.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_anisotropy-Dkjoca14.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-qH3HobA9.esm.js +0 -64
- package/dist/chunks/KHR_materials_anisotropy-qH3HobA9.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-DAuJsTVp.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_clearcoat-DAuJsTVp.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-Rh6mwG6v.esm.js +0 -96
- package/dist/chunks/KHR_materials_clearcoat-Rh6mwG6v.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-CaxPwhcF.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_diffuse_transmission-CaxPwhcF.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-jR3LYlsn.esm.js +0 -97
- package/dist/chunks/KHR_materials_diffuse_transmission-jR3LYlsn.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-BRhiELQt.esm.js +0 -62
- package/dist/chunks/KHR_materials_dispersion-BRhiELQt.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-c6lYSa9v.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_dispersion-c6lYSa9v.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-C4KADmHK.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_emissive_strength-C4KADmHK.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-COLYrrO0.esm.js +0 -55
- package/dist/chunks/KHR_materials_emissive_strength-COLYrrO0.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-9bOEUBVJ.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_ior-9bOEUBVJ.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-CfRDQILO.esm.js +0 -64
- package/dist/chunks/KHR_materials_ior-CfRDQILO.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-BK4vIyb6.esm.js +0 -72
- package/dist/chunks/KHR_materials_iridescence-BK4vIyb6.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-DMeUVUvt.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_iridescence-DMeUVUvt.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CWS40ry_.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CWS40ry_.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-cT4jFxi_.esm.js +0 -81
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-cT4jFxi_.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-BsgoALiy.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_sheen-BsgoALiy.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-CvenDbqD.esm.js +0 -85
- package/dist/chunks/KHR_materials_sheen-CvenDbqD.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-BeN-G9hP.esm.js +0 -75
- package/dist/chunks/KHR_materials_specular-BeN-G9hP.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-Czv7IKcP.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_specular-Czv7IKcP.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-Bak4NBR7.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_transmission-Bak4NBR7.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-heOgvXed.esm.js +0 -307
- package/dist/chunks/KHR_materials_transmission-heOgvXed.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-IBVAhMFj.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_unlit-IBVAhMFj.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-wxh2_v42.esm.js +0 -74
- package/dist/chunks/KHR_materials_unlit-wxh2_v42.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-BsiSr1O-.esm.js +0 -238
- package/dist/chunks/KHR_materials_variants-BsiSr1O-.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-Dj5fUGRW.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_variants-Dj5fUGRW.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-CZH9egfT.esm.js +0 -87
- package/dist/chunks/KHR_materials_volume-CZH9egfT.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-DfCuukn0.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_volume-DfCuukn0.esm.min.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-BIobOHHb.esm.min.js +0 -2
- package/dist/chunks/KHR_mesh_quantization-BIobOHHb.esm.min.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-QON7M_53.esm.js +0 -26
- package/dist/chunks/KHR_mesh_quantization-QON7M_53.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-BoG2JtnT.esm.js +0 -43
- package/dist/chunks/KHR_texture_basisu-BoG2JtnT.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-CzUzxtEH.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_basisu-CzUzxtEH.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-B3PKgt19.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_transform-B3PKgt19.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-Da8RjC5v.esm.js +0 -63
- package/dist/chunks/KHR_texture_transform-Da8RjC5v.esm.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-BXaa7VXe.esm.js +0 -51
- package/dist/chunks/KHR_xmp_json_ld-BXaa7VXe.esm.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-HVJ543WV.esm.min.js +0 -2
- package/dist/chunks/KHR_xmp_json_ld-HVJ543WV.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-BYUSVj_s.esm.js +0 -2207
- package/dist/chunks/MSFT_audio_emitter-BYUSVj_s.esm.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-Bf4t92OW.esm.min.js +0 -2
- package/dist/chunks/MSFT_audio_emitter-Bf4t92OW.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_lod-BTk5ksDE.esm.min.js +0 -2
- package/dist/chunks/MSFT_lod-BTk5ksDE.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_lod-D5456UFP.esm.js +0 -337
- package/dist/chunks/MSFT_lod-D5456UFP.esm.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-CCs8f9du.esm.js +0 -46
- package/dist/chunks/MSFT_minecraftMesh-CCs8f9du.esm.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-CgKnODjc.esm.min.js +0 -2
- package/dist/chunks/MSFT_minecraftMesh-CgKnODjc.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-BNCv6Gre.esm.min.js +0 -2
- package/dist/chunks/MSFT_sRGBFactors-BNCv6Gre.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-C3nCz417.esm.js +0 -47
- package/dist/chunks/MSFT_sRGBFactors-C3nCz417.esm.js.map +0 -1
- package/dist/chunks/animationGroup-B_FlMnip.esm.js +0 -2479
- package/dist/chunks/animationGroup-B_FlMnip.esm.js.map +0 -1
- package/dist/chunks/animationGroup-U_g242TE.esm.min.js +0 -2
- package/dist/chunks/animationGroup-U_g242TE.esm.min.js.map +0 -1
- package/dist/chunks/assetContainer-DJXgbG9e.esm.min.js +0 -2
- package/dist/chunks/assetContainer-DJXgbG9e.esm.min.js.map +0 -1
- package/dist/chunks/assetContainer-shLWEkis.esm.js +0 -1720
- package/dist/chunks/assetContainer-shLWEkis.esm.js.map +0 -1
- package/dist/chunks/audioEngine-BdqCvyFS.esm.min.js +0 -2
- package/dist/chunks/audioEngine-BdqCvyFS.esm.min.js.map +0 -1
- package/dist/chunks/audioEngine-CSl97t3Y.esm.js +0 -305
- package/dist/chunks/audioEngine-CSl97t3Y.esm.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-C225r8bl.esm.min.js +0 -2
- package/dist/chunks/bakedVertexAnimation-C225r8bl.esm.min.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-Dne6l1Oz.esm.js +0 -119
- package/dist/chunks/bakedVertexAnimation-Dne6l1Oz.esm.js.map +0 -1
- package/dist/chunks/basisTextureLoader-BfheE-xD.esm.min.js +0 -2
- package/dist/chunks/basisTextureLoader-BfheE-xD.esm.min.js.map +0 -1
- package/dist/chunks/basisTextureLoader-VQfGwMJX.esm.js +0 -600
- package/dist/chunks/basisTextureLoader-VQfGwMJX.esm.js.map +0 -1
- package/dist/chunks/dds-CPxH79qD.esm.min.js +0 -2
- package/dist/chunks/dds-CPxH79qD.esm.min.js.map +0 -1
- package/dist/chunks/dds-jupK5Xca.esm.js +0 -540
- package/dist/chunks/dds-jupK5Xca.esm.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-CWwCoP7e.esm.js +0 -88
- package/dist/chunks/ddsTextureLoader-CWwCoP7e.esm.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-ee9z1K7d.esm.min.js +0 -2
- package/dist/chunks/ddsTextureLoader-ee9z1K7d.esm.min.js.map +0 -1
- package/dist/chunks/decalFragment-Bgt_beL3.esm.min.js +0 -2
- package/dist/chunks/decalFragment-Bgt_beL3.esm.min.js.map +0 -1
- package/dist/chunks/decalFragment-U3dusC_b.esm.js +0 -18
- package/dist/chunks/decalFragment-U3dusC_b.esm.js.map +0 -1
- package/dist/chunks/default.fragment-755hWDS-.esm.min.js +0 -2
- package/dist/chunks/default.fragment-755hWDS-.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-D_6g-4FJ.esm.min.js +0 -2
- package/dist/chunks/default.fragment-D_6g-4FJ.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-gPrZWAN-.esm.js +0 -515
- package/dist/chunks/default.fragment-gPrZWAN-.esm.js.map +0 -1
- package/dist/chunks/default.fragment-nUN83GhL.esm.js +0 -449
- package/dist/chunks/default.fragment-nUN83GhL.esm.js.map +0 -1
- package/dist/chunks/default.vertex-DtF9_kYE.esm.min.js +0 -2
- package/dist/chunks/default.vertex-DtF9_kYE.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-DvTIJZKP.esm.min.js +0 -2
- package/dist/chunks/default.vertex-DvTIJZKP.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-F2GFvisP.esm.js +0 -199
- package/dist/chunks/default.vertex-F2GFvisP.esm.js.map +0 -1
- package/dist/chunks/default.vertex-OWU0h_CV.esm.js +0 -180
- package/dist/chunks/default.vertex-OWU0h_CV.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-BaqLnFSv.esm.js +0 -15
- package/dist/chunks/defaultUboDeclaration-BaqLnFSv.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-CUGFIA-Y.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-CUGFIA-Y.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-DbiYbpus.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-DbiYbpus.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-DlF6YqnH.esm.js +0 -13
- package/dist/chunks/defaultUboDeclaration-DlF6YqnH.esm.js.map +0 -1
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +0 -11
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +0 -1
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +0 -2
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +0 -1
- package/dist/chunks/dumpTools-CC7eSIIa.esm.min.js +0 -2
- package/dist/chunks/dumpTools-CC7eSIIa.esm.min.js.map +0 -1
- package/dist/chunks/dumpTools-CP5neapl.esm.js +0 -402
- package/dist/chunks/dumpTools-CP5neapl.esm.js.map +0 -1
- package/dist/chunks/engine-CXvt3UCI.esm.min.js +0 -2
- package/dist/chunks/engine-CXvt3UCI.esm.min.js.map +0 -1
- package/dist/chunks/engine-trgW7_81.esm.js +0 -2174
- package/dist/chunks/engine-trgW7_81.esm.js.map +0 -1
- package/dist/chunks/engine.common-BPl1llb8.esm.min.js +0 -2
- package/dist/chunks/engine.common-BPl1llb8.esm.min.js.map +0 -1
- package/dist/chunks/engine.common-GP9nuuba.esm.js +0 -1088
- package/dist/chunks/engine.common-GP9nuuba.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-1bAO1Mm5.esm.js +0 -65
- package/dist/chunks/envTextureLoader-1bAO1Mm5.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-ClAG0fvY.esm.min.js +0 -2
- package/dist/chunks/envTextureLoader-ClAG0fvY.esm.min.js.map +0 -1
- package/dist/chunks/environmentTextureTools-DObcbjyn.esm.js +0 -382
- package/dist/chunks/environmentTextureTools-DObcbjyn.esm.js.map +0 -1
- package/dist/chunks/environmentTextureTools-DSF9-gKd.esm.min.js +0 -2
- package/dist/chunks/environmentTextureTools-DSF9-gKd.esm.min.js.map +0 -1
- package/dist/chunks/exrTextureLoader-KLC0QCGj.esm.min.js +0 -2
- package/dist/chunks/exrTextureLoader-KLC0QCGj.esm.min.js.map +0 -1
- package/dist/chunks/exrTextureLoader-b9G_ErfI.esm.js +0 -1682
- package/dist/chunks/exrTextureLoader-b9G_ErfI.esm.js.map +0 -1
- package/dist/chunks/fogFragment-Cr8RDhS8.esm.min.js +0 -2
- package/dist/chunks/fogFragment-Cr8RDhS8.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-CxJJx6zN.esm.js +0 -102
- package/dist/chunks/fogFragment-CxJJx6zN.esm.js.map +0 -1
- package/dist/chunks/fresnelFunction-BbOBXKTe.esm.min.js +0 -2
- package/dist/chunks/fresnelFunction-BbOBXKTe.esm.min.js.map +0 -1
- package/dist/chunks/fresnelFunction-Cpph6xZu.esm.js +0 -12
- package/dist/chunks/fresnelFunction-Cpph6xZu.esm.js.map +0 -1
- package/dist/chunks/glTFLoader-BFTXjWeW.esm.js +0 -7577
- package/dist/chunks/glTFLoader-BFTXjWeW.esm.js.map +0 -1
- package/dist/chunks/glTFLoader-C1FQTJvU.esm.min.js +0 -2
- package/dist/chunks/glTFLoader-C1FQTJvU.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-BCVHkNQT.esm.js +0 -77
- package/dist/chunks/glTFLoaderAnimation-BCVHkNQT.esm.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-ncwBNhw0.esm.min.js +0 -2
- package/dist/chunks/glTFLoaderAnimation-ncwBNhw0.esm.min.js.map +0 -1
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-66G9hOzR.esm.js +0 -35
- package/dist/chunks/harmonicsFunctions-66G9hOzR.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-Bvt11NHS.esm.js +0 -34
- package/dist/chunks/harmonicsFunctions-Bvt11NHS.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-D0Re3qr9.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-D0Re3qr9.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-D9bArd30.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-D9bArd30.esm.min.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-BMnKRS4K.esm.min.js +0 -2
- package/dist/chunks/hdrTextureLoader-BMnKRS4K.esm.min.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-ETVy5rPX.esm.js +0 -252
- package/dist/chunks/hdrTextureLoader-ETVy5rPX.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-1Uut4KQI.esm.js +0 -108
- package/dist/chunks/helperFunctions-1Uut4KQI.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-1x6PNrxE.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-1x6PNrxE.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-CJjw4iZI.esm.js +0 -80
- package/dist/chunks/helperFunctions-CJjw4iZI.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-J9m3fJc_.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-J9m3fJc_.esm.min.js.map +0 -1
- package/dist/chunks/index-Cb7zGjYe.esm.js +0 -72045
- package/dist/chunks/index-Cb7zGjYe.esm.js.map +0 -1
- package/dist/chunks/index-CkOp_ioW.esm.min.js +0 -57
- package/dist/chunks/index-CkOp_ioW.esm.min.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-C4PPft8N.esm.min.js +0 -2
- package/dist/chunks/ktxTextureLoader-C4PPft8N.esm.min.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-DLZDXIUP.esm.js +0 -814
- package/dist/chunks/ktxTextureLoader-DLZDXIUP.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-BOGD7tpa.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-BOGD7tpa.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-BRSEcIOm.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-BRSEcIOm.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-Bix7HqfF.esm.js +0 -20
- package/dist/chunks/logDepthDeclaration-Bix7HqfF.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CvnYdiLu.esm.js +0 -35
- package/dist/chunks/logDepthDeclaration-CvnYdiLu.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-CwCjtdqq.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-CwCjtdqq.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-Nm8V7C0Z.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-Nm8V7C0Z.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-_i7_lZHr.esm.js +0 -77
- package/dist/chunks/logDepthVertex-_i7_lZHr.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-eenp9mns.esm.js +0 -488
- package/dist/chunks/logDepthVertex-eenp9mns.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-HzWn5jph.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-HzWn5jph.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-lsGkWAON.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-lsGkWAON.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-BmNS2VSX.esm.min.js +0 -2
- package/dist/chunks/meshUboDeclaration-BmNS2VSX.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-CEgHTdJe.esm.js +0 -24
- package/dist/chunks/meshUboDeclaration-CEgHTdJe.esm.js.map +0 -1
- package/dist/chunks/objFileLoader-8bz2-Jb0.esm.min.js +0 -2
- package/dist/chunks/objFileLoader-8bz2-Jb0.esm.min.js.map +0 -1
- package/dist/chunks/objFileLoader-BDQi-zCy.esm.js +0 -1338
- package/dist/chunks/objFileLoader-BDQi-zCy.esm.js.map +0 -1
- package/dist/chunks/oitFragment-Be6X-0NA.esm.js +0 -1150
- package/dist/chunks/oitFragment-Be6X-0NA.esm.js.map +0 -1
- package/dist/chunks/oitFragment-DWdtkgKQ.esm.min.js +0 -2
- package/dist/chunks/oitFragment-DWdtkgKQ.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-o6GCGw0X.esm.min.js +0 -2
- package/dist/chunks/oitFragment-o6GCGw0X.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-x42vz6VK.esm.js +0 -1210
- package/dist/chunks/oitFragment-x42vz6VK.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-CMPjD56P.esm.js +0 -15
- package/dist/chunks/pass.fragment-CMPjD56P.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-DeE_D_Ho.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-DeE_D_Ho.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-XFaFDzze.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-XFaFDzze.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-sInzyG4C.esm.js +0 -15
- package/dist/chunks/pass.fragment-sInzyG4C.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-B9NWhj7v.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-B9NWhj7v.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-BhRoKi7n.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-BhRoKi7n.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-CUczqvrb.esm.js +0 -3219
- package/dist/chunks/pbr.fragment-CUczqvrb.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-gKQNER09.esm.js +0 -3165
- package/dist/chunks/pbr.fragment-gKQNER09.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-C4dWKPQ3.esm.js +0 -335
- package/dist/chunks/pbr.vertex-C4dWKPQ3.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-CATY0wtz.esm.js +0 -210
- package/dist/chunks/pbr.vertex-CATY0wtz.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-CeQL7NsJ.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-CeQL7NsJ.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-D74kRBI7.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-D74kRBI7.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-D9sxQJT6.esm.js +0 -18
- package/dist/chunks/postprocess.vertex-D9sxQJT6.esm.js.map +0 -1
- package/dist/chunks/postprocess.vertex-DdMLiNeD.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-DdMLiNeD.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-DdSrvJuP.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-DdSrvJuP.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-EjDuDs7l.esm.js +0 -20
- package/dist/chunks/postprocess.vertex-EjDuDs7l.esm.js.map +0 -1
- package/dist/chunks/rawTexture-Bo4-e4rx.esm.js +0 -191
- package/dist/chunks/rawTexture-Bo4-e4rx.esm.js.map +0 -1
- package/dist/chunks/rawTexture-WJAHgyBM.esm.min.js +0 -2
- package/dist/chunks/rawTexture-WJAHgyBM.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-BsO7SzGw.esm.js +0 -17
- package/dist/chunks/rgbdDecode.fragment-BsO7SzGw.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-CXGWY_Zq.esm.js +0 -17
- package/dist/chunks/rgbdDecode.fragment-CXGWY_Zq.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-DHrGqYGx.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-DHrGqYGx.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-M48plJKv.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-M48plJKv.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-72S9TLT4.esm.js +0 -17
- package/dist/chunks/rgbdEncode.fragment-72S9TLT4.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-BUON0ZNd.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-BUON0ZNd.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-CNl9WQUM.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-CNl9WQUM.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-DtRf0vhW.esm.js +0 -17
- package/dist/chunks/rgbdEncode.fragment-DtRf0vhW.esm.js.map +0 -1
- package/dist/chunks/splatFileLoader-1QbSvkNp.esm.min.js +0 -2
- package/dist/chunks/splatFileLoader-1QbSvkNp.esm.min.js.map +0 -1
- package/dist/chunks/splatFileLoader-BLSQsIhb.esm.js +0 -3534
- package/dist/chunks/splatFileLoader-BLSQsIhb.esm.js.map +0 -1
- package/dist/chunks/standardMaterial-4sW8n3MU.esm.min.js +0 -2
- package/dist/chunks/standardMaterial-4sW8n3MU.esm.min.js.map +0 -1
- package/dist/chunks/standardMaterial-BMVfbLzg.esm.js +0 -1800
- package/dist/chunks/standardMaterial-BMVfbLzg.esm.js.map +0 -1
- package/dist/chunks/stlFileLoader-BsbF7xOo.esm.js +0 -238
- package/dist/chunks/stlFileLoader-BsbF7xOo.esm.js.map +0 -1
- package/dist/chunks/stlFileLoader-CIEDAEkS.esm.min.js +0 -2
- package/dist/chunks/stlFileLoader-CIEDAEkS.esm.min.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-BbTIdrAk.esm.min.js +0 -2
- package/dist/chunks/tgaTextureLoader-BbTIdrAk.esm.min.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-Dzknjg7w.esm.js +0 -349
- package/dist/chunks/tgaTextureLoader-Dzknjg7w.esm.js.map +0 -1
- package/dist/chunks/thinEngine-D9PVgBpS.esm.min.js +0 -2
- package/dist/chunks/thinEngine-D9PVgBpS.esm.min.js.map +0 -1
- package/dist/chunks/thinEngine-DGKggD4b.esm.js +0 -3721
- package/dist/chunks/thinEngine-DGKggD4b.esm.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-Cm7oVt83.esm.js +0 -314
- package/dist/chunks/thinInstanceMesh-Cm7oVt83.esm.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-CpMngBy7.esm.min.js +0 -2
- package/dist/chunks/thinInstanceMesh-CpMngBy7.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-DH0rI910.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-DH0rI910.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-U49ClqLL.esm.js +0 -528
- package/dist/chunks/vertexColorMixing-U49ClqLL.esm.js.map +0 -1
- package/dist/chunks/webgpuEngine-BL-YuOoY.esm.min.js +0 -2
- package/dist/chunks/webgpuEngine-BL-YuOoY.esm.min.js.map +0 -1
- package/dist/chunks/webgpuEngine-DPV5C2k5.esm.js +0 -11191
- package/dist/chunks/webgpuEngine-DPV5C2k5.esm.js.map +0 -1
- package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
- package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
- package/docs/ViewerDefault.jpg +0 -0
- package/docs/ViewerParts.jpg +0 -0
- package/docs/ViewerSlots.jpg +0 -0
- package/docs/ViewerStyled.jpg +0 -0
- package/lib/index.d.ts +0 -325
- package/lib/index.js +0 -1116
- package/lib/index.js.map +0 -1
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { i as ShaderStore } from './index-Cb7zGjYe.esm.js';
|
|
2
|
-
import './helperFunctions-1Uut4KQI.esm.js';
|
|
3
|
-
|
|
4
|
-
// Do not edit.
|
|
5
|
-
const name = "rgbdEncodePixelShader";
|
|
6
|
-
const shader = `varying vec2 vUV;uniform sampler2D textureSampler;
|
|
7
|
-
#include<helperFunctions>
|
|
8
|
-
#define CUSTOM_FRAGMENT_DEFINITIONS
|
|
9
|
-
void main(void)
|
|
10
|
-
{gl_FragColor=toRGBD(texture2D(textureSampler,vUV).rgb);}`;
|
|
11
|
-
// Sideeffect
|
|
12
|
-
ShaderStore.ShadersStore[name] = shader;
|
|
13
|
-
/** @internal */
|
|
14
|
-
const rgbdEncodePixelShader = { name, shader };
|
|
15
|
-
|
|
16
|
-
export { rgbdEncodePixelShader };
|
|
17
|
-
//# sourceMappingURL=rgbdEncode.fragment-DtRf0vhW.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rgbdEncode.fragment-DtRf0vhW.esm.js","sources":["../../../../../dev/core/dist/Shaders/rgbdEncode.fragment.js"],"sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../Engines/shaderStore\";\nimport \"./ShadersInclude/helperFunctions\";\nconst name = \"rgbdEncodePixelShader\";\nconst shader = `varying vec2 vUV;uniform sampler2D textureSampler;\n#include<helperFunctions>\n#define CUSTOM_FRAGMENT_DEFINITIONS\nvoid main(void) \n{gl_FragColor=toRGBD(texture2D(textureSampler,vUV).rgb);}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const rgbdEncodePixelShader = { name, shader };\n//# sourceMappingURL=rgbdEncode.fragment.js.map"],"names":[],"mappings":";;;AAAA;AAGA,MAAM,IAAI,GAAG,uBAAuB,CAAC;AACrC,MAAM,MAAM,GAAG,CAAC;AAChB;AACA;AACA;AACA,yDAAyD,CAAC,CAAC;AAC3D;AACA,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC;AACY,MAAC,qBAAqB,GAAG,EAAE,IAAI,EAAE,MAAM;;;;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as t,R as e,x as i,y as s,z as r,H as n,J as o,K as a,N as c,Q as l,W as u,X as h,Y as d,Z as p,_ as m,V as _,$ as x,a0 as f,M as g,a1 as y,t as v,v as T,a2 as w,a3 as b,L as P,T as R,a4 as M,C,s as I,a5 as A,k,a6 as S,a7 as z,a8 as V,E as F,a9 as D,aa as B,ab as E,p as U,ac as L,ad as W,B as N,ae as Z,w as O}from"./index-CkOp_ioW.esm.min.js";import"./fogFragment-Cr8RDhS8.esm.min.js";import"./logDepthDeclaration-BRSEcIOm.esm.min.js";import"./logDepthVertex-Nm8V7C0Z.esm.min.js";import{R as G}from"./rawTexture-WJAHgyBM.esm.min.js";import"./thinInstanceMesh-CpMngBy7.esm.min.js";import{A as j}from"./assetContainer-DJXgbG9e.esm.min.js";import{S as X}from"./standardMaterial-4sW8n3MU.esm.min.js";t.IncludesShadersStore.gaussianSplattingFragmentDeclaration="vec4 gaussianColor(vec4 inColor)\n{float A=-dot(vPosition,vPosition);if (A<-4.0) discard;float B=exp(A)*inColor.a;\n#include<logDepthFragment>\nvec3 color=inColor.rgb;\n#ifdef FOG\n#include<fogFragment>\n#endif\nreturn vec4(color,B);}\n";t.ShadersStore.gaussianSplattingPixelShader="#include<clipPlaneFragmentDeclaration>\n#include<logDepthDeclaration>\n#include<fogFragmentDeclaration>\nvarying vec4 vColor;varying vec2 vPosition;\n#include<gaussianSplattingFragmentDeclaration>\nvoid main () { \n#include<clipPlaneFragment>\ngl_FragColor=gaussianColor(vColor);}\n";t.IncludesShadersStore.gaussianSplattingVertexDeclaration="attribute vec2 position;uniform mat4 view;uniform mat4 projection;uniform mat4 world;";t.IncludesShadersStore.gaussianSplattingUboDeclaration="#include<sceneUboDeclaration>\n#include<meshUboDeclaration>\nattribute vec2 position;";t.IncludesShadersStore.gaussianSplatting="#if !defined(WEBGL2) && !defined(WEBGPU) && !defined(NATIVE)\nmat3 transpose(mat3 matrix) {return mat3(matrix[0][0],matrix[1][0],matrix[2][0],\nmatrix[0][1],matrix[1][1],matrix[2][1],\nmatrix[0][2],matrix[1][2],matrix[2][2]);}\n#endif\nvec2 getDataUV(float index,vec2 textureSize) {float y=floor(index/textureSize.x);float x=index-y*textureSize.x;return vec2((x+0.5)/textureSize.x,(y+0.5)/textureSize.y);}\nstruct Splat {vec4 center;vec4 color;vec4 covA;vec4 covB;};Splat readSplat(float splatIndex)\n{Splat splat;vec2 splatUV=getDataUV(splatIndex,dataTextureSize);splat.center=texture2D(centersTexture,splatUV);splat.color=texture2D(colorsTexture,splatUV);splat.covA=texture2D(covariancesATexture,splatUV)*splat.center.w;splat.covB=texture2D(covariancesBTexture,splatUV)*splat.center.w;return splat;}\nvec4 gaussianSplatting(vec2 meshPos,vec3 worldPos,vec2 scale,vec3 covA,vec3 covB,mat4 worldMatrix,mat4 viewMatrix,mat4 projectionMatrix)\n{mat4 modelView=viewMatrix*worldMatrix;vec4 camspace=viewMatrix*vec4(worldPos,1.);vec4 pos2d=projectionMatrix*camspace;float bounds=1.2*pos2d.w;if (pos2d.z<-pos2d.w || pos2d.x<-bounds || pos2d.x>bounds\n|| pos2d.y<-bounds || pos2d.y>bounds) {return vec4(0.0,0.0,2.0,1.0);}\nmat3 Vrk=mat3(\ncovA.x,covA.y,covA.z,\ncovA.y,covB.x,covB.y,\ncovA.z,covB.y,covB.z\n);mat3 J=mat3(\nfocal.x/camspace.z,0.,-(focal.x*camspace.x)/(camspace.z*camspace.z),\n0.,focal.y/camspace.z,-(focal.y*camspace.y)/(camspace.z*camspace.z),\n0.,0.,0.\n);mat3 invy=mat3(1,0,0,0,-1,0,0,0,1);mat3 T=invy*transpose(mat3(modelView))*J;mat3 cov2d=transpose(T)*Vrk*T;float mid=(cov2d[0][0]+cov2d[1][1])/2.0;float radius=length(vec2((cov2d[0][0]-cov2d[1][1])/2.0,cov2d[0][1]));float lambda1=mid+radius,lambda2=mid-radius;if (lambda2<0.0)\n{return vec4(0.0,0.0,2.0,1.0);}\nvec2 diagonalVector=normalize(vec2(cov2d[0][1],lambda1-cov2d[0][0]));vec2 majorAxis=min(sqrt(2.0*lambda1),1024.0)*diagonalVector;vec2 minorAxis=min(sqrt(2.0*lambda2),1024.0)*vec2(diagonalVector.y,-diagonalVector.x);vec2 vCenter=vec2(pos2d);return vec4(\nvCenter \n+ ((meshPos.x*majorAxis\n+ meshPos.y*minorAxis)*invViewport*pos2d.w)*scale,pos2d.zw);}";t.ShadersStore.gaussianSplattingVertexShader="#include<__decl__gaussianSplattingVertex>\n#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\n#include<clipPlaneVertexDeclaration>\n#include<fogVertexDeclaration>\n#include<logDepthDeclaration>\nattribute float splatIndex;uniform vec2 invViewport;uniform vec2 dataTextureSize;uniform vec2 focal;uniform sampler2D covariancesATexture;uniform sampler2D covariancesBTexture;uniform sampler2D centersTexture;uniform sampler2D colorsTexture;varying vec4 vColor;varying vec2 vPosition;\n#include<gaussianSplatting>\nvoid main () {Splat splat=readSplat(splatIndex);vec3 covA=splat.covA.xyz;vec3 covB=vec3(splat.covA.w,splat.covB.xy);vec4 worldPos=world*vec4(splat.center.xyz,1.0);vColor=splat.color;vPosition=position;gl_Position=gaussianSplatting(position,worldPos.xyz,vec2(1.,1.),covA,covB,world,view,projection);\n#include<clipPlaneVertex>\n#include<fogVertex>\n#include<logDepthVertex>\n}\n";class H extends m{constructor(){super(),this.FOG=!1,this.THIN_INSTANCES=!0,this.LOGARITHMICDEPTH=!1,this.CLIPPLANE=!1,this.CLIPPLANE2=!1,this.CLIPPLANE3=!1,this.CLIPPLANE4=!1,this.CLIPPLANE5=!1,this.CLIPPLANE6=!1,this.rebuild()}}class Y extends i{constructor(t,e){super(t,e),this.backFaceCulling=!1}get hasRenderTargetTextures(){return!1}needAlphaTesting(){return!1}needAlphaBlending(){return!0}isReadyForSubMesh(t,e){const i=!0,l=e._drawWrapper;if(l.effect&&this.isFrozen&&l._wasPreviouslyReady&&l._wasPreviouslyUsingInstances===i)return!0;e.materialDefines||(e.materialDefines=new H);const u=this.getScene(),h=e.materialDefines;if(this._isReadyForSubMesh(e))return!0;const d=u.getEngine();if(s(t,u,this._useLogarithmicDepth,this.pointsCloud,this.fogEnabled,!1,h),r(u,d,this,h,i,null,!0),n(t,h,!1,!1),h.isDirty){h.markAsProcessed(),u.resetCachedMaterial();const t=[_.PositionKind,"splatIndex"];o(t,h);const i=["world","view","projection","vFogInfos","vFogColor","logarithmicDepthConstant","invViewport","dataTextureSize","focal"],s=["covariancesATexture","covariancesBTexture","centersTexture","colorsTexture"],r=["Scene","Mesh"];a({uniformsNames:i,uniformBuffersNames:r,samplers:s,defines:h}),c(i);const n=h.toString(),l=u.getEngine().createEffect("gaussianSplatting",{attributes:t,uniformsNames:i,uniformBuffersNames:r,samplers:s,defines:n,onCompiled:this.onCompiled,onError:this.onError},d);e.setEffect(l,h,this._materialContext)}return!(!e.effect||!e.effect.isReady())&&(h._renderId=u.getRenderId(),l._wasPreviouslyReady=!0,l._wasPreviouslyUsingInstances=i,!0)}static BindEffect(t,e,i){const s=i.getEngine(),r=i.activeCamera,n=s.getRenderWidth(),o=s.getRenderHeight(),a=r?.rigParent?.rigCameras.length||1;e.setFloat2("invViewport",1/(n/a),1/o);let c=1e3;if(r){const t=r.getProjectionMatrix().m[5];c=r.fovMode==l.FOVMODE_VERTICAL_FIXED?o*t/2:n*t/2}e.setFloat2("focal",c,c);const u=t;if(u.covariancesATexture){const t=u.covariancesATexture.getSize();e.setFloat2("dataTextureSize",t.width,t.height),e.setTexture("covariancesATexture",u.covariancesATexture),e.setTexture("covariancesBTexture",u.covariancesBTexture),e.setTexture("centersTexture",u.centersTexture),e.setTexture("colorsTexture",u.colorsTexture)}}bindForSubMesh(t,e,i){const s=this.getScene(),r=i.materialDefines;if(!r)return;const n=i.effect;if(!n)return;this._activeEffect=n,e.getMeshUniformBuffer().bindToEffect(n,"Mesh"),e.transferToEffect(t);this._mustRebind(s,n,i,e.visibility)?(this.bindView(n),this.bindViewProjection(n),Y.BindEffect(e,this._activeEffect,s),u(n,this,s)):s.getEngine()._features.needToAlwaysBindUniformBuffers&&(this._needToBindSceneUbo=!0),h(s,e,n),this.useLogarithmicDepth&&d(r,n,s),this._afterBind(e,this._activeEffect,i)}clone(t){return p.Clone((()=>new Y(t,this.getScene())),this)}serialize(){const t=super.serialize();return t.customType="BABYLON.GaussianSplattingMaterial",t}getClassName(){return"GaussianSplattingMaterial"}static Parse(t,e,i){return p.Parse((()=>new Y(t.name,e)),t,e,i)}}e("BABYLON.GaussianSplattingMaterial",Y);const K=f,q={...x,TwoPi:2*Math.PI,Sign:Math.sign,Log2:Math.log2,HCF:K};class Q extends g{get covariancesATexture(){return this._covariancesATexture}get covariancesBTexture(){return this._covariancesBTexture}get centersTexture(){return this._centersTexture}get colorsTexture(){return this._colorsTexture}set material(t){this._material=t,this._material.backFaceCulling=!0,this._material.cullBackFaces=!1}get material(){return this._material}constructor(t,e=null,i=null,s=!1){super(t,i),this._vertexCount=0,this._worker=null,this._frameIdLastUpdate=-1,this._modelViewMatrix=y.Identity(),this._canPostToWorker=!0,this._readyToDisplay=!1,this._covariancesATexture=null,this._covariancesBTexture=null,this._centersTexture=null,this._colorsTexture=null,this._splatPositions=null,this._splatIndex=null,this._covariancesA=null,this._covariancesB=null,this._colors=null,this._keepInRam=!1,this._delayedTextureUpdate=null,this._oldDirection=new v,this._useRGBACovariants=!1,this._material=null;const r=new T;r.positions=[-2,-2,0,2,-2,0,2,2,0,-2,2,0],r.indices=[0,1,2,0,2,3],r.applyToMesh(this),this.subMeshes=[],new w(0,0,4,0,6,this),this.setEnabled(!1),this._useRGBACovariants=!this.getEngine().isWebGPU&&1===this.getEngine().version,this._keepInRam=s,e&&this.loadFileAsync(e),this._material=new Y(this.name+"_material",this._scene)}getClassName(){return"GaussianSplattingMesh"}getTotalVertices(){return this._vertexCount}isReady(t=!1){return!!super.isReady(t,!0)&&(!!this._readyToDisplay||(this._postToWorker(!0),!1))}_postToWorker(t=!1){const e=this.getScene().getFrameId();if(e!==this._frameIdLastUpdate&&this._worker&&this._scene.activeCamera&&this._canPostToWorker){const i=this._scene.activeCamera.getViewMatrix();this.getWorldMatrix().multiplyToRef(i,this._modelViewMatrix),i.invertToRef(b.Matrix[0]),this.getWorldMatrix().multiplyToRef(b.Matrix[0],b.Matrix[1]),v.TransformNormalToRef(v.Forward(this._scene.useRightHandedSystem),b.Matrix[1],b.Vector3[2]),b.Vector3[2].normalize();const s=v.Dot(b.Vector3[2],this._oldDirection);(t||Math.abs(s-1)>=.01)&&(this._oldDirection.copyFrom(b.Vector3[2]),this._frameIdLastUpdate=e,this._canPostToWorker=!1,this._worker.postMessage({view:this._modelViewMatrix.m,depthMix:this._depthMix,useRightHandedSystem:this._scene.useRightHandedSystem},[this._depthMix.buffer]))}}render(t,e,i){return this._postToWorker(),super.render(t,e,i)}static ConvertPLYToSplat(t){const e=new Uint8Array(t),i=(new TextDecoder).decode(e.slice(0,10240)),s="end_header\n",r=i.indexOf(s);if(r<0||!i)return t;const n=parseInt(/element vertex (\d+)\n/.exec(i)[1]),o=/element chunk (\d+)\n/.exec(i);let a=0;o&&(a=parseInt(o[1]));let c=0,l=0;const u={double:8,int:4,uint:4,float:4,short:2,ushort:2,uchar:1,list:0};let h;!function(t){t[t.Vertex=0]="Vertex",t[t.Chunk=1]="Chunk"}(h||(h={}));let d=1;const p=[],m=[],_=i.slice(0,r).split("\n");for(const t of _)if(t.startsWith("property ")){const[,e,i]=t.split(" ");1==d?(m.push({name:i,type:e,offset:l}),l+=u[e]):0==d&&(p.push({name:i,type:e,offset:c}),c+=u[e]),u[e]||P.Warn(`Unsupported property type: ${e}.`)}else if(t.startsWith("element ")){const[,e]=t.split(" ");"chunk"==e?d=1:"vertex"==e&&(d=0)}const x=c,f=l,g=.28209479177387814;let y=0;const T=new DataView(t,r+11),w=new ArrayBuffer(32*n),R=new A,M=b.Vector3[0],C=(t,e)=>{const i=(1<<e)-1;return(t&i)/i},I=(t,e)=>{e.x=C(t>>>21,11),e.y=C(t>>>11,10),e.z=C(t,11)},k=(t,e)=>{e[0]=255*C(t>>>24,8),e[1]=255*C(t>>>16,8),e[2]=255*C(t>>>8,8),e[3]=255*C(t,8)},S=(t,e)=>{const i=1/(.5*Math.sqrt(2)),s=(C(t>>>20,10)-.5)*i,r=(C(t>>>10,10)-.5)*i,n=(C(t,10)-.5)*i,o=Math.sqrt(1-(s*s+r*r+n*n));switch(t>>>30){case 0:e.set(o,s,r,n);break;case 1:e.set(s,o,r,n);break;case 2:e.set(s,r,o,n);break;case 3:e.set(s,r,n,o)}},z=new Array(a);for(let t=0;t<a;t++){const e={min:new v,max:new v,minScale:new v,maxScale:new v};z[t]=e;for(let t=0;t<m.length;t++){const i=m[t];let s;if("float"===i.type)switch(s=T.getFloat32(i.offset+y,!0),i.name){case"min_x":e.min.x=s;break;case"min_y":e.min.y=s;break;case"min_z":e.min.z=s;break;case"max_x":e.max.x=s;break;case"max_y":e.max.y=s;break;case"max_z":e.max.z=s;break;case"min_scale_x":e.minScale.x=s;break;case"min_scale_y":e.minScale.y=s;break;case"min_scale_z":e.minScale.z=s;break;case"max_scale_x":e.maxScale.x=s;break;case"max_scale_y":e.maxScale.y=s;break;case"max_scale_z":e.maxScale.z=s}}y+=f}for(let t=0;t<n;t++){const e=new Float32Array(w,32*t,3),i=new Float32Array(w,32*t+12,3),s=new Uint8ClampedArray(w,32*t+24,4),r=new Uint8ClampedArray(w,32*t+28,4),n=t>>8;let o=255,a=0,c=0,l=0;for(let t=0;t<p.length;t++){const r=p[t];let u;switch(r.type){case"float":u=T.getFloat32(y+r.offset,!0);break;case"int":u=T.getInt32(y+r.offset,!0);break;case"uint":u=T.getUint32(y+r.offset,!0);break;case"double":u=T.getFloat64(y+r.offset,!0);break;case"uchar":u=T.getUint8(y+r.offset);break;default:continue}switch(r.name){case"packed_position":{const t=z[n];I(u,M),e[0]=q.Lerp(t.min.x,t.max.x,M.x),e[1]=-q.Lerp(t.min.y,t.max.y,M.y),e[2]=q.Lerp(t.min.z,t.max.z,M.z)}break;case"packed_rotation":S(u,R),o=R.w,a=R.z,c=R.y,l=R.x;break;case"packed_scale":{const t=z[n];I(u,M),i[0]=Math.exp(q.Lerp(t.minScale.x,t.maxScale.x,M.x)),i[1]=Math.exp(q.Lerp(t.minScale.y,t.maxScale.y,M.y)),i[2]=Math.exp(q.Lerp(t.minScale.z,t.maxScale.z,M.z))}break;case"packed_color":k(u,s);break;case"x":e[0]=u;break;case"y":e[1]=u;break;case"z":e[2]=u;break;case"scale_0":i[0]=Math.exp(u);break;case"scale_1":i[1]=Math.exp(u);break;case"scale_2":i[2]=Math.exp(u);break;case"diffuse_red":case"red":s[0]=u;break;case"diffuse_green":case"green":s[1]=u;break;case"diffuse_blue":case"blue":s[2]=u;break;case"f_dc_0":s[0]=255*(.5+g*u);break;case"f_dc_1":s[1]=255*(.5+g*u);break;case"f_dc_2":s[2]=255*(.5+g*u);break;case"f_dc_3":s[3]=255*(.5+g*u);break;case"opacity":s[3]=1/(1+Math.exp(-u))*255;break;case"rot_0":o=u;break;case"rot_1":a=u;break;case"rot_2":c=u;break;case"rot_3":l=u}}R.set(a,c,l,o),R.normalize(),r[0]=128*R.w+128,r[1]=128*R.x+128,r[2]=128*R.y+128,r[3]=128*R.z+128,y+=x}return w}loadDataAsync(t){return Promise.resolve(this._loadData(t))}loadFileAsync(t){return R.LoadFileAsync(t,!0).then((t=>{this._loadData(Q.ConvertPLYToSplat(t))}))}dispose(t){this._covariancesATexture?.dispose(),this._covariancesBTexture?.dispose(),this._centersTexture?.dispose(),this._colorsTexture?.dispose(),this._covariancesATexture=null,this._covariancesBTexture=null,this._centersTexture=null,this._colorsTexture=null,this._worker?.terminate(),this._worker=null,super.dispose(t,!0)}_copyTextures(t){this._covariancesATexture=t.covariancesATexture?.clone(),this._covariancesBTexture=t.covariancesBTexture?.clone(),this._centersTexture=t.centersTexture?.clone(),this._colorsTexture=t.colorsTexture?.clone()}clone(t=""){const e=new Q(t,void 0,this.getScene());e._copySource(this),e.makeGeometryUnique(),e._vertexCount=this._vertexCount,e._copyTextures(this),e._modelViewMatrix=y.Identity(),e._splatPositions=this._splatPositions,e._readyToDisplay=!1,e._instanciateWorker();const i=this.getBoundingInfo();return e.getBoundingInfo().reConstruct(i.minimum,i.maximum,this.getWorldMatrix()),e.forcedInstanceCount=e._vertexCount,e.setEnabled(!0),e}updateData(t){if(!t.byteLength)return;this._covariancesATexture||(this._readyToDisplay=!1);const e=new Uint8Array(t),i=new Float32Array(e.buffer),s=e.length/32;s!=this._vertexCount&&this._updateSplatIndexBuffer(s),this._vertexCount=s;const r=this._getTextureSize(s),n=r.x*r.y;this._splatPositions=new Float32Array(4*n);const o=new Uint16Array(4*n),a=new Uint16Array((this._useRGBACovariants?4:2)*n),c=b.Matrix[0],l=b.Matrix[1],u=b.Quaternion[0],h=new v(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),d=new v(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),p=[0,0,0,0,0,0],m=this._useRGBACovariants?4:2;for(let t=0;t<s;t++){const s=i[8*t+0],r=-i[8*t+1],n=i[8*t+2];this._splatPositions[4*t+0]=s,this._splatPositions[4*t+1]=r,this._splatPositions[4*t+2]=n,h.minimizeInPlaceFromFloats(s,r,n),d.maximizeInPlaceFromFloats(s,r,n),u.set((e[32*t+28+1]-128)/128,(e[32*t+28+2]-128)/128,(e[32*t+28+3]-128)/128,-(e[32*t+28+0]-128)/128),u.toRotationMatrix(c),y.ScalingToRef(2*i[8*t+3+0],2*i[8*t+3+1],2*i[8*t+3+2],l);const _=c.multiplyToRef(l,b.Matrix[0]).m;p[0]=_[0]*_[0]+_[1]*_[1]+_[2]*_[2],p[1]=_[0]*_[4]+_[1]*_[5]+_[2]*_[6],p[2]=_[0]*_[8]+_[1]*_[9]+_[2]*_[10],p[3]=_[4]*_[4]+_[5]*_[5]+_[6]*_[6],p[4]=_[4]*_[8]+_[5]*_[9]+_[6]*_[10],p[5]=_[8]*_[8]+_[9]*_[9]+_[10]*_[10];let x=-1e4;for(let t=0;t<6;t++)x=Math.max(x,Math.abs(p[t]));this._splatPositions[4*t+3]=x;const f=x;o[4*t+0]=M(p[0]/f),o[4*t+1]=M(p[1]/f),o[4*t+2]=M(p[2]/f),o[4*t+3]=M(p[3]/f),a[t*m+0]=M(p[4]/f),a[t*m+1]=M(p[5]/f)}this.getBoundingInfo().reConstruct(h,d,this.getWorldMatrix()),this.setEnabled(!0);const _=(t,e,i,s)=>new G(t,e,i,s,this._scene,!1,!1,C.TEXTURE_BILINEAR_SAMPLINGMODE,C.TEXTURETYPE_FLOAT),x=(t,e,i,s)=>new G(t,e,i,s,this._scene,!1,!1,C.TEXTURE_BILINEAR_SAMPLINGMODE,C.TEXTURETYPE_UNSIGNED_BYTE),f=(t,e,i,s)=>new G(t,e,i,s,this._scene,!1,!1,C.TEXTURE_BILINEAR_SAMPLINGMODE,C.TEXTURETYPE_HALF_FLOAT),g=new Uint8Array(r.x*r.y*4);for(let t=0;t<this._vertexCount;++t)g[4*t+0]=e[32*t+24+0],g[4*t+1]=e[32*t+24+1],g[4*t+2]=e[32*t+24+2],g[4*t+3]=e[32*t+24+3];if(this._keepInRam&&(this._covariancesA=o,this._covariancesB=a,this._colors=g),this._covariancesATexture){this._delayedTextureUpdate={covA:o,covB:a,colors:g,centers:this._splatPositions};const t=Float32Array.from(this._splatPositions),e=this._vertexCount;this._worker.postMessage({positions:t,vertexCount:e},[t.buffer]),this._postToWorker(!0)}else this._covariancesATexture=f(o,r.x,r.y,C.TEXTUREFORMAT_RGBA),this._covariancesBTexture=f(a,r.x,r.y,this._useRGBACovariants?C.TEXTUREFORMAT_RGBA:C.TEXTUREFORMAT_RG),this._centersTexture=_(this._splatPositions,r.x,r.y,C.TEXTUREFORMAT_RGBA),this._colorsTexture=x(g,r.x,r.y,C.TEXTUREFORMAT_RGBA),this._instanciateWorker()}_loadData(t){t.byteLength&&this.updateData(t)}_updateSplatIndexBuffer(t){(!this._splatIndex||t>this._splatIndex.length)&&(this._splatIndex=new Float32Array(t),this.thinInstanceSetBuffer("splatIndex",this._splatIndex,1,!1)),this.forcedInstanceCount=t}_instanciateWorker(){if(!this._vertexCount)return;this._updateSplatIndexBuffer(this._vertexCount),this._worker?.terminate(),this._worker=new Worker(URL.createObjectURL(new Blob(["(",Q._CreateWorker.toString(),")(self)"],{type:"application/javascript"}))),this._depthMix=new BigInt64Array(this._vertexCount);const t=Float32Array.from(this._splatPositions),e=this._vertexCount;this._worker.postMessage({positions:t,vertexCount:e},[t.buffer]),this._worker.onmessage=t=>{this._depthMix=t.data.depthMix;const i=new Uint32Array(t.data.depthMix.buffer);if(this._splatIndex)for(let t=0;t<this._vertexCount;t++)this._splatIndex[t]=i[2*t];if(this._delayedTextureUpdate){const t=(t,e,i,s)=>{this.getEngine().updateTextureData(t.getInternalTexture(),e,0,0,i,s,0,0,!1)},i=(t,e,i,s)=>{this.getEngine().updateTextureData(t.getInternalTexture(),e,0,0,i,s,0,0,!1)},s=(t,e,i,s)=>{this.getEngine().updateTextureData(t.getInternalTexture(),e,0,0,i,s,0,0,!1)},r=this._getTextureSize(e);s(this._covariancesATexture,this._delayedTextureUpdate.covA,r.x,r.y),s(this._covariancesBTexture,this._delayedTextureUpdate.covB,r.x,r.y),t(this._centersTexture,this._delayedTextureUpdate.centers,r.x,r.y),i(this._colorsTexture,this._delayedTextureUpdate.colors,r.x,r.y),this._delayedTextureUpdate=null}this.thinInstanceBufferUpdated("splatIndex"),this._canPostToWorker=!0,this._readyToDisplay=!0}}_getTextureSize(t){const e=this._scene.getEngine(),i=e.getCaps().maxTextureSize;let s=1;if(1!==e.version||e.isWebGPU)s=Math.ceil(t/i);else for(;i*s<t;)s*=2;return s>i&&(P.Error("GaussianSplatting texture size: ("+i+", "+s+"), maxTextureSize: "+i),s=i),new I(i,s)}}Q._CreateWorker=function(t){let e,i,s,r,n=0;t.onmessage=o=>{if(o.data.positions)e=o.data.positions,n=o.data.vertexCount;else{const a=o.data.view;if(!e||!a)throw new Error("positions or view is not defined!");i=o.data.depthMix,s=new Uint32Array(i.buffer),r=new Float32Array(i.buffer);for(let t=0;t<n;t++)s[2*t]=t;let c=-1;o.data.useRightHandedSystem&&(c=1);for(let t=0;t<n;t++)r[2*t+1]=1e4+(a[2]*e[4*t+0]+a[6]*e[4*t+1]+a[10]*e[4*t+2])*c;i.sort(),t.postMessage({depthMix:i},[i.buffer])}}};class J{constructor(t,e,i,s,r){this.idx=0,this.color=new k(1,1,1,1),this.position=v.Zero(),this.rotation=v.Zero(),this.uv=new I(0,0),this.velocity=v.Zero(),this.pivot=v.Zero(),this.translateFromPivot=!1,this._pos=0,this._ind=0,this.groupId=0,this.idxInGroup=0,this._stillInvisible=!1,this._rotationMatrix=[1,0,0,0,1,0,0,0,1],this.parentId=null,this._globalPosition=v.Zero(),this.idx=t,this._group=e,this.groupId=i,this.idxInGroup=s,this._pcs=r}get size(){return this.size}set size(t){this.size=t}get quaternion(){return this.rotationQuaternion}set quaternion(t){this.rotationQuaternion=t}intersectsMesh(t,e){if(!t.hasBoundingInfo)return!1;if(!this._pcs.mesh)throw new Error("Point Cloud System doesnt contain the Mesh");if(e)return t.getBoundingInfo().boundingSphere.intersectsPoint(this.position.add(this._pcs.mesh.position));const i=t.getBoundingInfo().boundingBox,s=i.maximumWorld.x,r=i.minimumWorld.x,n=i.maximumWorld.y,o=i.minimumWorld.y,a=i.maximumWorld.z,c=i.minimumWorld.z,l=this.position.x+this._pcs.mesh.position.x,u=this.position.y+this._pcs.mesh.position.y,h=this.position.z+this._pcs.mesh.position.z;return r<=l&&l<=s&&o<=u&&u<=n&&c<=h&&h<=a}getRotationMatrix(t){let e;if(this.rotationQuaternion)e=this.rotationQuaternion;else{e=b.Quaternion[0];const t=this.rotation;A.RotationYawPitchRollToRef(t.y,t.x,t.z,e)}e.toRotationMatrix(t)}}class ${get groupID(){return this.groupId}set groupID(t){this.groupId=t}constructor(t,e){this.groupId=t,this._positionFunction=e}}class tt{constructor(t,e,i=Number.MAX_VALUE,s=z){this.origin=t,this.direction=e,this.length=i,this.epsilon=s}clone(){return new tt(this.origin.clone(),this.direction.clone(),this.length)}intersectsBoxMinMax(t,e,i=0){const s=tt._TmpVector3[0].copyFromFloats(t.x-i,t.y-i,t.z-i),r=tt._TmpVector3[1].copyFromFloats(e.x+i,e.y+i,e.z+i);let n,o,a,c,l=0,u=Number.MAX_VALUE;if(Math.abs(this.direction.x)<1e-7){if(this.origin.x<s.x||this.origin.x>r.x)return!1}else if(n=1/this.direction.x,o=(s.x-this.origin.x)*n,a=(r.x-this.origin.x)*n,a===-1/0&&(a=1/0),o>a&&(c=o,o=a,a=c),l=Math.max(o,l),u=Math.min(a,u),l>u)return!1;if(Math.abs(this.direction.y)<1e-7){if(this.origin.y<s.y||this.origin.y>r.y)return!1}else if(n=1/this.direction.y,o=(s.y-this.origin.y)*n,a=(r.y-this.origin.y)*n,a===-1/0&&(a=1/0),o>a&&(c=o,o=a,a=c),l=Math.max(o,l),u=Math.min(a,u),l>u)return!1;if(Math.abs(this.direction.z)<1e-7){if(this.origin.z<s.z||this.origin.z>r.z)return!1}else if(n=1/this.direction.z,o=(s.z-this.origin.z)*n,a=(r.z-this.origin.z)*n,a===-1/0&&(a=1/0),o>a&&(c=o,o=a,a=c),l=Math.max(o,l),u=Math.min(a,u),l>u)return!1;return!0}intersectsBox(t,e=0){return this.intersectsBoxMinMax(t.minimum,t.maximum,e)}intersectsSphere(t,e=0){const i=t.center.x-this.origin.x,s=t.center.y-this.origin.y,r=t.center.z-this.origin.z,n=i*i+s*s+r*r,o=t.radius+e,a=o*o;if(n<=a)return!0;const c=i*this.direction.x+s*this.direction.y+r*this.direction.z;if(c<0)return!1;return n-c*c<=a}intersectsTriangle(t,e,i){const s=tt._TmpVector3[0],r=tt._TmpVector3[1],n=tt._TmpVector3[2],o=tt._TmpVector3[3],a=tt._TmpVector3[4];e.subtractToRef(t,s),i.subtractToRef(t,r),v.CrossToRef(this.direction,r,n);const c=v.Dot(s,n);if(0===c)return null;const l=1/c;this.origin.subtractToRef(t,o);const u=v.Dot(o,n)*l;if(u<-this.epsilon||u>1+this.epsilon)return null;v.CrossToRef(o,s,a);const h=v.Dot(this.direction,a)*l;if(h<-this.epsilon||u+h>1+this.epsilon)return null;const d=v.Dot(r,a)*l;return d>this.length?null:new V(1-u-h,u,d)}intersectsPlane(t){let e;const i=v.Dot(t.normal,this.direction);if(Math.abs(i)<9.99999997475243e-7)return null;{const s=v.Dot(t.normal,this.origin);return e=(-t.d-s)/i,e<0?e<-9.99999997475243e-7?null:0:e}}intersectsAxis(t,e=0){switch(t){case"y":{const t=(this.origin.y-e)/this.direction.y;return t>0?null:new v(this.origin.x+this.direction.x*-t,e,this.origin.z+this.direction.z*-t)}case"x":{const t=(this.origin.x-e)/this.direction.x;return t>0?null:new v(e,this.origin.y+this.direction.y*-t,this.origin.z+this.direction.z*-t)}case"z":{const t=(this.origin.z-e)/this.direction.z;return t>0?null:new v(this.origin.x+this.direction.x*-t,this.origin.y+this.direction.y*-t,e)}default:return null}}intersectsMesh(t,e,i,s=!1,r,n=!1){const o=b.Matrix[0];return t.getWorldMatrix().invertToRef(o),this._tmpRay?tt.TransformToRef(this,o,this._tmpRay):this._tmpRay=tt.Transform(this,o),t.intersects(this._tmpRay,e,i,s,r,n)}intersectsMeshes(t,e,i){i?i.length=0:i=[];for(let s=0;s<t.length;s++){const r=this.intersectsMesh(t[s],e);r.hit&&i.push(r)}return i.sort(this._comparePickingInfo),i}_comparePickingInfo(t,e){return t.distance<e.distance?-1:t.distance>e.distance?1:0}intersectionSegment(t,e,i){const s=this.origin,r=b.Vector3[0],n=b.Vector3[1],o=b.Vector3[2],a=b.Vector3[3];e.subtractToRef(t,r),this.direction.scaleToRef(tt._Rayl,o),s.addToRef(o,n),t.subtractToRef(s,a);const c=v.Dot(r,r),l=v.Dot(r,o),u=v.Dot(o,o),h=v.Dot(r,a),d=v.Dot(o,a),p=c*u-l*l;let m,_,x=p,f=p;p<tt._Smallnum?(m=0,x=1,_=d,f=u):(m=l*d-u*h,_=c*d-l*h,m<0?(m=0,_=d,f=u):m>x&&(m=x,_=d+l,f=u)),_<0?(_=0,-h<0?m=0:-h>c?m=x:(m=-h,x=c)):_>f&&(_=f,-h+l<0?m=0:-h+l>c?m=x:(m=-h+l,x=c));const g=Math.abs(m)<tt._Smallnum?0:m/x,y=Math.abs(_)<tt._Smallnum?0:_/f,T=b.Vector3[4];o.scaleToRef(y,T);const w=b.Vector3[5];r.scaleToRef(g,w),w.addInPlace(a);const P=b.Vector3[6];w.subtractToRef(T,P);return y>0&&y<=this.length&&P.lengthSquared()<i*i?w.length():-1}update(t,e,i,s,r,n,o,a=!1){if(a){tt._RayDistant||(tt._RayDistant=tt.Zero()),tt._RayDistant.unprojectRayToRef(t,e,i,s,y.IdentityReadOnly,n,o);const a=b.Matrix[0];r.invertToRef(a),tt.TransformToRef(tt._RayDistant,a,this)}else this.unprojectRayToRef(t,e,i,s,r,n,o);return this}static Zero(){return new tt(v.Zero(),v.Zero())}static CreateNew(t,e,i,s,r,n,o){return tt.Zero().update(t,e,i,s,r,n,o)}static CreateNewFromTo(t,e,i=y.IdentityReadOnly){const s=new tt(new v(0,0,0),new v(0,0,0));return tt.CreateFromToToRef(t,e,s,i)}static CreateFromToToRef(t,e,i,s=y.IdentityReadOnly){i.origin.copyFrom(t);const r=e.subtractToRef(t,i.direction),n=Math.sqrt(r.x*r.x+r.y*r.y+r.z*r.z);return i.length=n,i.direction.normalize(),tt.TransformToRef(i,s,i)}static Transform(t,e){const i=new tt(new v(0,0,0),new v(0,0,0));return tt.TransformToRef(t,e,i),i}static TransformToRef(t,e,i){v.TransformCoordinatesToRef(t.origin,e,i.origin),v.TransformNormalToRef(t.direction,e,i.direction),i.length=t.length,i.epsilon=t.epsilon;const s=i.direction,r=s.length();if(0!==r&&1!==r){const t=1/r;s.x*=t,s.y*=t,s.z*=t,i.length*=r}return i}unprojectRayToRef(t,e,i,s,r,n,o){const a=b.Matrix[0];r.multiplyToRef(n,a),a.multiplyToRef(o,a),a.invert();const c=F.LastCreatedEngine,l=b.Vector3[0];l.x=t/i*2-1,l.y=-(e/s*2-1),l.z=c?.useReverseDepthBuffer?1:c?.isNDCHalfZRange?0:-1;const u=b.Vector3[1].copyFromFloats(l.x,l.y,1-1e-8),h=b.Vector3[2],d=b.Vector3[3];v._UnprojectFromInvertedMatrixToRef(l,a,h),v._UnprojectFromInvertedMatrixToRef(u,a,d),this.origin.copyFrom(h),d.subtractToRef(h,this.direction),this.direction.normalize()}}function et(t,e,i,s,r,n=!1){const o=tt.Zero();return it(t,e,i,s,o,r,n),o}function it(t,e,i,s,r,n,o=!1,a=!1){const c=t.getEngine();if(!n&&!(n=t.activeCamera))return t;const l=n.viewport,u=c.getRenderHeight(),{x:h,y:d,width:p,height:m}=l.toGlobal(c.getRenderWidth(),u),_=1/c.getHardwareScalingLevel();return e=e*_-h,i=i*_-(u-d-m),r.update(e,i,p,m,s||y.IdentityReadOnly,o?y.IdentityReadOnly:n.getViewMatrix(),n.getProjectionMatrix(),a),t}function st(t,e,i,s,r){if(!D)return t;const n=t.getEngine();if(!r&&!(r=t.activeCamera))throw new Error("Active camera not set");const o=r.viewport,a=n.getRenderHeight(),{x:c,y:l,width:u,height:h}=o.toGlobal(n.getRenderWidth(),a),d=y.Identity(),p=1/n.getHardwareScalingLevel();return e=e*p-c,i=i*p-(a-l-h),s.update(e,i,u,h,d,d,r.getProjectionMatrix()),t}function rt(t,e,i,s,r,n,o,a){const c=e(s,i.enableDistantPicking),l=i.intersects(c,r,o,n,s,a);return l&&l.hit?!r&&null!=t&&l.distance>=t.distance?null:l:null}function nt(t,e,i,s,r,n){let o=null;const a=!!(t.activeCameras&&t.activeCameras.length>1&&t.cameraToUseForPointers!==t.activeCamera),c=t.cameraToUseForPointers||t.activeCamera,l=rt;for(let u=0;u<t.meshes.length;u++){const h=t.meshes[u];if(i){if(!i(h,-1))continue}else if(!h.isEnabled()||!h.isVisible||!h.isPickable)continue;const d=a&&h.isWorldMatrixCameraDependent(),p=h.computeWorldMatrix(d,c);if(h.hasThinInstances&&h.thinInstanceEnablePicking){const t=l(o,e,h,p,!0,!0,n);if(t){if(r)return t;const a=b.Matrix[1],c=h.thinInstanceGetWorldMatrices();for(let t=0;t<c.length;t++){if(i&&!i(h,t))continue;c[t].multiplyToRef(p,a);const u=l(o,e,h,a,s,r,n,!0);if(u&&(o=u,o.thinInstanceIndex=t,s))return o}}}else{const t=l(o,e,h,p,s,r,n);if(t&&(o=t,s))return o}}return o||new D}function ot(t,e,i,s){if(!D)return null;const r=[],n=!!(t.activeCameras&&t.activeCameras.length>1&&t.cameraToUseForPointers!==t.activeCamera),o=t.cameraToUseForPointers||t.activeCamera,a=rt;for(let c=0;c<t.meshes.length;c++){const l=t.meshes[c];if(i){if(!i(l,-1))continue}else if(!l.isEnabled()||!l.isVisible||!l.isPickable)continue;const u=n&&l.isWorldMatrixCameraDependent(),h=l.computeWorldMatrix(u,o);if(l.hasThinInstances&&l.thinInstanceEnablePicking){if(a(null,e,l,h,!0,!0,s)){const t=b.Matrix[1],n=l.thinInstanceGetWorldMatrices();for(let o=0;o<n.length;o++){if(i&&!i(l,o))continue;n[o].multiplyToRef(h,t);const c=a(null,e,l,t,!1,!1,s,!0);c&&(c.thinInstanceIndex=o,r.push(c))}}}else{const t=a(null,e,l,h,!1,!1,s);t&&r.push(t)}}return r}function at(t,e,i=100,s,r){s||(s=t.getWorldMatrix()),e.length=i,r?e.origin.copyFrom(r):e.origin.copyFrom(t.position);const n=b.Vector3[2];n.set(0,0,t._scene.useRightHandedSystem?-1:1);const o=b.Vector3[3];return v.TransformNormalToRef(n,s,o),v.NormalizeToRef(o,e.direction),e}var ct,lt,ut,ht;tt._TmpVector3=S(6,v.Zero),tt._RayDistant=tt.Zero(),tt._Smallnum=1e-8,tt._Rayl=1e9,ct=E,(lt=l)&&(lt.prototype.getForwardRay=function(t=100,e,i){return at(this,new tt(v.Zero(),v.Zero(),t),t,e,i)},lt.prototype.getForwardRayToRef=function(t,e=100,i,s){return at(this,t,e,i,s)}),ct&&(B._IsPickingAvailable=!0,ct.prototype.createPickingRay=function(t,e,i,s,r=!1){return et(this,t,e,i,s,r)}),E.prototype.createPickingRayToRef=function(t,e,i,s,r,n=!1,o=!1){return it(this,t,e,i,s,r,n,o)},E.prototype.createPickingRayInCameraSpace=function(t,e,i){return function(t,e,i,s){const r=tt.Zero();return st(t,e,i,r,s),r}(this,t,e,i)},E.prototype.createPickingRayInCameraSpaceToRef=function(t,e,i,s){return st(this,t,e,i,s)},E.prototype.pickWithBoundingInfo=function(t,e,i,s,r){return function(t,e,i,s,r,n){if(!D)return null;const o=nt(t,(s=>(t._tempPickingRay||(t._tempPickingRay=tt.Zero()),it(t,e,i,s,t._tempPickingRay,n||null),t._tempPickingRay)),s,r,!0);return o&&(o.ray=et(t,e,i,y.Identity(),n||null)),o}(this,t,e,i,s,r)},E.prototype.pick=function(t,e,i,s,r,n,o=!1){return function(t,e,i,s,r,n,o){const a=nt(t,((s,r)=>(t._tempPickingRay||(t._tempPickingRay=tt.Zero()),it(t,e,i,s,t._tempPickingRay,n||null,!1,r),t._tempPickingRay)),s,r,!1,o);return a&&(a.ray=et(t,e,i,y.Identity(),n||null)),a}(this,t,e,i,s,r,n,o)},E.prototype.pickWithRay=function(t,e,i,s){return function(t,e,i,s,r){const n=nt(t,(i=>(t._pickWithRayInverseMatrix||(t._pickWithRayInverseMatrix=y.Identity()),i.invertToRef(t._pickWithRayInverseMatrix),t._cachedRayForTransform||(t._cachedRayForTransform=tt.Zero()),tt.TransformToRef(e,t._pickWithRayInverseMatrix,t._cachedRayForTransform),t._cachedRayForTransform)),i,s,!1,r);return n&&(n.ray=e),n}(this,t,e,i,s)},E.prototype.multiPick=function(t,e,i,s,r){return function(t,e,i,s,r,n){return ot(t,(s=>et(t,e,i,s,r||null)),s,n)}(this,t,e,i,s,r)},E.prototype.multiPickWithRay=function(t,e,i){return function(t,e,i,s){return ot(t,(i=>(t._pickWithRayInverseMatrix||(t._pickWithRayInverseMatrix=y.Identity()),i.invertToRef(t._pickWithRayInverseMatrix),t._cachedRayForTransform||(t._cachedRayForTransform=tt.Zero()),tt.TransformToRef(e,t._pickWithRayInverseMatrix,t._cachedRayForTransform),t._cachedRayForTransform)),i,s)}(this,t,e,i)},function(t){t[t.Color=2]="Color",t[t.UV=1]="UV",t[t.Random=0]="Random",t[t.Stated=3]="Stated"}(ut||(ut={}));class dt{get positions(){return this._positions32}get colors(){return this._colors32}get uvs(){return this._uvs32}constructor(t,e,i,s){this.particles=new Array,this.nbParticles=0,this.counter=0,this.vars={},this._promises=[],this._positions=new Array,this._indices=new Array,this._normals=new Array,this._colors=new Array,this._uvs=new Array,this._updatable=!0,this._isVisibilityBoxLocked=!1,this._alwaysVisible=!1,this._groups=new Array,this._groupCounter=0,this._computeParticleColor=!0,this._computeParticleTexture=!0,this._computeParticleRotation=!0,this._computeBoundingBox=!1,this._isReady=!1,this.name=t,this._size=e,this._scene=i||F.LastCreatedScene,s&&void 0!==s.updatable?this._updatable=s.updatable:this._updatable=!0}buildMeshAsync(t){return Promise.all(this._promises).then((()=>(this._isReady=!0,this._buildMesh(t))))}_buildMesh(t){0===this.nbParticles&&this.addPoints(1),this._positions32=new Float32Array(this._positions),this._uvs32=new Float32Array(this._uvs),this._colors32=new Float32Array(this._colors);const e=new T;e.set(this._positions32,_.PositionKind),this._uvs32.length>0&&e.set(this._uvs32,_.UVKind);let i=0;this._colors32.length>0&&(i=1,e.set(this._colors32,_.ColorKind));const s=new g(this.name,this._scene);e.applyToMesh(s,this._updatable),this.mesh=s,this._positions=null,this._uvs=null,this._colors=null,this._updatable||(this.particles.length=0);let r=t;return r||(r=new X("point cloud material",this._scene),r.emissiveColor=new U(i,i,i),r.disableLighting=!0,r.pointsCloud=!0,r.pointSize=this._size),s.material=r,new Promise((t=>t(s)))}_addParticle(t,e,i,s){const r=new J(t,e,i,s,this);return this.particles.push(r),r}_randomUnitVector(t){t.position=new v(Math.random(),Math.random(),Math.random()),t.color=new k(1,1,1,1)}_getColorIndicesForCoord(t,e,i,s){const r=t._groupImageData,n=i*(4*s)+4*e,o=[n,n+1,n+2,n+3],a=o[1],c=o[2],l=o[3],u=r[o[0]],h=r[a],d=r[c],p=r[l];return new k(u/255,h/255,d/255,p)}_setPointsColorOrUV(t,e,i,s,r,n,o,a){a=a??0,i&&t.updateFacetData();const c=2*t.getBoundingInfo().boundingSphere.radius;let l=t.getVerticesData(_.PositionKind);const u=t.getIndices(),h=t.getVerticesData(_.UVKind+(a?a+1:"")),d=t.getVerticesData(_.ColorKind),p=v.Zero();t.computeWorldMatrix();const m=t.getWorldMatrix();if(!m.isIdentity()){l=l.slice(0);for(let t=0;t<l.length/3;t++)v.TransformCoordinatesFromFloatsToRef(l[3*t],l[3*t+1],l[3*t+2],m,p),l[3*t]=p.x,l[3*t+1]=p.y,l[3*t+2]=p.z}let x=0,f=0,g=0,y=0,T=0,w=0,b=0,P=0,R=0,M=0,C=0,A=0,S=0;const z=v.Zero(),V=v.Zero(),F=v.Zero(),D=v.Zero(),B=v.Zero();let E=0,N=0,Z=0,O=0,G=0,j=0;const X=I.Zero(),H=I.Zero(),Y=I.Zero(),K=I.Zero(),q=I.Zero();let Q=0,J=0,$=0,et=0,it=0,st=0,rt=0,nt=0,ot=0,at=0,ct=0,lt=0;const ut=L.Zero(),ht=L.Zero(),dt=L.Zero(),pt=L.Zero(),mt=L.Zero();let _t,xt,ft=0,gt=0;o=o||0;let yt=new L(0,0,0,0),vt=v.Zero(),Tt=v.Zero(),wt=v.Zero(),bt=0,Pt=v.Zero(),Rt=0,Mt=0;const Ct=new tt(v.Zero(),new v(1,0,0));let It,At=v.Zero();for(let a=0;a<u.length/3;a++){let p,m,_,I,L,tt,kt,St;f=u[3*a],g=u[3*a+1],y=u[3*a+2],T=l[3*f],w=l[3*f+1],b=l[3*f+2],P=l[3*g],R=l[3*g+1],M=l[3*g+2],C=l[3*y],A=l[3*y+1],S=l[3*y+2],z.set(T,w,b),V.set(P,R,M),F.set(C,A,S),V.subtractToRef(z,D),F.subtractToRef(V,B),h&&(E=h[2*f],N=h[2*f+1],Z=h[2*g],O=h[2*g+1],G=h[2*y],j=h[2*y+1],X.set(E,N),H.set(Z,O),Y.set(G,j),H.subtractToRef(X,K),Y.subtractToRef(H,q)),d&&s&&(Q=d[4*f],J=d[4*f+1],$=d[4*f+2],et=d[4*f+3],it=d[4*g],st=d[4*g+1],rt=d[4*g+2],nt=d[4*g+3],ot=d[4*y],at=d[4*y+1],ct=d[4*y+2],lt=d[4*y+3],ut.set(Q,J,$,et),ht.set(it,st,rt,nt),dt.set(ot,at,ct,lt),ht.subtractToRef(ut,pt),dt.subtractToRef(ht,mt));const zt=new U(0,0,0),Vt=new U(0,0,0);let Ft,Dt;for(let l=0;l<e._groupDensity[a];l++)x=this.particles.length,this._addParticle(x,e,this._groupCounter,a+l),Dt=this.particles[x],ft=Math.sqrt(W(0,1)),gt=W(0,1),_t=z.add(D.scale(ft)).add(B.scale(ft*gt)),i&&(vt=t.getFacetNormal(a).normalize().scale(-1),Tt=D.clone().normalize(),wt=v.Cross(vt,Tt),bt=W(0,2*Math.PI),Pt=Tt.scale(Math.cos(bt)).add(wt.scale(Math.sin(bt))),bt=W(.1,Math.PI/2),At=Pt.scale(Math.cos(bt)).add(vt.scale(Math.sin(bt))),Ct.origin=_t.add(At.scale(1e-5)),Ct.direction=At,Ct.length=c,It=Ct.intersectsMesh(t),It.hit&&(Mt=It.pickedPoint.subtract(_t).length(),Rt=W(0,1)*Mt,_t.addInPlace(At.scale(Rt)))),Dt.position=_t.clone(),this._positions.push(Dt.position.x,Dt.position.y,Dt.position.z),void 0!==s?h&&(xt=X.add(K.scale(ft)).add(q.scale(ft*gt)),s?r&&null!==e._groupImageData?(p=e._groupImgWidth,m=e._groupImgHeight,Ft=this._getColorIndicesForCoord(e,Math.round(xt.x*p),Math.round(xt.y*m),p),Dt.color=Ft,this._colors.push(Ft.r,Ft.g,Ft.b,Ft.a)):d?(yt=ut.add(pt.scale(ft)).add(mt.scale(ft*gt)),Dt.color=new k(yt.x,yt.y,yt.z,yt.w),this._colors.push(yt.x,yt.y,yt.z,yt.w)):(yt=ut.set(Math.random(),Math.random(),Math.random(),1),Dt.color=new k(yt.x,yt.y,yt.z,yt.w),this._colors.push(yt.x,yt.y,yt.z,yt.w)):(Dt.uv=xt.clone(),this._uvs.push(Dt.uv.x,Dt.uv.y))):(n?(zt.set(n.r,n.g,n.b),_=W(-o,o),I=W(-o,o),St=zt.toHSV(),L=St.r,tt=St.g+_,kt=St.b+I,tt<0&&(tt=0),tt>1&&(tt=1),kt<0&&(kt=0),kt>1&&(kt=1),U.HSVtoRGBToRef(L,tt,kt,Vt),yt.set(Vt.r,Vt.g,Vt.b,1)):yt=ut.set(Math.random(),Math.random(),Math.random(),1),Dt.color=new k(yt.x,yt.y,yt.z,yt.w),this._colors.push(yt.x,yt.y,yt.z,yt.w))}}_colorFromTexture(t,e,i){if(null===t.material)return P.Warn(t.name+"has no material."),e._groupImageData=null,void this._setPointsColorOrUV(t,e,i,!0,!1);const s=t.material.getActiveTextures();if(0===s.length)return P.Warn(t.name+"has no usable texture."),e._groupImageData=null,void this._setPointsColorOrUV(t,e,i,!0,!1);const r=t.clone();r.setEnabled(!1),this._promises.push(new Promise((t=>{N.WhenAllReady(s,(()=>{let n=e._textureNb;n<0&&(n=0),n>s.length-1&&(n=s.length-1);const o=()=>{e._groupImgWidth=s[n].getSize().width,e._groupImgHeight=s[n].getSize().height,this._setPointsColorOrUV(r,e,i,!0,!0,void 0,void 0,s[n].coordinatesIndex),r.dispose(),t()};e._groupImageData=null;const a=s[n].readPixels();a?a.then((t=>{e._groupImageData=t,o()})):o()}))})))}_calculateDensity(t,e,i){let s,r,n,o,a,c,l,u,h,d,p,m;const _=v.Zero(),x=v.Zero(),f=v.Zero(),g=v.Zero(),y=v.Zero(),T=v.Zero();let w;const b=[];let P=0;const R=i.length/3;for(let t=0;t<R;t++)s=i[3*t],r=i[3*t+1],n=i[3*t+2],o=e[3*s],a=e[3*s+1],c=e[3*s+2],l=e[3*r],u=e[3*r+1],h=e[3*r+2],d=e[3*n],p=e[3*n+1],m=e[3*n+2],_.set(o,a,c),x.set(l,u,h),f.set(d,p,m),x.subtractToRef(_,g),f.subtractToRef(x,y),v.CrossToRef(g,y,T),w=.5*T.length(),P+=w,b[t]=P;const M=new Array(R);let C=t;for(let t=R-1;t>0;t--){const e=b[t];if(0===e)M[t]=0;else{const i=(e-b[t-1])/e*C,s=Math.floor(i),r=i-s,n=s+Number(Math.random()<r);M[t]=n,C-=n}}return M[0]=C,M}addPoints(t,e=this._randomUnitVector){const i=new $(this._groupCounter,e);let s,r=this.nbParticles;for(let e=0;e<t;e++)s=this._addParticle(r,i,this._groupCounter,e),i&&i._positionFunction&&i._positionFunction(s,r,e),this._positions.push(s.position.x,s.position.y,s.position.z),s.color&&this._colors.push(s.color.r,s.color.g,s.color.b,s.color.a),s.uv&&this._uvs.push(s.uv.x,s.uv.y),r++;return this.nbParticles+=t,this._groupCounter++,this._groupCounter}addSurfacePoints(t,e,i,s,r){let n=i||0;(isNaN(n)||n<0||n>3)&&(n=0);const o=t.getVerticesData(_.PositionKind),a=t.getIndices();this._groups.push(this._groupCounter);const c=new $(this._groupCounter,null);switch(c._groupDensity=this._calculateDensity(e,o,a),2===n?c._textureNb=s||0:s=s||new k(1,1,1,1),n){case 2:this._colorFromTexture(t,c,!1);break;case 1:this._setPointsColorOrUV(t,c,!1,!1,!1);break;case 0:this._setPointsColorOrUV(t,c,!1);break;case 3:this._setPointsColorOrUV(t,c,!1,void 0,void 0,s,r)}return this.nbParticles+=e,this._groupCounter++,this._groupCounter-1}addVolumePoints(t,e,i,s,r){let n=i||0;(isNaN(n)||n<0||n>3)&&(n=0);const o=t.getVerticesData(_.PositionKind),a=t.getIndices();this._groups.push(this._groupCounter);const c=new $(this._groupCounter,null);switch(c._groupDensity=this._calculateDensity(e,o,a),2===n?c._textureNb=s||0:s=s||new k(1,1,1,1),n){case 2:this._colorFromTexture(t,c,!0);break;case 1:this._setPointsColorOrUV(t,c,!0,!1,!1);break;case 0:this._setPointsColorOrUV(t,c,!0);break;case 3:this._setPointsColorOrUV(t,c,!0,void 0,void 0,s,r)}return this.nbParticles+=e,this._groupCounter++,this._groupCounter-1}setParticles(t=0,e=this.nbParticles-1,i=!0){if(!this._updatable||!this._isReady)return this;this.beforeUpdateParticles(t,e,i);const s=b.Matrix[0],r=this.mesh,n=this._colors32,o=this._positions32,a=this._uvs32,c=b.Vector3,l=c[5].copyFromFloats(1,0,0),u=c[6].copyFromFloats(0,1,0),h=c[7].copyFromFloats(0,0,1),d=c[8].setAll(Number.MAX_VALUE),p=c[9].setAll(-Number.MAX_VALUE);y.IdentityToRef(s);let m=0;if(this.mesh?.isFacetDataEnabled&&(this._computeBoundingBox=!0),e=e>=this.nbParticles?this.nbParticles-1:e,this._computeBoundingBox&&(0!=t||e!=this.nbParticles-1)){const t=this.mesh?.getBoundingInfo();t&&(d.copyFrom(t.minimum),p.copyFrom(t.maximum))}m=0;let x=0,f=0,g=0;for(let i=t;i<=e;i++){const t=this.particles[i];m=t.idx,x=3*m,f=4*m,g=2*m,this.updateParticle(t);const e=t._rotationMatrix,r=t.position,n=t._globalPosition;this._computeParticleRotation&&t.getRotationMatrix(s);if(null!==t.parentId){const i=this.particles[t.parentId],o=i._rotationMatrix,a=i._globalPosition,c=r.x*o[1]+r.y*o[4]+r.z*o[7],l=r.x*o[0]+r.y*o[3]+r.z*o[6],u=r.x*o[2]+r.y*o[5]+r.z*o[8];if(n.x=a.x+l,n.y=a.y+c,n.z=a.z+u,this._computeParticleRotation){const t=s.m;e[0]=t[0]*o[0]+t[1]*o[3]+t[2]*o[6],e[1]=t[0]*o[1]+t[1]*o[4]+t[2]*o[7],e[2]=t[0]*o[2]+t[1]*o[5]+t[2]*o[8],e[3]=t[4]*o[0]+t[5]*o[3]+t[6]*o[6],e[4]=t[4]*o[1]+t[5]*o[4]+t[6]*o[7],e[5]=t[4]*o[2]+t[5]*o[5]+t[6]*o[8],e[6]=t[8]*o[0]+t[9]*o[3]+t[10]*o[6],e[7]=t[8]*o[1]+t[9]*o[4]+t[10]*o[7],e[8]=t[8]*o[2]+t[9]*o[5]+t[10]*o[8]}}else if(n.x=0,n.y=0,n.z=0,this._computeParticleRotation){const t=s.m;e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10]}const a=c[11];t.translateFromPivot?a.setAll(0):a.copyFrom(t.pivot);const _=c[0];_.copyFrom(t.position);const y=_.x-t.pivot.x,v=_.y-t.pivot.y,T=_.z-t.pivot.z;let w=y*e[0]+v*e[3]+T*e[6],b=y*e[1]+v*e[4]+T*e[7],P=y*e[2]+v*e[5]+T*e[8];w+=a.x,b+=a.y,P+=a.z;const R=o[x]=n.x+l.x*w+u.x*b+h.x*P,M=o[x+1]=n.y+l.y*w+u.y*b+h.y*P,C=o[x+2]=n.z+l.z*w+u.z*b+h.z*P;if(this._computeBoundingBox&&(d.minimizeInPlaceFromFloats(R,M,C),p.maximizeInPlaceFromFloats(R,M,C)),this._computeParticleColor&&t.color){const e=t.color,i=this._colors32;i[f]=e.r,i[f+1]=e.g,i[f+2]=e.b,i[f+3]=e.a}if(this._computeParticleTexture&&t.uv){const e=t.uv,i=this._uvs32;i[g]=e.x,i[g+1]=e.y}}return r&&(i&&(this._computeParticleColor&&r.updateVerticesData(_.ColorKind,n,!1,!1),this._computeParticleTexture&&r.updateVerticesData(_.UVKind,a,!1,!1),r.updateVerticesData(_.PositionKind,o,!1,!1)),this._computeBoundingBox&&(r.hasBoundingInfo?r.getBoundingInfo().reConstruct(d,p,r._worldMatrix):r.buildBoundingInfo(d,p,r._worldMatrix))),this.afterUpdateParticles(t,e,i),this}dispose(){this.mesh?.dispose(),this.vars=null,this._positions=null,this._indices=null,this._normals=null,this._uvs=null,this._colors=null,this._indices32=null,this._positions32=null,this._uvs32=null,this._colors32=null}refreshVisibleSize(){return this._isVisibilityBoxLocked||this.mesh?.refreshBoundingInfo(),this}setVisibilityBox(t){if(!this.mesh)return;const e=t/2;this.mesh.buildBoundingInfo(new v(-e,-e,-e),new v(e,e,e))}get isAlwaysVisible(){return this._alwaysVisible}set isAlwaysVisible(t){this.mesh&&(this._alwaysVisible=t,this.mesh.alwaysSelectAsActiveMesh=t)}set computeParticleRotation(t){this._computeParticleRotation=t}set computeParticleColor(t){this._computeParticleColor=t}set computeParticleTexture(t){this._computeParticleTexture=t}get computeParticleColor(){return this._computeParticleColor}get computeParticleTexture(){return this._computeParticleTexture}set computeBoundingBox(t){this._computeBoundingBox=t}get computeBoundingBox(){return this._computeBoundingBox}initParticles(){}recycleParticle(t){return t}updateParticle(t){return t}beforeUpdateParticles(t,e,i){}afterUpdateParticles(t,e,i){}}!function(t){t[t.Splat=0]="Splat",t[t.PointCloud=1]="PointCloud",t[t.Mesh=2]="Mesh"}(ht||(ht={}));class pt{constructor(t=pt._DefaultLoadingOptions){this.name=Z.name,this._assetContainer=null,this.extensions=Z.extensions,this._loadingOptions=t}createPlugin(t){return new pt(t[Z.name])}async importMeshAsync(t,e,i,s,r,n){return this._parse(t,e,i,s).then((t=>({meshes:t,particleSystems:[],skeletons:[],animationGroups:[],transformNodes:[],geometries:[],lights:[],spriteManagers:[]})))}static _BuildPointCloud(t,e){if(!e.byteLength)return!1;const i=new Uint8Array(e),s=new Float32Array(e),r=i.length/32;return t.addPoints(r,(function(t,e){const r=s[8*e+0],n=s[8*e+1],o=s[8*e+2];t.position=new v(r,n,o);const a=i[32*e+24+0]/255,c=i[32*e+24+1]/255,l=i[32*e+24+2]/255;t.color=new k(a,c,l,1)})),!0}static _BuildMesh(t,e){const i=new g("PLYMesh",t),s=new Uint8Array(e.data),r=new Float32Array(e.data),n=s.length/32,o=[],a=new T;for(let t=0;t<n;t++){const e=r[8*t+0],i=r[8*t+1],s=r[8*t+2];o.push(e,i,s)}if(e.hasVertexColors){const t=new Float32Array(4*n);for(let e=0;e<n;e++){const i=s[32*e+24+0]/255,r=s[32*e+24+1]/255,n=s[32*e+24+2]/255;t[4*e+0]=i,t[4*e+1]=r,t[4*e+2]=n,t[4*e+3]=1}a.colors=t}return a.positions=o,a.indices=e.faces,a.applyToMesh(i),i}_parse(t,e,i,s){const r=[],n=pt._ConvertPLYToSplat(i);switch(n.mode){case 0:{const t=new Q("GaussianSplatting",null,e,this._loadingOptions.keepInRam);t._parentContainer=this._assetContainer,r.push(t),t.loadDataAsync(n.data)}break;case 1:{const t=new dt("PointCloud",1,e);if(pt._BuildPointCloud(t,n.data))return Promise.all([t.buildMeshAsync()]).then((t=>(r.push(t[0]),r)));t.dispose()}break;case 2:if(!n.faces)throw new Error("PLY mesh doesn't contain face informations.");r.push(pt._BuildMesh(e,n));break;default:throw new Error("Unsupported Splat mode")}return Promise.resolve(r)}loadAssetContainerAsync(t,e,i){const s=new j(t);return this._assetContainer=s,this.importMeshAsync(null,t,e,i).then((t=>(t.meshes.forEach((t=>s.meshes.push(t))),this._assetContainer=null,s))).catch((t=>{throw this._assetContainer=null,t}))}loadAsync(t,e,i){return this.importMeshAsync(null,t,e,i).then((()=>{}))}static _ConvertPLYToSplat(t){const e=new Uint8Array(t),i=(new TextDecoder).decode(e.slice(0,10240)),s="end_header\n",r=i.indexOf(s);if(r<0||!i)return{mode:0,data:t};const n=parseInt(/element vertex (\d+)\n/.exec(i)[1]),o=/element face (\d+)\n/.exec(i);let a=0;o&&(a=parseInt(o[1]));const c=/element chunk (\d+)\n/.exec(i);let l=0;c&&(l=parseInt(c[1]));let u=0,h=0;const d={double:8,int:4,uint:4,float:4,short:2,ushort:2,uchar:1,list:0};let p;!function(t){t[t.Vertex=0]="Vertex",t[t.Chunk=1]="Chunk"}(p||(p={}));let m=1;const _=[],x=i.slice(0,r).split("\n");for(const t of x)if(t.startsWith("property ")){const[,e,i]=t.split(" ");1==m?h+=d[e]:0==m&&(_.push({name:i,type:e,offset:u}),u+=d[e]),d[e]||P.Warn(`Unsupported property type: ${e}.`)}else if(t.startsWith("element ")){const[,e]=t.split(" ");"chunk"==e?m=1:"vertex"==e&&(m=0)}const f=u,g=h,y=Q.ConvertPLYToSplat(t),v=new DataView(t,r+11);let T=g*l+f*n;const w=[];if(a)for(let t=0;t<a;t++){const t=v.getUint8(T);if(3==t){T+=1;for(let e=0;e<t;e++){const t=v.getUint32(T+4*(2-e),!0);w.push(t)}T+=12}}if(l)return{mode:0,data:y,faces:w,hasVertexColors:!1};let b=0,R=0;const M=["x","y","z","scale_0","scale_1","scale_2","opacity","rot_0","rot_1","rot_2","rot_3"],C=["red","green","blue","f_dc_0","f_dc_1","f_dc_2"];for(let t=0;t<_.length;t++){const e=_[t];M.includes(e.name)&&b++,C.includes(e.name)&&R++}const I=b==M.length&&3==R;return{mode:a?2:I?0:1,data:y,faces:w,hasVertexColors:!!R}}}pt._DefaultLoadingOptions={keepInRam:!1},O(new pt);export{pt as SPLATFileLoader};
|
|
2
|
-
//# sourceMappingURL=splatFileLoader-1QbSvkNp.esm.min.js.map
|