@babylonjs/viewer 7.24.0-alpha → 7.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +351 -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 -17
- package/readme.md +21 -35
- 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 +675 -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/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-C8Zx_zbb.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_image_based-C8Zx_zbb.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-kduc1dpt.esm.js +0 -170
- package/dist/chunks/EXT_lights_image_based-kduc1dpt.esm.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-CUpO919s.esm.min.js +0 -2
- package/dist/chunks/EXT_mesh_gpu_instancing-CUpO919s.esm.min.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-CYGlESBG.esm.js +0 -86
- package/dist/chunks/EXT_mesh_gpu_instancing-CYGlESBG.esm.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-BtWefmPI.esm.js +0 -134
- package/dist/chunks/EXT_meshopt_compression-BtWefmPI.esm.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-DNd-1RJ_.esm.min.js +0 -2
- package/dist/chunks/EXT_meshopt_compression-DNd-1RJ_.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-BgOmraWM.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_avif-BgOmraWM.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-BkBGixX6.esm.js +0 -44
- package/dist/chunks/EXT_texture_avif-BkBGixX6.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-DEij2Hfd.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_webp-DEij2Hfd.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-Uw1qOCtv.esm.js +0 -43
- package/dist/chunks/EXT_texture_webp-Uw1qOCtv.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-BqsudUT7.esm.min.js +0 -2
- package/dist/chunks/ExtrasAsMetadata-BqsudUT7.esm.min.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-CM2jTjHQ.esm.js +0 -64
- package/dist/chunks/ExtrasAsMetadata-CM2jTjHQ.esm.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-DX9lguJB.esm.js +0 -343
- package/dist/chunks/KHR_animation_pointer-DX9lguJB.esm.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-D_r3SXH0.esm.min.js +0 -2
- package/dist/chunks/KHR_animation_pointer-D_r3SXH0.esm.min.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-Bxjw8_pv.esm.min.js +0 -2
- package/dist/chunks/KHR_draco_mesh_compression-Bxjw8_pv.esm.min.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-CbI7tqZf.esm.js +0 -610
- package/dist/chunks/KHR_draco_mesh_compression-CbI7tqZf.esm.js.map +0 -1
- package/dist/chunks/KHR_interactivity-B9qhnhvi.esm.js +0 -4033
- package/dist/chunks/KHR_interactivity-B9qhnhvi.esm.js.map +0 -1
- package/dist/chunks/KHR_interactivity-ClkL8PwU.esm.min.js +0 -2
- package/dist/chunks/KHR_interactivity-ClkL8PwU.esm.min.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-C7-LlQCf.esm.js +0 -1253
- package/dist/chunks/KHR_lights_punctual-C7-LlQCf.esm.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-hn-7LTf-.esm.min.js +0 -2
- package/dist/chunks/KHR_lights_punctual-hn-7LTf-.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-B4Tuk6uT.esm.js +0 -64
- package/dist/chunks/KHR_materials_anisotropy-B4Tuk6uT.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-CKZ6ypYV.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_anisotropy-CKZ6ypYV.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-B7g-cV_Q.esm.js +0 -96
- package/dist/chunks/KHR_materials_clearcoat-B7g-cV_Q.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-BBlfAKyA.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_clearcoat-BBlfAKyA.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-Cxa1EzSD.esm.js +0 -96
- package/dist/chunks/KHR_materials_diffuse_transmission-Cxa1EzSD.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-D7VVR_6W.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_diffuse_transmission-D7VVR_6W.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-BD-i4dhK.esm.js +0 -63
- package/dist/chunks/KHR_materials_dispersion-BD-i4dhK.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-DA1pPYlo.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_dispersion-DA1pPYlo.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-BUG2Suzu.esm.js +0 -55
- package/dist/chunks/KHR_materials_emissive_strength-BUG2Suzu.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-Cy4f53O0.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_emissive_strength-Cy4f53O0.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-CXkf52WI.esm.js +0 -64
- package/dist/chunks/KHR_materials_ior-CXkf52WI.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-Cb18R0md.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_ior-Cb18R0md.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-CRrr8cNQ.esm.js +0 -72
- package/dist/chunks/KHR_materials_iridescence-CRrr8cNQ.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-RKidJoeM.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_iridescence-RKidJoeM.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CM3wFF_J.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CM3wFF_J.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-JiRlMqAc.esm.js +0 -81
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-JiRlMqAc.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-CFE2-qvr.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_sheen-CFE2-qvr.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-yahUgSy0.esm.js +0 -85
- package/dist/chunks/KHR_materials_sheen-yahUgSy0.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-D5MMqFRA.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_specular-D5MMqFRA.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-uE0VOMMR.esm.js +0 -75
- package/dist/chunks/KHR_materials_specular-uE0VOMMR.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-BqfkbFTi.esm.js +0 -307
- package/dist/chunks/KHR_materials_transmission-BqfkbFTi.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-Cy5bbuBe.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_transmission-Cy5bbuBe.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-CeAe8MXr.esm.js +0 -74
- package/dist/chunks/KHR_materials_unlit-CeAe8MXr.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-D_vQV9wJ.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_unlit-D_vQV9wJ.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-DI_pay4_.esm.js +0 -238
- package/dist/chunks/KHR_materials_variants-DI_pay4_.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-jFCWO0BP.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_variants-jFCWO0BP.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-CeG8b15V.esm.js +0 -88
- package/dist/chunks/KHR_materials_volume-CeG8b15V.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-DE_Ylfcc.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_volume-DE_Ylfcc.esm.min.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-CzyL_Cnv.esm.js +0 -26
- package/dist/chunks/KHR_mesh_quantization-CzyL_Cnv.esm.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-DJe_n3uT.esm.min.js +0 -2
- package/dist/chunks/KHR_mesh_quantization-DJe_n3uT.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-BM_kwHpr.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_basisu-BM_kwHpr.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-CW33-gFJ.esm.js +0 -43
- package/dist/chunks/KHR_texture_basisu-CW33-gFJ.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-BvOVd3aP.esm.js +0 -63
- package/dist/chunks/KHR_texture_transform-BvOVd3aP.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-DP5URy2N.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_transform-DP5URy2N.esm.min.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-BUxeQ4mX.esm.js +0 -51
- package/dist/chunks/KHR_xmp_json_ld-BUxeQ4mX.esm.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-CakdJpK8.esm.min.js +0 -2
- package/dist/chunks/KHR_xmp_json_ld-CakdJpK8.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-CANraFUR.esm.js +0 -1601
- package/dist/chunks/MSFT_audio_emitter-CANraFUR.esm.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-CCZ2emXW.esm.min.js +0 -2
- package/dist/chunks/MSFT_audio_emitter-CCZ2emXW.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_lod-B6edIFfM.esm.js +0 -337
- package/dist/chunks/MSFT_lod-B6edIFfM.esm.js.map +0 -1
- package/dist/chunks/MSFT_lod-CTqZxsr6.esm.min.js +0 -2
- package/dist/chunks/MSFT_lod-CTqZxsr6.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-BQ2-yi3j.esm.min.js +0 -2
- package/dist/chunks/MSFT_minecraftMesh-BQ2-yi3j.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-utO1z3Rb.esm.js +0 -46
- package/dist/chunks/MSFT_minecraftMesh-utO1z3Rb.esm.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-DcH5vUrm.esm.min.js +0 -2
- package/dist/chunks/MSFT_sRGBFactors-DcH5vUrm.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-Dxlg_cnl.esm.js +0 -47
- package/dist/chunks/MSFT_sRGBFactors-Dxlg_cnl.esm.js.map +0 -1
- package/dist/chunks/assetContainer-D7kzzGaF.esm.js +0 -1598
- package/dist/chunks/assetContainer-D7kzzGaF.esm.js.map +0 -1
- package/dist/chunks/assetContainer-DerZknN4.esm.min.js +0 -2
- package/dist/chunks/assetContainer-DerZknN4.esm.min.js.map +0 -1
- package/dist/chunks/basisTextureLoader-DFUefcfx.esm.js +0 -600
- package/dist/chunks/basisTextureLoader-DFUefcfx.esm.js.map +0 -1
- package/dist/chunks/basisTextureLoader-DHZAViG3.esm.min.js +0 -2
- package/dist/chunks/basisTextureLoader-DHZAViG3.esm.min.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-Besuv3in.esm.min.js +0 -2
- package/dist/chunks/ddsTextureLoader-Besuv3in.esm.min.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-DAJtmdH2.esm.js +0 -87
- package/dist/chunks/ddsTextureLoader-DAJtmdH2.esm.js.map +0 -1
- package/dist/chunks/default.fragment-Byp0EQWo.esm.js +0 -452
- package/dist/chunks/default.fragment-Byp0EQWo.esm.js.map +0 -1
- package/dist/chunks/default.fragment-CPrwFLxj.esm.min.js +0 -2
- package/dist/chunks/default.fragment-CPrwFLxj.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-CuTK0g2w.esm.min.js +0 -2
- package/dist/chunks/default.fragment-CuTK0g2w.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-D4K678XE.esm.js +0 -515
- package/dist/chunks/default.fragment-D4K678XE.esm.js.map +0 -1
- package/dist/chunks/default.vertex-CBf60jXb.esm.js +0 -178
- package/dist/chunks/default.vertex-CBf60jXb.esm.js.map +0 -1
- package/dist/chunks/default.vertex-CPLi2rTa.esm.min.js +0 -2
- package/dist/chunks/default.vertex-CPLi2rTa.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-DneLJIzI.esm.js +0 -199
- package/dist/chunks/default.vertex-DneLJIzI.esm.js.map +0 -1
- package/dist/chunks/default.vertex-tjZYwgIm.esm.min.js +0 -2
- package/dist/chunks/default.vertex-tjZYwgIm.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-5Ze2L4TA.esm.js +0 -15
- package/dist/chunks/defaultUboDeclaration-5Ze2L4TA.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-BbZB9zOH.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-BbZB9zOH.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-C1D54TCU.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-C1D54TCU.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-xq351fzv.esm.js +0 -13
- package/dist/chunks/defaultUboDeclaration-xq351fzv.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-Cd87_F9v.esm.js +0 -63
- package/dist/chunks/envTextureLoader-Cd87_F9v.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-DDrwMoNn.esm.min.js +0 -2
- package/dist/chunks/envTextureLoader-DDrwMoNn.esm.min.js.map +0 -1
- package/dist/chunks/environmentTextureTools-Bewx0Dvk.esm.js +0 -381
- package/dist/chunks/environmentTextureTools-Bewx0Dvk.esm.js.map +0 -1
- package/dist/chunks/environmentTextureTools-CKR4vXo_.esm.min.js +0 -2
- package/dist/chunks/environmentTextureTools-CKR4vXo_.esm.min.js.map +0 -1
- package/dist/chunks/exrTextureLoader-B5OMTxNT.esm.min.js +0 -2
- package/dist/chunks/exrTextureLoader-B5OMTxNT.esm.min.js.map +0 -1
- package/dist/chunks/exrTextureLoader-DYief1aQ.esm.js +0 -1682
- package/dist/chunks/exrTextureLoader-DYief1aQ.esm.js.map +0 -1
- package/dist/chunks/fogFragment-DDtXY8BJ.esm.min.js +0 -2
- package/dist/chunks/fogFragment-DDtXY8BJ.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-uA_uzICI.esm.js +0 -102
- package/dist/chunks/fogFragment-uA_uzICI.esm.js.map +0 -1
- package/dist/chunks/glTFLoader-BYQ5K9Kt.esm.min.js +0 -2
- package/dist/chunks/glTFLoader-BYQ5K9Kt.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoader-r35szQk2.esm.js +0 -7552
- package/dist/chunks/glTFLoader-r35szQk2.esm.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-CBE8cJ5o.esm.min.js +0 -2
- package/dist/chunks/glTFLoaderAnimation-CBE8cJ5o.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-CT3NxYwM.esm.js +0 -77
- package/dist/chunks/glTFLoaderAnimation-CT3NxYwM.esm.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-BFzEbNOc.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-BFzEbNOc.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-BmNqYWse.esm.js +0 -35
- package/dist/chunks/harmonicsFunctions-BmNqYWse.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-DCYVvJfE.esm.js +0 -34
- package/dist/chunks/harmonicsFunctions-DCYVvJfE.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-LdNe78Vv.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-LdNe78Vv.esm.min.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-B4HJ1PIb.esm.js +0 -252
- package/dist/chunks/hdrTextureLoader-B4HJ1PIb.esm.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-D2de5rCS.esm.min.js +0 -2
- package/dist/chunks/hdrTextureLoader-D2de5rCS.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-B-V3wz1K.esm.js +0 -80
- package/dist/chunks/helperFunctions-B-V3wz1K.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-B6u0LIQ1.esm.js +0 -108
- package/dist/chunks/helperFunctions-B6u0LIQ1.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-D3_vTLCV.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-D3_vTLCV.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-DbaT8xhT.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-DbaT8xhT.esm.min.js.map +0 -1
- package/dist/chunks/index-Bk29Qt-Y.esm.js +0 -81630
- package/dist/chunks/index-Bk29Qt-Y.esm.js.map +0 -1
- package/dist/chunks/index-BlF30_Ca.esm.min.js +0 -57
- package/dist/chunks/index-BlF30_Ca.esm.min.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-BTMWrtOa.esm.js +0 -814
- package/dist/chunks/ktxTextureLoader-BTMWrtOa.esm.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-OqiCvqqP.esm.min.js +0 -2
- package/dist/chunks/ktxTextureLoader-OqiCvqqP.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-BPKYewiS.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-BPKYewiS.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CB6mwEV4.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-CB6mwEV4.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CFTIeo9d.esm.js +0 -42
- package/dist/chunks/logDepthDeclaration-CFTIeo9d.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-DuXLlupN.esm.js +0 -35
- package/dist/chunks/logDepthDeclaration-DuXLlupN.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-B7lJf18n.esm.js +0 -605
- package/dist/chunks/logDepthVertex-B7lJf18n.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-BlpmPbMu.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-BlpmPbMu.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-CS2VncA3.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-CS2VncA3.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-DPI-wcrh.esm.js +0 -77
- package/dist/chunks/logDepthVertex-DPI-wcrh.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-B7jpQ5Mq.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-B7jpQ5Mq.esm.min.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-Cy__-6Nq.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-Cy__-6Nq.esm.js.map +0 -1
- package/dist/chunks/objFileLoader-BQAlTWHc.esm.min.js +0 -2
- package/dist/chunks/objFileLoader-BQAlTWHc.esm.min.js.map +0 -1
- package/dist/chunks/objFileLoader-Bi8LHs3e.esm.js +0 -1280
- package/dist/chunks/objFileLoader-Bi8LHs3e.esm.js.map +0 -1
- package/dist/chunks/oitFragment-Bu6IB_U1.esm.min.js +0 -2
- package/dist/chunks/oitFragment-Bu6IB_U1.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-DWPsjeYm.esm.js +0 -1210
- package/dist/chunks/oitFragment-DWPsjeYm.esm.js.map +0 -1
- package/dist/chunks/oitFragment-DwS3p7os.esm.js +0 -1166
- package/dist/chunks/oitFragment-DwS3p7os.esm.js.map +0 -1
- package/dist/chunks/oitFragment-Dyo3GCIB.esm.min.js +0 -2
- package/dist/chunks/oitFragment-Dyo3GCIB.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-BbvJLdK0.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-BbvJLdK0.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-CYW_mCe1.esm.js +0 -15
- package/dist/chunks/pass.fragment-CYW_mCe1.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-BF_ms0u4.esm.js +0 -3228
- package/dist/chunks/pbr.fragment-BF_ms0u4.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-BgRyNZP4.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-BgRyNZP4.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-DWDVg0cI.esm.js +0 -3163
- package/dist/chunks/pbr.fragment-DWDVg0cI.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-DnANKT1v.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-DnANKT1v.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-CtV1eMwZ.esm.js +0 -335
- package/dist/chunks/pbr.vertex-CtV1eMwZ.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-Dfv-0mcy.esm.js +0 -208
- package/dist/chunks/pbr.vertex-Dfv-0mcy.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-Dqkpv-Eq.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-Dqkpv-Eq.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-nSqzmuMh.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-nSqzmuMh.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-CI-eDzvi.esm.js +0 -20
- package/dist/chunks/postprocess.vertex-CI-eDzvi.esm.js.map +0 -1
- package/dist/chunks/postprocess.vertex-Cs2SUWD0.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-Cs2SUWD0.esm.min.js.map +0 -1
- package/dist/chunks/rawTexture-3oLvc_tp.esm.js +0 -562
- package/dist/chunks/rawTexture-3oLvc_tp.esm.js.map +0 -1
- package/dist/chunks/rawTexture-BWp9aJpK.esm.min.js +0 -2
- package/dist/chunks/rawTexture-BWp9aJpK.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-CYs1lXUB.esm.js +0 -17
- package/dist/chunks/rgbdDecode.fragment-CYs1lXUB.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-DiziHd4D.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-DiziHd4D.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-N_qzvKhN.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-N_qzvKhN.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-YPi0juk-.esm.js +0 -17
- package/dist/chunks/rgbdDecode.fragment-YPi0juk-.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-BPNHn1tT.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-BPNHn1tT.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-BcJhRtQ5.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-BcJhRtQ5.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-DtkOxT2Y.esm.js +0 -17
- package/dist/chunks/rgbdEncode.fragment-DtkOxT2Y.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-duKOXekg.esm.js +0 -17
- package/dist/chunks/rgbdEncode.fragment-duKOXekg.esm.js.map +0 -1
- package/dist/chunks/splatFileLoader-CftLaqSo.esm.js +0 -3137
- package/dist/chunks/splatFileLoader-CftLaqSo.esm.js.map +0 -1
- package/dist/chunks/splatFileLoader-DQY-vSa3.esm.min.js +0 -2
- package/dist/chunks/splatFileLoader-DQY-vSa3.esm.min.js.map +0 -1
- package/dist/chunks/standardMaterial-1c1C_ZIw.esm.js +0 -1809
- package/dist/chunks/standardMaterial-1c1C_ZIw.esm.js.map +0 -1
- package/dist/chunks/standardMaterial-CTSzlcu8.esm.min.js +0 -2
- package/dist/chunks/standardMaterial-CTSzlcu8.esm.min.js.map +0 -1
- package/dist/chunks/stlFileLoader-BGLYbFk2.esm.js +0 -237
- package/dist/chunks/stlFileLoader-BGLYbFk2.esm.js.map +0 -1
- package/dist/chunks/stlFileLoader-D451o5V4.esm.min.js +0 -2
- package/dist/chunks/stlFileLoader-D451o5V4.esm.min.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-BLOklZDW.esm.min.js +0 -2
- package/dist/chunks/tgaTextureLoader-BLOklZDW.esm.min.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-CCYZarL9.esm.js +0 -349
- package/dist/chunks/tgaTextureLoader-CCYZarL9.esm.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-BuanMsAC.esm.min.js +0 -2
- package/dist/chunks/thinInstanceMesh-BuanMsAC.esm.min.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-HVLKYr74.esm.js +0 -314
- package/dist/chunks/thinInstanceMesh-HVLKYr74.esm.js.map +0 -1
- package/dist/chunks/vertexColorMixing-Bhqvyjgc.esm.js +0 -528
- package/dist/chunks/vertexColorMixing-Bhqvyjgc.esm.js.map +0 -1
- package/dist/chunks/vertexColorMixing-Dgml7nXE.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-Dgml7nXE.esm.min.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/lib/index.d.ts +0 -237
- package/lib/index.js +0 -871
- package/lib/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MSFT_lod-B6edIFfM.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/MSFT_lod.js"],"sourcesContent":["import { Observable } from \"core/Misc/observable\";\nimport { Deferred } from \"core/Misc/deferred\";\nimport { GLTFLoader, ArrayItem } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"MSFT_lod\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/MSFT_lod/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class MSFT_lod {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines a number that determines the order the extensions are applied.\n */\n this.order = 100;\n /**\n * Maximum number of LODs to load, starting from the lowest LOD.\n */\n this.maxLODsToLoad = 10;\n /**\n * Observable raised when all node LODs of one level are loaded.\n * The event data is the index of the loaded LOD starting from zero.\n * Dispose the loader to cancel the loading of the next level of LODs.\n */\n this.onNodeLODsLoadedObservable = new Observable();\n /**\n * Observable raised when all material LODs of one level are loaded.\n * The event data is the index of the loaded LOD starting from zero.\n * Dispose the loader to cancel the loading of the next level of LODs.\n */\n this.onMaterialLODsLoadedObservable = new Observable();\n this._bufferLODs = new Array();\n this._nodeIndexLOD = null;\n this._nodeSignalLODs = new Array();\n this._nodePromiseLODs = new Array();\n this._nodeBufferLODs = new Array();\n this._materialIndexLOD = null;\n this._materialSignalLODs = new Array();\n this._materialPromiseLODs = new Array();\n this._materialBufferLODs = new Array();\n this._loader = loader;\n // Options takes precedence. The maxLODsToLoad extension property is retained for back compat.\n // For new extensions, they should only use options.\n this.maxLODsToLoad = this._loader.parent.extensionOptions[NAME]?.maxLODsToLoad ?? this.maxLODsToLoad;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n this._nodeIndexLOD = null;\n this._nodeSignalLODs.length = 0;\n this._nodePromiseLODs.length = 0;\n this._nodeBufferLODs.length = 0;\n this._materialIndexLOD = null;\n this._materialSignalLODs.length = 0;\n this._materialPromiseLODs.length = 0;\n this._materialBufferLODs.length = 0;\n this.onMaterialLODsLoadedObservable.clear();\n this.onNodeLODsLoadedObservable.clear();\n }\n /** @internal */\n onReady() {\n for (let indexLOD = 0; indexLOD < this._nodePromiseLODs.length; indexLOD++) {\n const promise = Promise.all(this._nodePromiseLODs[indexLOD]).then(() => {\n if (indexLOD !== 0) {\n this._loader.endPerformanceCounter(`Node LOD ${indexLOD}`);\n this._loader.log(`Loaded node LOD ${indexLOD}`);\n }\n this.onNodeLODsLoadedObservable.notifyObservers(indexLOD);\n if (indexLOD !== this._nodePromiseLODs.length - 1) {\n this._loader.startPerformanceCounter(`Node LOD ${indexLOD + 1}`);\n this._loadBufferLOD(this._nodeBufferLODs, indexLOD + 1);\n if (this._nodeSignalLODs[indexLOD]) {\n this._nodeSignalLODs[indexLOD].resolve();\n }\n }\n });\n this._loader._completePromises.push(promise);\n }\n for (let indexLOD = 0; indexLOD < this._materialPromiseLODs.length; indexLOD++) {\n const promise = Promise.all(this._materialPromiseLODs[indexLOD]).then(() => {\n if (indexLOD !== 0) {\n this._loader.endPerformanceCounter(`Material LOD ${indexLOD}`);\n this._loader.log(`Loaded material LOD ${indexLOD}`);\n }\n this.onMaterialLODsLoadedObservable.notifyObservers(indexLOD);\n if (indexLOD !== this._materialPromiseLODs.length - 1) {\n this._loader.startPerformanceCounter(`Material LOD ${indexLOD + 1}`);\n this._loadBufferLOD(this._materialBufferLODs, indexLOD + 1);\n if (this._materialSignalLODs[indexLOD]) {\n this._materialSignalLODs[indexLOD].resolve();\n }\n }\n });\n this._loader._completePromises.push(promise);\n }\n }\n /**\n * @internal\n */\n loadSceneAsync(context, scene) {\n const promise = this._loader.loadSceneAsync(context, scene);\n this._loadBufferLOD(this._bufferLODs, 0);\n return promise;\n }\n /**\n * @internal\n */\n loadNodeAsync(context, node, assign) {\n return GLTFLoader.LoadExtensionAsync(context, node, this.name, (extensionContext, extension) => {\n let firstPromise;\n const nodeLODs = this._getLODs(extensionContext, node, this._loader.gltf.nodes, extension.ids);\n this._loader.logOpen(`${extensionContext}`);\n for (let indexLOD = 0; indexLOD < nodeLODs.length; indexLOD++) {\n const nodeLOD = nodeLODs[indexLOD];\n if (indexLOD !== 0) {\n this._nodeIndexLOD = indexLOD;\n this._nodeSignalLODs[indexLOD] = this._nodeSignalLODs[indexLOD] || new Deferred();\n }\n const assignWrap = (babylonTransformNode) => {\n assign(babylonTransformNode);\n babylonTransformNode.setEnabled(false);\n };\n const promise = this._loader.loadNodeAsync(`/nodes/${nodeLOD.index}`, nodeLOD, assignWrap).then((babylonMesh) => {\n if (indexLOD !== 0) {\n // TODO: should not rely on _babylonTransformNode\n const previousNodeLOD = nodeLODs[indexLOD - 1];\n if (previousNodeLOD._babylonTransformNode) {\n this._disposeTransformNode(previousNodeLOD._babylonTransformNode);\n delete previousNodeLOD._babylonTransformNode;\n }\n }\n babylonMesh.setEnabled(true);\n return babylonMesh;\n });\n this._nodePromiseLODs[indexLOD] = this._nodePromiseLODs[indexLOD] || [];\n if (indexLOD === 0) {\n firstPromise = promise;\n }\n else {\n this._nodeIndexLOD = null;\n this._nodePromiseLODs[indexLOD].push(promise);\n }\n }\n this._loader.logClose();\n return firstPromise;\n });\n }\n /**\n * @internal\n */\n _loadMaterialAsync(context, material, babylonMesh, babylonDrawMode, assign) {\n // Don't load material LODs if already loading a node LOD.\n if (this._nodeIndexLOD) {\n return null;\n }\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n let firstPromise;\n const materialLODs = this._getLODs(extensionContext, material, this._loader.gltf.materials, extension.ids);\n this._loader.logOpen(`${extensionContext}`);\n for (let indexLOD = 0; indexLOD < materialLODs.length; indexLOD++) {\n const materialLOD = materialLODs[indexLOD];\n if (indexLOD !== 0) {\n this._materialIndexLOD = indexLOD;\n }\n const promise = this._loader\n ._loadMaterialAsync(`/materials/${materialLOD.index}`, materialLOD, babylonMesh, babylonDrawMode, (babylonMaterial) => {\n if (indexLOD === 0) {\n assign(babylonMaterial);\n }\n })\n .then((babylonMaterial) => {\n if (indexLOD !== 0) {\n assign(babylonMaterial);\n // TODO: should not rely on _data\n const previousDataLOD = materialLODs[indexLOD - 1]._data;\n if (previousDataLOD[babylonDrawMode]) {\n this._disposeMaterials([previousDataLOD[babylonDrawMode].babylonMaterial]);\n delete previousDataLOD[babylonDrawMode];\n }\n }\n return babylonMaterial;\n });\n this._materialPromiseLODs[indexLOD] = this._materialPromiseLODs[indexLOD] || [];\n if (indexLOD === 0) {\n firstPromise = promise;\n }\n else {\n this._materialIndexLOD = null;\n this._materialPromiseLODs[indexLOD].push(promise);\n }\n }\n this._loader.logClose();\n return firstPromise;\n });\n }\n /**\n * @internal\n */\n _loadUriAsync(context, property, uri) {\n // Defer the loading of uris if loading a node or material LOD.\n if (this._nodeIndexLOD !== null) {\n this._loader.log(`deferred`);\n const previousIndexLOD = this._nodeIndexLOD - 1;\n this._nodeSignalLODs[previousIndexLOD] = this._nodeSignalLODs[previousIndexLOD] || new Deferred();\n return this._nodeSignalLODs[this._nodeIndexLOD - 1].promise.then(() => {\n return this._loader.loadUriAsync(context, property, uri);\n });\n }\n else if (this._materialIndexLOD !== null) {\n this._loader.log(`deferred`);\n const previousIndexLOD = this._materialIndexLOD - 1;\n this._materialSignalLODs[previousIndexLOD] = this._materialSignalLODs[previousIndexLOD] || new Deferred();\n return this._materialSignalLODs[previousIndexLOD].promise.then(() => {\n return this._loader.loadUriAsync(context, property, uri);\n });\n }\n return null;\n }\n /**\n * @internal\n */\n loadBufferAsync(context, buffer, byteOffset, byteLength) {\n if (this._loader.parent.useRangeRequests && !buffer.uri) {\n if (!this._loader.bin) {\n throw new Error(`${context}: Uri is missing or the binary glTF is missing its binary chunk`);\n }\n const loadAsync = (bufferLODs, indexLOD) => {\n const start = byteOffset;\n const end = start + byteLength - 1;\n let bufferLOD = bufferLODs[indexLOD];\n if (bufferLOD) {\n bufferLOD.start = Math.min(bufferLOD.start, start);\n bufferLOD.end = Math.max(bufferLOD.end, end);\n }\n else {\n bufferLOD = { start: start, end: end, loaded: new Deferred() };\n bufferLODs[indexLOD] = bufferLOD;\n }\n return bufferLOD.loaded.promise.then((data) => {\n return new Uint8Array(data.buffer, data.byteOffset + byteOffset - bufferLOD.start, byteLength);\n });\n };\n this._loader.log(`deferred`);\n if (this._nodeIndexLOD !== null) {\n return loadAsync(this._nodeBufferLODs, this._nodeIndexLOD);\n }\n else if (this._materialIndexLOD !== null) {\n return loadAsync(this._materialBufferLODs, this._materialIndexLOD);\n }\n else {\n return loadAsync(this._bufferLODs, 0);\n }\n }\n return null;\n }\n _loadBufferLOD(bufferLODs, indexLOD) {\n const bufferLOD = bufferLODs[indexLOD];\n if (bufferLOD) {\n this._loader.log(`Loading buffer range [${bufferLOD.start}-${bufferLOD.end}]`);\n this._loader.bin.readAsync(bufferLOD.start, bufferLOD.end - bufferLOD.start + 1).then((data) => {\n bufferLOD.loaded.resolve(data);\n }, (error) => {\n bufferLOD.loaded.reject(error);\n });\n }\n }\n /**\n * @returns an array of LOD properties from lowest to highest.\n * @param context\n * @param property\n * @param array\n * @param ids\n */\n _getLODs(context, property, array, ids) {\n if (this.maxLODsToLoad <= 0) {\n throw new Error(\"maxLODsToLoad must be greater than zero\");\n }\n const properties = [];\n for (let i = ids.length - 1; i >= 0; i--) {\n properties.push(ArrayItem.Get(`${context}/ids/${ids[i]}`, array, ids[i]));\n if (properties.length === this.maxLODsToLoad) {\n return properties;\n }\n }\n properties.push(property);\n return properties;\n }\n _disposeTransformNode(babylonTransformNode) {\n const babylonMaterials = [];\n const babylonMaterial = babylonTransformNode.material;\n if (babylonMaterial) {\n babylonMaterials.push(babylonMaterial);\n }\n for (const babylonMesh of babylonTransformNode.getChildMeshes()) {\n if (babylonMesh.material) {\n babylonMaterials.push(babylonMesh.material);\n }\n }\n babylonTransformNode.dispose();\n const babylonMaterialsToDispose = babylonMaterials.filter((babylonMaterial) => this._loader.babylonScene.meshes.every((mesh) => mesh.material != babylonMaterial));\n this._disposeMaterials(babylonMaterialsToDispose);\n }\n _disposeMaterials(babylonMaterials) {\n const babylonTextures = {};\n for (const babylonMaterial of babylonMaterials) {\n for (const babylonTexture of babylonMaterial.getActiveTextures()) {\n babylonTextures[babylonTexture.uniqueId] = babylonTexture;\n }\n babylonMaterial.dispose();\n }\n for (const uniqueId in babylonTextures) {\n for (const babylonMaterial of this._loader.babylonScene.materials) {\n if (babylonMaterial.hasTexture(babylonTextures[uniqueId])) {\n delete babylonTextures[uniqueId];\n }\n }\n }\n for (const uniqueId in babylonTextures) {\n babylonTextures[uniqueId].dispose();\n }\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new MSFT_lod(loader));\n//# sourceMappingURL=MSFT_lod.js.map"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aq as e,aS as s,ak as t,al as r}from"./index-BlF30_Ca.esm.min.js";import{GLTFLoader as i,ArrayItem as o}from"./glTFLoader-BYQ5K9Kt.esm.min.js";import"./rawTexture-BWp9aJpK.esm.min.js";import"./assetContainer-DerZknN4.esm.min.js";import"./glTFLoaderAnimation-CBE8cJ5o.esm.min.js";const n="MSFT_lod";class a{constructor(s){this.name=n,this.order=100,this.maxLODsToLoad=10,this.onNodeLODsLoadedObservable=new e,this.onMaterialLODsLoadedObservable=new e,this._bufferLODs=new Array,this._nodeIndexLOD=null,this._nodeSignalLODs=new Array,this._nodePromiseLODs=new Array,this._nodeBufferLODs=new Array,this._materialIndexLOD=null,this._materialSignalLODs=new Array,this._materialPromiseLODs=new Array,this._materialBufferLODs=new Array,this._loader=s,this.maxLODsToLoad=this._loader.parent.extensionOptions[n]?.maxLODsToLoad??this.maxLODsToLoad,this.enabled=this._loader.isExtensionUsed(n)}dispose(){this._loader=null,this._nodeIndexLOD=null,this._nodeSignalLODs.length=0,this._nodePromiseLODs.length=0,this._nodeBufferLODs.length=0,this._materialIndexLOD=null,this._materialSignalLODs.length=0,this._materialPromiseLODs.length=0,this._materialBufferLODs.length=0,this.onMaterialLODsLoadedObservable.clear(),this.onNodeLODsLoadedObservable.clear()}onReady(){for(let e=0;e<this._nodePromiseLODs.length;e++){const s=Promise.all(this._nodePromiseLODs[e]).then((()=>{0!==e&&(this._loader.endPerformanceCounter(`Node LOD ${e}`),this._loader.log(`Loaded node LOD ${e}`)),this.onNodeLODsLoadedObservable.notifyObservers(e),e!==this._nodePromiseLODs.length-1&&(this._loader.startPerformanceCounter(`Node LOD ${e+1}`),this._loadBufferLOD(this._nodeBufferLODs,e+1),this._nodeSignalLODs[e]&&this._nodeSignalLODs[e].resolve())}));this._loader._completePromises.push(s)}for(let e=0;e<this._materialPromiseLODs.length;e++){const s=Promise.all(this._materialPromiseLODs[e]).then((()=>{0!==e&&(this._loader.endPerformanceCounter(`Material LOD ${e}`),this._loader.log(`Loaded material LOD ${e}`)),this.onMaterialLODsLoadedObservable.notifyObservers(e),e!==this._materialPromiseLODs.length-1&&(this._loader.startPerformanceCounter(`Material LOD ${e+1}`),this._loadBufferLOD(this._materialBufferLODs,e+1),this._materialSignalLODs[e]&&this._materialSignalLODs[e].resolve())}));this._loader._completePromises.push(s)}}loadSceneAsync(e,s){const t=this._loader.loadSceneAsync(e,s);return this._loadBufferLOD(this._bufferLODs,0),t}loadNodeAsync(e,t,r){return i.LoadExtensionAsync(e,t,this.name,((e,i)=>{let o;const n=this._getLODs(e,t,this._loader.gltf.nodes,i.ids);this._loader.logOpen(`${e}`);for(let e=0;e<n.length;e++){const t=n[e];0!==e&&(this._nodeIndexLOD=e,this._nodeSignalLODs[e]=this._nodeSignalLODs[e]||new s);const i=e=>{r(e),e.setEnabled(!1)},a=this._loader.loadNodeAsync(`/nodes/${t.index}`,t,i).then((s=>{if(0!==e){const s=n[e-1];s._babylonTransformNode&&(this._disposeTransformNode(s._babylonTransformNode),delete s._babylonTransformNode)}return s.setEnabled(!0),s}));this._nodePromiseLODs[e]=this._nodePromiseLODs[e]||[],0===e?o=a:(this._nodeIndexLOD=null,this._nodePromiseLODs[e].push(a))}return this._loader.logClose(),o}))}_loadMaterialAsync(e,s,t,r,o){return this._nodeIndexLOD?null:i.LoadExtensionAsync(e,s,this.name,((e,i)=>{let n;const a=this._getLODs(e,s,this._loader.gltf.materials,i.ids);this._loader.logOpen(`${e}`);for(let e=0;e<a.length;e++){const s=a[e];0!==e&&(this._materialIndexLOD=e);const i=this._loader._loadMaterialAsync(`/materials/${s.index}`,s,t,r,(s=>{0===e&&o(s)})).then((s=>{if(0!==e){o(s);const t=a[e-1]._data;t[r]&&(this._disposeMaterials([t[r].babylonMaterial]),delete t[r])}return s}));this._materialPromiseLODs[e]=this._materialPromiseLODs[e]||[],0===e?n=i:(this._materialIndexLOD=null,this._materialPromiseLODs[e].push(i))}return this._loader.logClose(),n}))}_loadUriAsync(e,t,r){if(null!==this._nodeIndexLOD){this._loader.log("deferred");const i=this._nodeIndexLOD-1;return this._nodeSignalLODs[i]=this._nodeSignalLODs[i]||new s,this._nodeSignalLODs[this._nodeIndexLOD-1].promise.then((()=>this._loader.loadUriAsync(e,t,r)))}if(null!==this._materialIndexLOD){this._loader.log("deferred");const i=this._materialIndexLOD-1;return this._materialSignalLODs[i]=this._materialSignalLODs[i]||new s,this._materialSignalLODs[i].promise.then((()=>this._loader.loadUriAsync(e,t,r)))}return null}loadBufferAsync(e,t,r,i){if(this._loader.parent.useRangeRequests&&!t.uri){if(!this._loader.bin)throw new Error(`${e}: Uri is missing or the binary glTF is missing its binary chunk`);const t=(e,t)=>{const o=r,n=o+i-1;let a=e[t];return a?(a.start=Math.min(a.start,o),a.end=Math.max(a.end,n)):(a={start:o,end:n,loaded:new s},e[t]=a),a.loaded.promise.then((e=>new Uint8Array(e.buffer,e.byteOffset+r-a.start,i)))};return this._loader.log("deferred"),null!==this._nodeIndexLOD?t(this._nodeBufferLODs,this._nodeIndexLOD):null!==this._materialIndexLOD?t(this._materialBufferLODs,this._materialIndexLOD):t(this._bufferLODs,0)}return null}_loadBufferLOD(e,s){const t=e[s];t&&(this._loader.log(`Loading buffer range [${t.start}-${t.end}]`),this._loader.bin.readAsync(t.start,t.end-t.start+1).then((e=>{t.loaded.resolve(e)}),(e=>{t.loaded.reject(e)})))}_getLODs(e,s,t,r){if(this.maxLODsToLoad<=0)throw new Error("maxLODsToLoad must be greater than zero");const i=[];for(let s=r.length-1;s>=0;s--)if(i.push(o.Get(`${e}/ids/${r[s]}`,t,r[s])),i.length===this.maxLODsToLoad)return i;return i.push(s),i}_disposeTransformNode(e){const s=[],t=e.material;t&&s.push(t);for(const t of e.getChildMeshes())t.material&&s.push(t.material);e.dispose();const r=s.filter((e=>this._loader.babylonScene.meshes.every((s=>s.material!=e))));this._disposeMaterials(r)}_disposeMaterials(e){const s={};for(const t of e){for(const e of t.getActiveTextures())s[e.uniqueId]=e;t.dispose()}for(const e in s)for(const t of this._loader.babylonScene.materials)t.hasTexture(s[e])&&delete s[e];for(const e in s)s[e].dispose()}}t(n),r(n,!0,(e=>new a(e)));export{a as MSFT_lod};
|
|
2
|
-
//# sourceMappingURL=MSFT_lod-CTqZxsr6.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MSFT_lod-CTqZxsr6.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/MSFT_lod.js"],"sourcesContent":["import { Observable } from \"core/Misc/observable\";\nimport { Deferred } from \"core/Misc/deferred\";\nimport { GLTFLoader, ArrayItem } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"MSFT_lod\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/MSFT_lod/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class MSFT_lod {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines a number that determines the order the extensions are applied.\n */\n this.order = 100;\n /**\n * Maximum number of LODs to load, starting from the lowest LOD.\n */\n this.maxLODsToLoad = 10;\n /**\n * Observable raised when all node LODs of one level are loaded.\n * The event data is the index of the loaded LOD starting from zero.\n * Dispose the loader to cancel the loading of the next level of LODs.\n */\n this.onNodeLODsLoadedObservable = new Observable();\n /**\n * Observable raised when all material LODs of one level are loaded.\n * The event data is the index of the loaded LOD starting from zero.\n * Dispose the loader to cancel the loading of the next level of LODs.\n */\n this.onMaterialLODsLoadedObservable = new Observable();\n this._bufferLODs = new Array();\n this._nodeIndexLOD = null;\n this._nodeSignalLODs = new Array();\n this._nodePromiseLODs = new Array();\n this._nodeBufferLODs = new Array();\n this._materialIndexLOD = null;\n this._materialSignalLODs = new Array();\n this._materialPromiseLODs = new Array();\n this._materialBufferLODs = new Array();\n this._loader = loader;\n // Options takes precedence. The maxLODsToLoad extension property is retained for back compat.\n // For new extensions, they should only use options.\n this.maxLODsToLoad = this._loader.parent.extensionOptions[NAME]?.maxLODsToLoad ?? this.maxLODsToLoad;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n this._nodeIndexLOD = null;\n this._nodeSignalLODs.length = 0;\n this._nodePromiseLODs.length = 0;\n this._nodeBufferLODs.length = 0;\n this._materialIndexLOD = null;\n this._materialSignalLODs.length = 0;\n this._materialPromiseLODs.length = 0;\n this._materialBufferLODs.length = 0;\n this.onMaterialLODsLoadedObservable.clear();\n this.onNodeLODsLoadedObservable.clear();\n }\n /** @internal */\n onReady() {\n for (let indexLOD = 0; indexLOD < this._nodePromiseLODs.length; indexLOD++) {\n const promise = Promise.all(this._nodePromiseLODs[indexLOD]).then(() => {\n if (indexLOD !== 0) {\n this._loader.endPerformanceCounter(`Node LOD ${indexLOD}`);\n this._loader.log(`Loaded node LOD ${indexLOD}`);\n }\n this.onNodeLODsLoadedObservable.notifyObservers(indexLOD);\n if (indexLOD !== this._nodePromiseLODs.length - 1) {\n this._loader.startPerformanceCounter(`Node LOD ${indexLOD + 1}`);\n this._loadBufferLOD(this._nodeBufferLODs, indexLOD + 1);\n if (this._nodeSignalLODs[indexLOD]) {\n this._nodeSignalLODs[indexLOD].resolve();\n }\n }\n });\n this._loader._completePromises.push(promise);\n }\n for (let indexLOD = 0; indexLOD < this._materialPromiseLODs.length; indexLOD++) {\n const promise = Promise.all(this._materialPromiseLODs[indexLOD]).then(() => {\n if (indexLOD !== 0) {\n this._loader.endPerformanceCounter(`Material LOD ${indexLOD}`);\n this._loader.log(`Loaded material LOD ${indexLOD}`);\n }\n this.onMaterialLODsLoadedObservable.notifyObservers(indexLOD);\n if (indexLOD !== this._materialPromiseLODs.length - 1) {\n this._loader.startPerformanceCounter(`Material LOD ${indexLOD + 1}`);\n this._loadBufferLOD(this._materialBufferLODs, indexLOD + 1);\n if (this._materialSignalLODs[indexLOD]) {\n this._materialSignalLODs[indexLOD].resolve();\n }\n }\n });\n this._loader._completePromises.push(promise);\n }\n }\n /**\n * @internal\n */\n loadSceneAsync(context, scene) {\n const promise = this._loader.loadSceneAsync(context, scene);\n this._loadBufferLOD(this._bufferLODs, 0);\n return promise;\n }\n /**\n * @internal\n */\n loadNodeAsync(context, node, assign) {\n return GLTFLoader.LoadExtensionAsync(context, node, this.name, (extensionContext, extension) => {\n let firstPromise;\n const nodeLODs = this._getLODs(extensionContext, node, this._loader.gltf.nodes, extension.ids);\n this._loader.logOpen(`${extensionContext}`);\n for (let indexLOD = 0; indexLOD < nodeLODs.length; indexLOD++) {\n const nodeLOD = nodeLODs[indexLOD];\n if (indexLOD !== 0) {\n this._nodeIndexLOD = indexLOD;\n this._nodeSignalLODs[indexLOD] = this._nodeSignalLODs[indexLOD] || new Deferred();\n }\n const assignWrap = (babylonTransformNode) => {\n assign(babylonTransformNode);\n babylonTransformNode.setEnabled(false);\n };\n const promise = this._loader.loadNodeAsync(`/nodes/${nodeLOD.index}`, nodeLOD, assignWrap).then((babylonMesh) => {\n if (indexLOD !== 0) {\n // TODO: should not rely on _babylonTransformNode\n const previousNodeLOD = nodeLODs[indexLOD - 1];\n if (previousNodeLOD._babylonTransformNode) {\n this._disposeTransformNode(previousNodeLOD._babylonTransformNode);\n delete previousNodeLOD._babylonTransformNode;\n }\n }\n babylonMesh.setEnabled(true);\n return babylonMesh;\n });\n this._nodePromiseLODs[indexLOD] = this._nodePromiseLODs[indexLOD] || [];\n if (indexLOD === 0) {\n firstPromise = promise;\n }\n else {\n this._nodeIndexLOD = null;\n this._nodePromiseLODs[indexLOD].push(promise);\n }\n }\n this._loader.logClose();\n return firstPromise;\n });\n }\n /**\n * @internal\n */\n _loadMaterialAsync(context, material, babylonMesh, babylonDrawMode, assign) {\n // Don't load material LODs if already loading a node LOD.\n if (this._nodeIndexLOD) {\n return null;\n }\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n let firstPromise;\n const materialLODs = this._getLODs(extensionContext, material, this._loader.gltf.materials, extension.ids);\n this._loader.logOpen(`${extensionContext}`);\n for (let indexLOD = 0; indexLOD < materialLODs.length; indexLOD++) {\n const materialLOD = materialLODs[indexLOD];\n if (indexLOD !== 0) {\n this._materialIndexLOD = indexLOD;\n }\n const promise = this._loader\n ._loadMaterialAsync(`/materials/${materialLOD.index}`, materialLOD, babylonMesh, babylonDrawMode, (babylonMaterial) => {\n if (indexLOD === 0) {\n assign(babylonMaterial);\n }\n })\n .then((babylonMaterial) => {\n if (indexLOD !== 0) {\n assign(babylonMaterial);\n // TODO: should not rely on _data\n const previousDataLOD = materialLODs[indexLOD - 1]._data;\n if (previousDataLOD[babylonDrawMode]) {\n this._disposeMaterials([previousDataLOD[babylonDrawMode].babylonMaterial]);\n delete previousDataLOD[babylonDrawMode];\n }\n }\n return babylonMaterial;\n });\n this._materialPromiseLODs[indexLOD] = this._materialPromiseLODs[indexLOD] || [];\n if (indexLOD === 0) {\n firstPromise = promise;\n }\n else {\n this._materialIndexLOD = null;\n this._materialPromiseLODs[indexLOD].push(promise);\n }\n }\n this._loader.logClose();\n return firstPromise;\n });\n }\n /**\n * @internal\n */\n _loadUriAsync(context, property, uri) {\n // Defer the loading of uris if loading a node or material LOD.\n if (this._nodeIndexLOD !== null) {\n this._loader.log(`deferred`);\n const previousIndexLOD = this._nodeIndexLOD - 1;\n this._nodeSignalLODs[previousIndexLOD] = this._nodeSignalLODs[previousIndexLOD] || new Deferred();\n return this._nodeSignalLODs[this._nodeIndexLOD - 1].promise.then(() => {\n return this._loader.loadUriAsync(context, property, uri);\n });\n }\n else if (this._materialIndexLOD !== null) {\n this._loader.log(`deferred`);\n const previousIndexLOD = this._materialIndexLOD - 1;\n this._materialSignalLODs[previousIndexLOD] = this._materialSignalLODs[previousIndexLOD] || new Deferred();\n return this._materialSignalLODs[previousIndexLOD].promise.then(() => {\n return this._loader.loadUriAsync(context, property, uri);\n });\n }\n return null;\n }\n /**\n * @internal\n */\n loadBufferAsync(context, buffer, byteOffset, byteLength) {\n if (this._loader.parent.useRangeRequests && !buffer.uri) {\n if (!this._loader.bin) {\n throw new Error(`${context}: Uri is missing or the binary glTF is missing its binary chunk`);\n }\n const loadAsync = (bufferLODs, indexLOD) => {\n const start = byteOffset;\n const end = start + byteLength - 1;\n let bufferLOD = bufferLODs[indexLOD];\n if (bufferLOD) {\n bufferLOD.start = Math.min(bufferLOD.start, start);\n bufferLOD.end = Math.max(bufferLOD.end, end);\n }\n else {\n bufferLOD = { start: start, end: end, loaded: new Deferred() };\n bufferLODs[indexLOD] = bufferLOD;\n }\n return bufferLOD.loaded.promise.then((data) => {\n return new Uint8Array(data.buffer, data.byteOffset + byteOffset - bufferLOD.start, byteLength);\n });\n };\n this._loader.log(`deferred`);\n if (this._nodeIndexLOD !== null) {\n return loadAsync(this._nodeBufferLODs, this._nodeIndexLOD);\n }\n else if (this._materialIndexLOD !== null) {\n return loadAsync(this._materialBufferLODs, this._materialIndexLOD);\n }\n else {\n return loadAsync(this._bufferLODs, 0);\n }\n }\n return null;\n }\n _loadBufferLOD(bufferLODs, indexLOD) {\n const bufferLOD = bufferLODs[indexLOD];\n if (bufferLOD) {\n this._loader.log(`Loading buffer range [${bufferLOD.start}-${bufferLOD.end}]`);\n this._loader.bin.readAsync(bufferLOD.start, bufferLOD.end - bufferLOD.start + 1).then((data) => {\n bufferLOD.loaded.resolve(data);\n }, (error) => {\n bufferLOD.loaded.reject(error);\n });\n }\n }\n /**\n * @returns an array of LOD properties from lowest to highest.\n * @param context\n * @param property\n * @param array\n * @param ids\n */\n _getLODs(context, property, array, ids) {\n if (this.maxLODsToLoad <= 0) {\n throw new Error(\"maxLODsToLoad must be greater than zero\");\n }\n const properties = [];\n for (let i = ids.length - 1; i >= 0; i--) {\n properties.push(ArrayItem.Get(`${context}/ids/${ids[i]}`, array, ids[i]));\n if (properties.length === this.maxLODsToLoad) {\n return properties;\n }\n }\n properties.push(property);\n return properties;\n }\n _disposeTransformNode(babylonTransformNode) {\n const babylonMaterials = [];\n const babylonMaterial = babylonTransformNode.material;\n if (babylonMaterial) {\n babylonMaterials.push(babylonMaterial);\n }\n for (const babylonMesh of babylonTransformNode.getChildMeshes()) {\n if (babylonMesh.material) {\n babylonMaterials.push(babylonMesh.material);\n }\n }\n babylonTransformNode.dispose();\n const babylonMaterialsToDispose = babylonMaterials.filter((babylonMaterial) => this._loader.babylonScene.meshes.every((mesh) => mesh.material != babylonMaterial));\n this._disposeMaterials(babylonMaterialsToDispose);\n }\n _disposeMaterials(babylonMaterials) {\n const babylonTextures = {};\n for (const babylonMaterial of babylonMaterials) {\n for (const babylonTexture of babylonMaterial.getActiveTextures()) {\n babylonTextures[babylonTexture.uniqueId] = babylonTexture;\n }\n babylonMaterial.dispose();\n }\n for (const uniqueId in babylonTextures) {\n for (const babylonMaterial of this._loader.babylonScene.materials) {\n if (babylonMaterial.hasTexture(babylonTextures[uniqueId])) {\n delete babylonTextures[uniqueId];\n }\n }\n }\n for (const uniqueId in babylonTextures) {\n babylonTextures[uniqueId].dispose();\n }\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new MSFT_lod(loader));\n//# sourceMappingURL=MSFT_lod.js.map"],"names":["NAME","MSFT_lod","constructor","loader","this","name","order","maxLODsToLoad","onNodeLODsLoadedObservable","Observable","onMaterialLODsLoadedObservable","_bufferLODs","Array","_nodeIndexLOD","_nodeSignalLODs","_nodePromiseLODs","_nodeBufferLODs","_materialIndexLOD","_materialSignalLODs","_materialPromiseLODs","_materialBufferLODs","_loader","parent","extensionOptions","enabled","isExtensionUsed","dispose","length","clear","onReady","indexLOD","promise","Promise","all","then","endPerformanceCounter","log","notifyObservers","startPerformanceCounter","_loadBufferLOD","resolve","_completePromises","push","loadSceneAsync","context","scene","loadNodeAsync","node","assign","GLTFLoader","LoadExtensionAsync","extensionContext","extension","firstPromise","nodeLODs","_getLODs","gltf","nodes","ids","logOpen","nodeLOD","Deferred","assignWrap","babylonTransformNode","setEnabled","index","babylonMesh","previousNodeLOD","_babylonTransformNode","_disposeTransformNode","logClose","_loadMaterialAsync","material","babylonDrawMode","materialLODs","materials","materialLOD","babylonMaterial","previousDataLOD","_data","_disposeMaterials","_loadUriAsync","property","uri","previousIndexLOD","loadUriAsync","loadBufferAsync","buffer","byteOffset","byteLength","useRangeRequests","bin","Error","loadAsync","bufferLODs","start","end","bufferLOD","Math","min","max","loaded","data","Uint8Array","readAsync","error","reject","array","properties","i","ArrayItem","Get","babylonMaterials","getChildMeshes","babylonMaterialsToDispose","filter","babylonScene","meshes","every","mesh","babylonTextures","babylonTexture","getActiveTextures","uniqueId","hasTexture","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ax as e,ak as r,al as t}from"./index-BlF30_Ca.esm.min.js";import{GLTFLoader as s}from"./glTFLoader-BYQ5K9Kt.esm.min.js";import"./rawTexture-BWp9aJpK.esm.min.js";import"./assetContainer-DerZknN4.esm.min.js";import"./glTFLoaderAnimation-CBE8cJ5o.esm.min.js";const i="MSFT_minecraftMesh";class a{constructor(e){this.name=i,this._loader=e,this.enabled=this._loader.isExtensionUsed(i)}dispose(){this._loader=null}loadMaterialPropertiesAsync(r,t,i){return s.LoadExtraAsync(r,t,this.name,((s,a)=>{if(a){if(!(i instanceof e))throw new Error(`${s}: Material type not supported`);const a=this._loader.loadMaterialPropertiesAsync(r,t,i);return i.needAlphaBlending()&&(i.forceDepthWrite=!0,i.separateCullingPass=!0),i.backFaceCulling=i.forceDepthWrite,i.twoSidedLighting=!0,a}return null}))}}r(i),t(i,!0,(e=>new a(e)));export{a as MSFT_minecraftMesh};
|
|
2
|
-
//# sourceMappingURL=MSFT_minecraftMesh-BQ2-yi3j.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MSFT_minecraftMesh-BQ2-yi3j.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/MSFT_minecraftMesh.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"MSFT_minecraftMesh\";\n/** @internal */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class MSFT_minecraftMesh {\n /** @internal */\n constructor(loader) {\n /** @internal */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /** @internal */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtraAsync(context, material, this.name, (extraContext, extra) => {\n if (extra) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${extraContext}: Material type not supported`);\n }\n const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);\n if (babylonMaterial.needAlphaBlending()) {\n babylonMaterial.forceDepthWrite = true;\n babylonMaterial.separateCullingPass = true;\n }\n babylonMaterial.backFaceCulling = babylonMaterial.forceDepthWrite;\n babylonMaterial.twoSidedLighting = true;\n return promise;\n }\n return null;\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new MSFT_minecraftMesh(loader));\n//# sourceMappingURL=MSFT_minecraftMesh.js.map"],"names":["NAME","MSFT_minecraftMesh","constructor","loader","this","name","_loader","enabled","isExtensionUsed","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtraAsync","extraContext","extra","PBRMaterial","Error","promise","needAlphaBlending","forceDepthWrite","separateCullingPass","backFaceCulling","twoSidedLighting","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"uQAGA,MAAMA,EAAO,qBAGN,MAAMC,EAET,WAAAC,CAAYC,GAERC,KAAKC,KAAOL,EACZI,KAAKE,QAAUH,EACfC,KAAKG,QAAUH,KAAKE,QAAQE,gBAAgBR,EAC/C,CAED,OAAAS,GACIL,KAAKE,QAAU,IAClB,CAED,2BAAAI,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,eAAeJ,EAASC,EAAUR,KAAKC,MAAM,CAACW,EAAcC,KAC1E,GAAIA,EAAO,CACP,KAAMJ,aAA2BK,GAC7B,MAAM,IAAIC,MAAM,GAAGH,kCAEvB,MAAMI,EAAUhB,KAAKE,QAAQI,4BAA4BC,EAASC,EAAUC,GAO5E,OANIA,EAAgBQ,sBAChBR,EAAgBS,iBAAkB,EAClCT,EAAgBU,qBAAsB,GAE1CV,EAAgBW,gBAAkBX,EAAgBS,gBAClDT,EAAgBY,kBAAmB,EAC5BL,CACV,CACD,OAAO,IAAI,GAElB,EAELM,EAAwB1B,GACxB2B,EAAsB3B,GAAM,GAAOG,GAAW,IAAIF,EAAmBE"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { ax as PBRMaterial, ak as unregisterGLTFExtension, al as registerGLTFExtension } from './index-Bk29Qt-Y.esm.js';
|
|
2
|
-
import { GLTFLoader } from './glTFLoader-r35szQk2.esm.js';
|
|
3
|
-
import './rawTexture-3oLvc_tp.esm.js';
|
|
4
|
-
import './assetContainer-D7kzzGaF.esm.js';
|
|
5
|
-
import './glTFLoaderAnimation-CT3NxYwM.esm.js';
|
|
6
|
-
|
|
7
|
-
const NAME = "MSFT_minecraftMesh";
|
|
8
|
-
/** @internal */
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
10
|
-
class MSFT_minecraftMesh {
|
|
11
|
-
/** @internal */
|
|
12
|
-
constructor(loader) {
|
|
13
|
-
/** @internal */
|
|
14
|
-
this.name = NAME;
|
|
15
|
-
this._loader = loader;
|
|
16
|
-
this.enabled = this._loader.isExtensionUsed(NAME);
|
|
17
|
-
}
|
|
18
|
-
/** @internal */
|
|
19
|
-
dispose() {
|
|
20
|
-
this._loader = null;
|
|
21
|
-
}
|
|
22
|
-
/** @internal */
|
|
23
|
-
loadMaterialPropertiesAsync(context, material, babylonMaterial) {
|
|
24
|
-
return GLTFLoader.LoadExtraAsync(context, material, this.name, (extraContext, extra) => {
|
|
25
|
-
if (extra) {
|
|
26
|
-
if (!(babylonMaterial instanceof PBRMaterial)) {
|
|
27
|
-
throw new Error(`${extraContext}: Material type not supported`);
|
|
28
|
-
}
|
|
29
|
-
const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);
|
|
30
|
-
if (babylonMaterial.needAlphaBlending()) {
|
|
31
|
-
babylonMaterial.forceDepthWrite = true;
|
|
32
|
-
babylonMaterial.separateCullingPass = true;
|
|
33
|
-
}
|
|
34
|
-
babylonMaterial.backFaceCulling = babylonMaterial.forceDepthWrite;
|
|
35
|
-
babylonMaterial.twoSidedLighting = true;
|
|
36
|
-
return promise;
|
|
37
|
-
}
|
|
38
|
-
return null;
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
unregisterGLTFExtension(NAME);
|
|
43
|
-
registerGLTFExtension(NAME, true, (loader) => new MSFT_minecraftMesh(loader));
|
|
44
|
-
|
|
45
|
-
export { MSFT_minecraftMesh };
|
|
46
|
-
//# sourceMappingURL=MSFT_minecraftMesh-utO1z3Rb.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MSFT_minecraftMesh-utO1z3Rb.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/MSFT_minecraftMesh.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"MSFT_minecraftMesh\";\n/** @internal */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class MSFT_minecraftMesh {\n /** @internal */\n constructor(loader) {\n /** @internal */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /** @internal */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtraAsync(context, material, this.name, (extraContext, extra) => {\n if (extra) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${extraContext}: Material type not supported`);\n }\n const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);\n if (babylonMaterial.needAlphaBlending()) {\n babylonMaterial.forceDepthWrite = true;\n babylonMaterial.separateCullingPass = true;\n }\n babylonMaterial.backFaceCulling = babylonMaterial.forceDepthWrite;\n babylonMaterial.twoSidedLighting = true;\n return promise;\n }\n return null;\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new MSFT_minecraftMesh(loader));\n//# sourceMappingURL=MSFT_minecraftMesh.js.map"],"names":[],"mappings":";;;;;;AAGA,MAAM,IAAI,GAAG,oBAAoB,CAAC;AAClC;AACA;AACO,MAAM,kBAAkB,CAAC;AAChC;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AAC9B,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC1D,KAAK;AACL;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAC5B,KAAK;AACL;AACA,IAAI,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;AACpE,QAAQ,OAAO,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,KAAK,KAAK;AAChG,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,IAAI,EAAE,eAAe,YAAY,WAAW,CAAC,EAAE;AAC/D,oBAAoB,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,6BAA6B,CAAC,CAAC,CAAC;AACpF,iBAAiB;AACjB,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;AAC7G,gBAAgB,IAAI,eAAe,CAAC,iBAAiB,EAAE,EAAE;AACzD,oBAAoB,eAAe,CAAC,eAAe,GAAG,IAAI,CAAC;AAC3D,oBAAoB,eAAe,CAAC,mBAAmB,GAAG,IAAI,CAAC;AAC/D,iBAAiB;AACjB,gBAAgB,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;AAClF,gBAAgB,eAAe,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACxD,gBAAgB,OAAO,OAAO,CAAC;AAC/B,aAAa;AACb,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS,CAAC,CAAC;AACX,KAAK;AACL,CAAC;AACD,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;;;;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ax as e,ak as r,al as o}from"./index-BlF30_Ca.esm.min.js";import{GLTFLoader as t}from"./glTFLoader-BYQ5K9Kt.esm.min.js";import"./rawTexture-BWp9aJpK.esm.min.js";import"./assetContainer-DerZknN4.esm.min.js";import"./glTFLoaderAnimation-CBE8cJ5o.esm.min.js";const s="MSFT_sRGBFactors";class i{constructor(e){this.name=s,this._loader=e,this.enabled=this._loader.isExtensionUsed(s)}dispose(){this._loader=null}loadMaterialPropertiesAsync(r,o,s){return t.LoadExtraAsync(r,o,this.name,((t,i)=>{if(i){if(!(s instanceof e))throw new Error(`${t}: Material type not supported`);const i=this._loader.loadMaterialPropertiesAsync(r,o,s),a=s.getScene().getEngine().useExactSrgbConversions;return s.albedoTexture||s.albedoColor.toLinearSpaceToRef(s.albedoColor,a),s.reflectivityTexture||s.reflectivityColor.toLinearSpaceToRef(s.reflectivityColor,a),i}return null}))}}r(s),o(s,!0,(e=>new i(e)));export{i as MSFT_sRGBFactors};
|
|
2
|
-
//# sourceMappingURL=MSFT_sRGBFactors-DcH5vUrm.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MSFT_sRGBFactors-DcH5vUrm.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/MSFT_sRGBFactors.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"MSFT_sRGBFactors\";\n/** @internal */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class MSFT_sRGBFactors {\n /** @internal */\n constructor(loader) {\n /** @internal */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /** @internal */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtraAsync(context, material, this.name, (extraContext, extra) => {\n if (extra) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${extraContext}: Material type not supported`);\n }\n const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);\n const useExactSrgbConversions = babylonMaterial.getScene().getEngine().useExactSrgbConversions;\n if (!babylonMaterial.albedoTexture) {\n babylonMaterial.albedoColor.toLinearSpaceToRef(babylonMaterial.albedoColor, useExactSrgbConversions);\n }\n if (!babylonMaterial.reflectivityTexture) {\n babylonMaterial.reflectivityColor.toLinearSpaceToRef(babylonMaterial.reflectivityColor, useExactSrgbConversions);\n }\n return promise;\n }\n return null;\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new MSFT_sRGBFactors(loader));\n//# sourceMappingURL=MSFT_sRGBFactors.js.map"],"names":["NAME","MSFT_sRGBFactors","constructor","loader","this","name","_loader","enabled","isExtensionUsed","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtraAsync","extraContext","extra","PBRMaterial","Error","promise","useExactSrgbConversions","getScene","getEngine","albedoTexture","albedoColor","toLinearSpaceToRef","reflectivityTexture","reflectivityColor","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"uQAGA,MAAMA,EAAO,mBAGN,MAAMC,EAET,WAAAC,CAAYC,GAERC,KAAKC,KAAOL,EACZI,KAAKE,QAAUH,EACfC,KAAKG,QAAUH,KAAKE,QAAQE,gBAAgBR,EAC/C,CAED,OAAAS,GACIL,KAAKE,QAAU,IAClB,CAED,2BAAAI,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,eAAeJ,EAASC,EAAUR,KAAKC,MAAM,CAACW,EAAcC,KAC1E,GAAIA,EAAO,CACP,KAAMJ,aAA2BK,GAC7B,MAAM,IAAIC,MAAM,GAAGH,kCAEvB,MAAMI,EAAUhB,KAAKE,QAAQI,4BAA4BC,EAASC,EAAUC,GACtEQ,EAA0BR,EAAgBS,WAAWC,YAAYF,wBAOvE,OANKR,EAAgBW,eACjBX,EAAgBY,YAAYC,mBAAmBb,EAAgBY,YAAaJ,GAE3ER,EAAgBc,qBACjBd,EAAgBe,kBAAkBF,mBAAmBb,EAAgBe,kBAAmBP,GAErFD,CACV,CACD,OAAO,IAAI,GAElB,EAELS,EAAwB7B,GACxB8B,EAAsB9B,GAAM,GAAOG,GAAW,IAAIF,EAAiBE"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { ax as PBRMaterial, ak as unregisterGLTFExtension, al as registerGLTFExtension } from './index-Bk29Qt-Y.esm.js';
|
|
2
|
-
import { GLTFLoader } from './glTFLoader-r35szQk2.esm.js';
|
|
3
|
-
import './rawTexture-3oLvc_tp.esm.js';
|
|
4
|
-
import './assetContainer-D7kzzGaF.esm.js';
|
|
5
|
-
import './glTFLoaderAnimation-CT3NxYwM.esm.js';
|
|
6
|
-
|
|
7
|
-
const NAME = "MSFT_sRGBFactors";
|
|
8
|
-
/** @internal */
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
10
|
-
class MSFT_sRGBFactors {
|
|
11
|
-
/** @internal */
|
|
12
|
-
constructor(loader) {
|
|
13
|
-
/** @internal */
|
|
14
|
-
this.name = NAME;
|
|
15
|
-
this._loader = loader;
|
|
16
|
-
this.enabled = this._loader.isExtensionUsed(NAME);
|
|
17
|
-
}
|
|
18
|
-
/** @internal */
|
|
19
|
-
dispose() {
|
|
20
|
-
this._loader = null;
|
|
21
|
-
}
|
|
22
|
-
/** @internal */
|
|
23
|
-
loadMaterialPropertiesAsync(context, material, babylonMaterial) {
|
|
24
|
-
return GLTFLoader.LoadExtraAsync(context, material, this.name, (extraContext, extra) => {
|
|
25
|
-
if (extra) {
|
|
26
|
-
if (!(babylonMaterial instanceof PBRMaterial)) {
|
|
27
|
-
throw new Error(`${extraContext}: Material type not supported`);
|
|
28
|
-
}
|
|
29
|
-
const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);
|
|
30
|
-
const useExactSrgbConversions = babylonMaterial.getScene().getEngine().useExactSrgbConversions;
|
|
31
|
-
if (!babylonMaterial.albedoTexture) {
|
|
32
|
-
babylonMaterial.albedoColor.toLinearSpaceToRef(babylonMaterial.albedoColor, useExactSrgbConversions);
|
|
33
|
-
}
|
|
34
|
-
if (!babylonMaterial.reflectivityTexture) {
|
|
35
|
-
babylonMaterial.reflectivityColor.toLinearSpaceToRef(babylonMaterial.reflectivityColor, useExactSrgbConversions);
|
|
36
|
-
}
|
|
37
|
-
return promise;
|
|
38
|
-
}
|
|
39
|
-
return null;
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
unregisterGLTFExtension(NAME);
|
|
44
|
-
registerGLTFExtension(NAME, true, (loader) => new MSFT_sRGBFactors(loader));
|
|
45
|
-
|
|
46
|
-
export { MSFT_sRGBFactors };
|
|
47
|
-
//# sourceMappingURL=MSFT_sRGBFactors-Dxlg_cnl.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MSFT_sRGBFactors-Dxlg_cnl.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/MSFT_sRGBFactors.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"MSFT_sRGBFactors\";\n/** @internal */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class MSFT_sRGBFactors {\n /** @internal */\n constructor(loader) {\n /** @internal */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /** @internal */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtraAsync(context, material, this.name, (extraContext, extra) => {\n if (extra) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${extraContext}: Material type not supported`);\n }\n const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);\n const useExactSrgbConversions = babylonMaterial.getScene().getEngine().useExactSrgbConversions;\n if (!babylonMaterial.albedoTexture) {\n babylonMaterial.albedoColor.toLinearSpaceToRef(babylonMaterial.albedoColor, useExactSrgbConversions);\n }\n if (!babylonMaterial.reflectivityTexture) {\n babylonMaterial.reflectivityColor.toLinearSpaceToRef(babylonMaterial.reflectivityColor, useExactSrgbConversions);\n }\n return promise;\n }\n return null;\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new MSFT_sRGBFactors(loader));\n//# sourceMappingURL=MSFT_sRGBFactors.js.map"],"names":[],"mappings":";;;;;;AAGA,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAChC;AACA;AACO,MAAM,gBAAgB,CAAC;AAC9B;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AAC9B,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC1D,KAAK;AACL;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAC5B,KAAK;AACL;AACA,IAAI,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;AACpE,QAAQ,OAAO,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,KAAK,KAAK;AAChG,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,IAAI,EAAE,eAAe,YAAY,WAAW,CAAC,EAAE;AAC/D,oBAAoB,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,6BAA6B,CAAC,CAAC,CAAC;AACpF,iBAAiB;AACjB,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;AAC7G,gBAAgB,MAAM,uBAAuB,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,uBAAuB,CAAC;AAC/G,gBAAgB,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE;AACpD,oBAAoB,eAAe,CAAC,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACzH,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE;AAC1D,oBAAoB,eAAe,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,eAAe,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;AACrI,iBAAiB;AACjB,gBAAgB,OAAO,OAAO,CAAC;AAC/B,aAAa;AACb,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS,CAAC,CAAC;AACX,KAAK;AACL,CAAC;AACD,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;;;;"}
|