@babylonjs/viewer 7.41.1-alpha → 7.42.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 +193 -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 +202 -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 +28 -19
- package/readme.md +28 -28
- 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 +22 -0
- package/templating/plugins/hdButtonPlugin.js.map +1 -0
- package/templating/plugins/printButton.d.ts +9 -0
- package/templating/plugins/printButton.js +41 -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_ies-BS2USlck.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_ies-BS2USlck.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_ies-C-joQ5O4.esm.js +0 -84
- package/dist/chunks/EXT_lights_ies-C-joQ5O4.esm.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-C3wbbb5Z.esm.js +0 -171
- package/dist/chunks/EXT_lights_image_based-C3wbbb5Z.esm.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-DDdRDnM2.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_image_based-DDdRDnM2.esm.min.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-AXAnRQN7.esm.js +0 -86
- package/dist/chunks/EXT_mesh_gpu_instancing-AXAnRQN7.esm.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-BcjPo6uC.esm.min.js +0 -2
- package/dist/chunks/EXT_mesh_gpu_instancing-BcjPo6uC.esm.min.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-DlUkQB2P.esm.js +0 -134
- package/dist/chunks/EXT_meshopt_compression-DlUkQB2P.esm.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-yJ4OpORd.esm.min.js +0 -2
- package/dist/chunks/EXT_meshopt_compression-yJ4OpORd.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-BQWbvJfK.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_avif-BQWbvJfK.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-C0pGpnGv.esm.js +0 -44
- package/dist/chunks/EXT_texture_avif-C0pGpnGv.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-Dd7Uqtmh.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_webp-Dd7Uqtmh.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-DehlrnW-.esm.js +0 -43
- package/dist/chunks/EXT_texture_webp-DehlrnW-.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-C5NMuDj4.esm.js +0 -64
- package/dist/chunks/ExtrasAsMetadata-C5NMuDj4.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-Cp3LHdoG.esm.min.js +0 -2
- package/dist/chunks/ExtrasAsMetadata-Cp3LHdoG.esm.min.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-DEBOwDXh.esm.min.js +0 -2
- package/dist/chunks/KHR_animation_pointer-DEBOwDXh.esm.min.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-Dx1OeG2b.esm.js +0 -352
- package/dist/chunks/KHR_animation_pointer-Dx1OeG2b.esm.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-Ch0QOlBL.esm.min.js +0 -2
- package/dist/chunks/KHR_draco_mesh_compression-Ch0QOlBL.esm.min.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-D59SFLyo.esm.js +0 -610
- package/dist/chunks/KHR_draco_mesh_compression-D59SFLyo.esm.js.map +0 -1
- package/dist/chunks/KHR_interactivity-Blj_9jts.esm.min.js +0 -2
- package/dist/chunks/KHR_interactivity-Blj_9jts.esm.min.js.map +0 -1
- package/dist/chunks/KHR_interactivity-CR0LYUa7.esm.js +0 -4033
- package/dist/chunks/KHR_interactivity-CR0LYUa7.esm.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual--w0a62AP.esm.js +0 -581
- package/dist/chunks/KHR_lights_punctual--w0a62AP.esm.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-BojffBbG.esm.min.js +0 -2
- package/dist/chunks/KHR_lights_punctual-BojffBbG.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-BPtHWkOQ.esm.js +0 -65
- package/dist/chunks/KHR_materials_anisotropy-BPtHWkOQ.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-DU5_bnCL.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_anisotropy-DU5_bnCL.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-BBuRlPhc.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_clearcoat-BBuRlPhc.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-Eg0xbuWN.esm.js +0 -96
- package/dist/chunks/KHR_materials_clearcoat-Eg0xbuWN.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-Bkzk60Y5.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_diffuse_transmission-Bkzk60Y5.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-C3DaLgRY.esm.js +0 -97
- package/dist/chunks/KHR_materials_diffuse_transmission-C3DaLgRY.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-DL_XFhxj.esm.js +0 -62
- package/dist/chunks/KHR_materials_dispersion-DL_XFhxj.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-DbMQPBgM.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_dispersion-DbMQPBgM.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-BuHyjtBD.esm.js +0 -55
- package/dist/chunks/KHR_materials_emissive_strength-BuHyjtBD.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-Djlr_ul3.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_emissive_strength-Djlr_ul3.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-BIe6qBOo.esm.js +0 -64
- package/dist/chunks/KHR_materials_ior-BIe6qBOo.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-DOfaAmNY.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_ior-DOfaAmNY.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-BgElZgUu.esm.js +0 -72
- package/dist/chunks/KHR_materials_iridescence-BgElZgUu.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-lUeo07SZ.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_iridescence-lUeo07SZ.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-9ShQyhJ6.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-9ShQyhJ6.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DE5LjLg6.esm.js +0 -81
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DE5LjLg6.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-BfZe6ZFu.esm.js +0 -85
- package/dist/chunks/KHR_materials_sheen-BfZe6ZFu.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-OWjuK2V4.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_sheen-OWjuK2V4.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-dowPxbW3.esm.js +0 -75
- package/dist/chunks/KHR_materials_specular-dowPxbW3.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-nWeBZu0R.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_specular-nWeBZu0R.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-BPNQkK0O.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_transmission-BPNQkK0O.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-CHr_yLLX.esm.js +0 -307
- package/dist/chunks/KHR_materials_transmission-CHr_yLLX.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-BYXpcsdj.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_unlit-BYXpcsdj.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-Cr7YsDHT.esm.js +0 -74
- package/dist/chunks/KHR_materials_unlit-Cr7YsDHT.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-BCVX3sJa.esm.js +0 -262
- package/dist/chunks/KHR_materials_variants-BCVX3sJa.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-BXzl6KpJ.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_variants-BXzl6KpJ.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-BD9KEaJz.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_volume-BD9KEaJz.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-DrqGUGW6.esm.js +0 -87
- package/dist/chunks/KHR_materials_volume-DrqGUGW6.esm.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-Dg22auJA.esm.min.js +0 -2
- package/dist/chunks/KHR_mesh_quantization-Dg22auJA.esm.min.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-hvxpvTbe.esm.js +0 -26
- package/dist/chunks/KHR_mesh_quantization-hvxpvTbe.esm.js.map +0 -1
- package/dist/chunks/KHR_node_hoverability-BDiqFmBB.esm.js +0 -39
- package/dist/chunks/KHR_node_hoverability-BDiqFmBB.esm.js.map +0 -1
- package/dist/chunks/KHR_node_hoverability-CumkOtZM.esm.min.js +0 -2
- package/dist/chunks/KHR_node_hoverability-CumkOtZM.esm.min.js.map +0 -1
- package/dist/chunks/KHR_node_visibility-BKEa-Yfj.esm.min.js +0 -2
- package/dist/chunks/KHR_node_visibility-BKEa-Yfj.esm.min.js.map +0 -1
- package/dist/chunks/KHR_node_visibility-K0fsD4Vv.esm.js +0 -46
- package/dist/chunks/KHR_node_visibility-K0fsD4Vv.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-8YVY1pKo.esm.js +0 -43
- package/dist/chunks/KHR_texture_basisu-8YVY1pKo.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-BM__NeSW.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_basisu-BM__NeSW.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform--qxpdvRw.esm.js +0 -63
- package/dist/chunks/KHR_texture_transform--qxpdvRw.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-C0MO-oJp.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_transform-C0MO-oJp.esm.min.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-D9FpHvJo.esm.js +0 -51
- package/dist/chunks/KHR_xmp_json_ld-D9FpHvJo.esm.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-DeXPWWQE.esm.min.js +0 -2
- package/dist/chunks/KHR_xmp_json_ld-DeXPWWQE.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-BbICSwFH.esm.min.js +0 -2
- package/dist/chunks/MSFT_audio_emitter-BbICSwFH.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-Dd5lbfUc.esm.js +0 -2201
- package/dist/chunks/MSFT_audio_emitter-Dd5lbfUc.esm.js.map +0 -1
- package/dist/chunks/MSFT_lod-B0zrRF3s.esm.js +0 -337
- package/dist/chunks/MSFT_lod-B0zrRF3s.esm.js.map +0 -1
- package/dist/chunks/MSFT_lod-Bd4znUfD.esm.min.js +0 -2
- package/dist/chunks/MSFT_lod-Bd4znUfD.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-CdIpMgsb.esm.min.js +0 -2
- package/dist/chunks/MSFT_minecraftMesh-CdIpMgsb.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-WFc8m_Ka.esm.js +0 -46
- package/dist/chunks/MSFT_minecraftMesh-WFc8m_Ka.esm.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-CTbtGna8.esm.js +0 -47
- package/dist/chunks/MSFT_sRGBFactors-CTbtGna8.esm.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-yTSoBQJx.esm.min.js +0 -2
- package/dist/chunks/MSFT_sRGBFactors-yTSoBQJx.esm.min.js.map +0 -1
- package/dist/chunks/animationGroup-8TJDgymS.esm.js +0 -2482
- package/dist/chunks/animationGroup-8TJDgymS.esm.js.map +0 -1
- package/dist/chunks/animationGroup-toXtd3a1.esm.min.js +0 -2
- package/dist/chunks/animationGroup-toXtd3a1.esm.min.js.map +0 -1
- package/dist/chunks/assetContainer-7pMDUaac.esm.min.js +0 -2
- package/dist/chunks/assetContainer-7pMDUaac.esm.min.js.map +0 -1
- package/dist/chunks/assetContainer-DYzO0AbX.esm.js +0 -1720
- package/dist/chunks/assetContainer-DYzO0AbX.esm.js.map +0 -1
- package/dist/chunks/audioEngine-Kz4HSEXd.esm.min.js +0 -2
- package/dist/chunks/audioEngine-Kz4HSEXd.esm.min.js.map +0 -1
- package/dist/chunks/audioEngine-peiGqjr6.esm.js +0 -305
- package/dist/chunks/audioEngine-peiGqjr6.esm.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-BZvcL01J.esm.min.js +0 -2
- package/dist/chunks/bakedVertexAnimation-BZvcL01J.esm.min.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-CPflSjER.esm.js +0 -114
- package/dist/chunks/bakedVertexAnimation-CPflSjER.esm.js.map +0 -1
- package/dist/chunks/basisTextureLoader-CR0XhSAg.esm.js +0 -600
- package/dist/chunks/basisTextureLoader-CR0XhSAg.esm.js.map +0 -1
- package/dist/chunks/basisTextureLoader-DVJdcB62.esm.min.js +0 -2
- package/dist/chunks/basisTextureLoader-DVJdcB62.esm.min.js.map +0 -1
- package/dist/chunks/dds-6EdM5O6M.esm.js +0 -540
- package/dist/chunks/dds-6EdM5O6M.esm.js.map +0 -1
- package/dist/chunks/dds-DVX_K9B3.esm.min.js +0 -2
- package/dist/chunks/dds-DVX_K9B3.esm.min.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-BAK7Ib2Z.esm.min.js +0 -2
- package/dist/chunks/ddsTextureLoader-BAK7Ib2Z.esm.min.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-_nktVxwZ.esm.js +0 -88
- package/dist/chunks/ddsTextureLoader-_nktVxwZ.esm.js.map +0 -1
- package/dist/chunks/decalFragment-C_Cews3-.esm.js +0 -18
- package/dist/chunks/decalFragment-C_Cews3-.esm.js.map +0 -1
- package/dist/chunks/decalFragment-Dmj88EX9.esm.min.js +0 -2
- package/dist/chunks/decalFragment-Dmj88EX9.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-Bv_nR7po.esm.min.js +0 -2
- package/dist/chunks/default.fragment-Bv_nR7po.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-CkZQyJVM.esm.min.js +0 -2
- package/dist/chunks/default.fragment-CkZQyJVM.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-CyFHDykY.esm.js +0 -446
- package/dist/chunks/default.fragment-CyFHDykY.esm.js.map +0 -1
- package/dist/chunks/default.fragment-ej-2z5tS.esm.js +0 -515
- package/dist/chunks/default.fragment-ej-2z5tS.esm.js.map +0 -1
- package/dist/chunks/default.vertex-16mVOFgT.esm.js +0 -211
- package/dist/chunks/default.vertex-16mVOFgT.esm.js.map +0 -1
- package/dist/chunks/default.vertex-D--q2At3.esm.min.js +0 -2
- package/dist/chunks/default.vertex-D--q2At3.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-DDlgZTrR.esm.js +0 -190
- package/dist/chunks/default.vertex-DDlgZTrR.esm.js.map +0 -1
- package/dist/chunks/default.vertex-_jqs3KiZ.esm.min.js +0 -2
- package/dist/chunks/default.vertex-_jqs3KiZ.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-8YG0iNg8.esm.js +0 -15
- package/dist/chunks/defaultUboDeclaration-8YG0iNg8.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-BoBSRTbi.esm.js +0 -13
- package/dist/chunks/defaultUboDeclaration-BoBSRTbi.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-Dt_5vo1d.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-Dt_5vo1d.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-R6gGjkAM.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-R6gGjkAM.esm.min.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-Bhux0wvM.esm.js +0 -200
- package/dist/chunks/dumpTools-Bhux0wvM.esm.js.map +0 -1
- package/dist/chunks/dumpTools-CHCb2UkY.esm.min.js +0 -2
- package/dist/chunks/dumpTools-CHCb2UkY.esm.min.js.map +0 -1
- package/dist/chunks/engine-DF_zE4qj.esm.js +0 -2213
- package/dist/chunks/engine-DF_zE4qj.esm.js.map +0 -1
- package/dist/chunks/engine-DVmdDcyP.esm.min.js +0 -2
- package/dist/chunks/engine-DVmdDcyP.esm.min.js.map +0 -1
- package/dist/chunks/engine.common-CvOmoKru.esm.js +0 -1162
- package/dist/chunks/engine.common-CvOmoKru.esm.js.map +0 -1
- package/dist/chunks/engine.common-DpTzktQJ.esm.min.js +0 -2
- package/dist/chunks/engine.common-DpTzktQJ.esm.min.js.map +0 -1
- package/dist/chunks/envTextureLoader-4YxGm-Px.esm.js +0 -64
- package/dist/chunks/envTextureLoader-4YxGm-Px.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-DMQui088.esm.min.js +0 -2
- package/dist/chunks/envTextureLoader-DMQui088.esm.min.js.map +0 -1
- package/dist/chunks/environmentTextureTools-BPGrTBPI.esm.min.js +0 -2
- package/dist/chunks/environmentTextureTools-BPGrTBPI.esm.min.js.map +0 -1
- package/dist/chunks/environmentTextureTools-DvkpsqkN.esm.js +0 -382
- package/dist/chunks/environmentTextureTools-DvkpsqkN.esm.js.map +0 -1
- package/dist/chunks/exrTextureLoader-BRkB54sO.esm.js +0 -1683
- package/dist/chunks/exrTextureLoader-BRkB54sO.esm.js.map +0 -1
- package/dist/chunks/exrTextureLoader-BtN7_zst.esm.min.js +0 -2
- package/dist/chunks/exrTextureLoader-BtN7_zst.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-BrGGFaiu.esm.js +0 -101
- package/dist/chunks/fogFragment-BrGGFaiu.esm.js.map +0 -1
- package/dist/chunks/fogFragment-ByOwwQur.esm.min.js +0 -2
- package/dist/chunks/fogFragment-ByOwwQur.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-Chod24nu.esm.min.js +0 -2
- package/dist/chunks/fogFragment-Chod24nu.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-gZfybCpt.esm.js +0 -102
- package/dist/chunks/fogFragment-gZfybCpt.esm.js.map +0 -1
- package/dist/chunks/fresnelFunction-BdEia8ob.esm.min.js +0 -2
- package/dist/chunks/fresnelFunction-BdEia8ob.esm.min.js.map +0 -1
- package/dist/chunks/fresnelFunction-DBlxfmri.esm.js +0 -12
- package/dist/chunks/fresnelFunction-DBlxfmri.esm.js.map +0 -1
- package/dist/chunks/glTFLoader-D4C1IGb3.esm.min.js +0 -2
- package/dist/chunks/glTFLoader-D4C1IGb3.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoader-fUFiWvYb.esm.js +0 -7693
- package/dist/chunks/glTFLoader-fUFiWvYb.esm.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-BB_Vw079.esm.min.js +0 -2
- package/dist/chunks/glTFLoaderAnimation-BB_Vw079.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-CttmY50U.esm.js +0 -77
- package/dist/chunks/glTFLoaderAnimation-CttmY50U.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-B0Rp1hEo.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-B0Rp1hEo.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-Cca_z552.esm.js +0 -34
- package/dist/chunks/harmonicsFunctions-Cca_z552.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-D4ID83NC.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-D4ID83NC.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-HJ5dbl0w.esm.js +0 -35
- package/dist/chunks/harmonicsFunctions-HJ5dbl0w.esm.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-C3kqy6YV.esm.js +0 -253
- package/dist/chunks/hdrTextureLoader-C3kqy6YV.esm.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-Dhlluz4z.esm.min.js +0 -2
- package/dist/chunks/hdrTextureLoader-Dhlluz4z.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-BJotVqUd.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-BJotVqUd.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-C66wRWtu.esm.js +0 -110
- package/dist/chunks/helperFunctions-C66wRWtu.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-DwEZ9rqh.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-DwEZ9rqh.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-gnki_9Kj.esm.js +0 -83
- package/dist/chunks/helperFunctions-gnki_9Kj.esm.js.map +0 -1
- package/dist/chunks/iesTextureLoader-QDs2Cwy5.esm.js +0 -189
- package/dist/chunks/iesTextureLoader-QDs2Cwy5.esm.js.map +0 -1
- package/dist/chunks/iesTextureLoader-pwA6Q4HK.esm.min.js +0 -2
- package/dist/chunks/iesTextureLoader-pwA6Q4HK.esm.min.js.map +0 -1
- package/dist/chunks/index-C6hXZyZb.esm.js +0 -74889
- package/dist/chunks/index-C6hXZyZb.esm.js.map +0 -1
- package/dist/chunks/index-rZVkfTE6.esm.min.js +0 -57
- package/dist/chunks/index-rZVkfTE6.esm.min.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-jVu-Sj-0.esm.js +0 -814
- package/dist/chunks/ktxTextureLoader-jVu-Sj-0.esm.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-zG9azrZF.esm.min.js +0 -2
- package/dist/chunks/ktxTextureLoader-zG9azrZF.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-0cA1pTvQ.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-0cA1pTvQ.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CYxYhXIS.esm.js +0 -11
- package/dist/chunks/logDepthDeclaration-CYxYhXIS.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-D4KGxdX-.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-D4KGxdX-.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-DJlt2-H5.esm.js +0 -35
- package/dist/chunks/logDepthDeclaration-DJlt2-H5.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-BS2JEtXA.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-BS2JEtXA.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-DKPfA10X.esm.js +0 -81
- package/dist/chunks/logDepthVertex-DKPfA10X.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-ojTShW5I.esm.js +0 -77
- package/dist/chunks/logDepthVertex-ojTShW5I.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-v-0pHNc-.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-v-0pHNc-.esm.min.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-BAzmbS0W.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-BAzmbS0W.esm.min.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-Cnux1jkK.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-Cnux1jkK.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-CwS0hUUZ.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-CwS0hUUZ.esm.min.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-DCawby1A.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-DCawby1A.esm.js.map +0 -1
- package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js +0 -119
- package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js.map +0 -1
- package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js +0 -2
- package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-QvH0RgeZ.esm.js +0 -26
- package/dist/chunks/meshUboDeclaration-QvH0RgeZ.esm.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-g2s_cYI1.esm.min.js +0 -2
- package/dist/chunks/meshUboDeclaration-g2s_cYI1.esm.min.js.map +0 -1
- package/dist/chunks/objFileLoader-BOutXdVR.esm.min.js +0 -2
- package/dist/chunks/objFileLoader-BOutXdVR.esm.min.js.map +0 -1
- package/dist/chunks/objFileLoader-BPwrX8RK.esm.js +0 -1338
- package/dist/chunks/objFileLoader-BPwrX8RK.esm.js.map +0 -1
- package/dist/chunks/oitFragment-CmcWUhsZ.esm.js +0 -1240
- package/dist/chunks/oitFragment-CmcWUhsZ.esm.js.map +0 -1
- package/dist/chunks/oitFragment-D8XBQ6Wa.esm.js +0 -1078
- package/dist/chunks/oitFragment-D8XBQ6Wa.esm.js.map +0 -1
- package/dist/chunks/oitFragment-DgAlmoHs.esm.min.js +0 -2
- package/dist/chunks/oitFragment-DgAlmoHs.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-DpJ5xGhy.esm.min.js +0 -2
- package/dist/chunks/oitFragment-DpJ5xGhy.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment--XRaXRhU.esm.js +0 -15
- package/dist/chunks/pass.fragment--XRaXRhU.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-5Q3qXxDe.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-5Q3qXxDe.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-BBLiyU_i.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-BBLiyU_i.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-DI4ZYZJe.esm.js +0 -15
- package/dist/chunks/pass.fragment-DI4ZYZJe.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-C7xQS4ZJ.esm.js +0 -3269
- package/dist/chunks/pbr.fragment-C7xQS4ZJ.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-Ddxaik8T.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-Ddxaik8T.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-fky04gH_.esm.js +0 -3222
- package/dist/chunks/pbr.fragment-fky04gH_.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-ya1zai4w.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-ya1zai4w.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-BPEYHoRM.esm.js +0 -223
- package/dist/chunks/pbr.vertex-BPEYHoRM.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-BXcMYADF.esm.js +0 -348
- package/dist/chunks/pbr.vertex-BXcMYADF.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-BjA08auU.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-BjA08auU.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-Cx2V3lNf.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-Cx2V3lNf.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-BHpQrNSx.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-BHpQrNSx.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-DnDbk0tq.esm.js +0 -20
- package/dist/chunks/postprocess.vertex-DnDbk0tq.esm.js.map +0 -1
- package/dist/chunks/rawTexture-CWiRIto8.esm.js +0 -191
- package/dist/chunks/rawTexture-CWiRIto8.esm.js.map +0 -1
- package/dist/chunks/rawTexture-DX8V9PEj.esm.min.js +0 -2
- package/dist/chunks/rawTexture-DX8V9PEj.esm.min.js.map +0 -1
- package/dist/chunks/ray-ix7SqYNQ.esm.min.js +0 -2
- package/dist/chunks/ray-ix7SqYNQ.esm.min.js.map +0 -1
- package/dist/chunks/ray-nTZBkOil.esm.js +0 -946
- package/dist/chunks/ray-nTZBkOil.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-Be3ofvlt.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-Be3ofvlt.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-C05QJpT2.esm.js +0 -13
- package/dist/chunks/rgbdDecode.fragment-C05QJpT2.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-D3SYBclQ.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-D3SYBclQ.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-DBG6KfKF.esm.js +0 -13
- package/dist/chunks/rgbdDecode.fragment-DBG6KfKF.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-BlhtohrO.esm.js +0 -13
- package/dist/chunks/rgbdEncode.fragment-BlhtohrO.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-BmJKYw6A.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-BmJKYw6A.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-dr2kGjSO.esm.js +0 -13
- package/dist/chunks/rgbdEncode.fragment-dr2kGjSO.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-hXPzg1p5.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-hXPzg1p5.esm.min.js.map +0 -1
- package/dist/chunks/splatFileLoader-Bs42LtsP.esm.min.js +0 -2
- package/dist/chunks/splatFileLoader-Bs42LtsP.esm.min.js.map +0 -1
- package/dist/chunks/splatFileLoader-Dp33YOem.esm.js +0 -3379
- package/dist/chunks/splatFileLoader-Dp33YOem.esm.js.map +0 -1
- package/dist/chunks/spotLight-C0NmKeem.esm.js +0 -701
- package/dist/chunks/spotLight-C0NmKeem.esm.js.map +0 -1
- package/dist/chunks/spotLight-CcuCNdES.esm.min.js +0 -2
- package/dist/chunks/spotLight-CcuCNdES.esm.min.js.map +0 -1
- package/dist/chunks/standardMaterial-C1E5n_4w.esm.min.js +0 -2
- package/dist/chunks/standardMaterial-C1E5n_4w.esm.min.js.map +0 -1
- package/dist/chunks/standardMaterial-v_D8QA4q.esm.js +0 -1807
- package/dist/chunks/standardMaterial-v_D8QA4q.esm.js.map +0 -1
- package/dist/chunks/stlFileLoader-DC2IRQDj.esm.min.js +0 -2
- package/dist/chunks/stlFileLoader-DC2IRQDj.esm.min.js.map +0 -1
- package/dist/chunks/stlFileLoader-LRHEIFfU.esm.js +0 -238
- package/dist/chunks/stlFileLoader-LRHEIFfU.esm.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-2ekJC0En.esm.js +0 -349
- package/dist/chunks/tgaTextureLoader-2ekJC0En.esm.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-Clj6zUK-.esm.min.js +0 -2
- package/dist/chunks/tgaTextureLoader-Clj6zUK-.esm.min.js.map +0 -1
- package/dist/chunks/thinEngine-DksimP2U.esm.js +0 -3848
- package/dist/chunks/thinEngine-DksimP2U.esm.js.map +0 -1
- package/dist/chunks/thinEngine-tsALaFYH.esm.min.js +0 -2
- package/dist/chunks/thinEngine-tsALaFYH.esm.min.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-B8AW0Oa2.esm.js +0 -314
- package/dist/chunks/thinInstanceMesh-B8AW0Oa2.esm.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-kCGEJ0-e.esm.min.js +0 -2
- package/dist/chunks/thinInstanceMesh-kCGEJ0-e.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-Bjijk3lU.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-Bjijk3lU.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-D9917nJN.esm.js +0 -428
- package/dist/chunks/vertexColorMixing-D9917nJN.esm.js.map +0 -1
- package/dist/chunks/vertexColorMixing-DgthWrKf.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-DgthWrKf.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-U1SA6UK3.esm.js +0 -538
- package/dist/chunks/vertexColorMixing-U1SA6UK3.esm.js.map +0 -1
- package/dist/chunks/webgpuEngine-BOGR1D8F.esm.min.js +0 -2
- package/dist/chunks/webgpuEngine-BOGR1D8F.esm.min.js.map +0 -1
- package/dist/chunks/webgpuEngine-BrzOpZ-2.esm.js +0 -11533
- package/dist/chunks/webgpuEngine-BrzOpZ-2.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/lib/index.d.ts +0 -591
- package/lib/index.js +0 -2165
- package/lib/index.js.map +0 -1
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { a$ as PBRMaterial, s as Color3, aQ as unregisterGLTFExtension, aR as registerGLTFExtension } from './index-C6hXZyZb.esm.js';
|
|
2
|
-
import { G as GLTFLoader } from './glTFLoader-fUFiWvYb.esm.js';
|
|
3
|
-
import './rawTexture-CWiRIto8.esm.js';
|
|
4
|
-
import './assetContainer-DYzO0AbX.esm.js';
|
|
5
|
-
import './glTFLoaderAnimation-CttmY50U.esm.js';
|
|
6
|
-
|
|
7
|
-
const NAME = "KHR_materials_unlit";
|
|
8
|
-
/**
|
|
9
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_unlit/README.md)
|
|
10
|
-
*/
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
12
|
-
class KHR_materials_unlit {
|
|
13
|
-
/**
|
|
14
|
-
* @internal
|
|
15
|
-
*/
|
|
16
|
-
constructor(loader) {
|
|
17
|
-
/**
|
|
18
|
-
* The name of this extension.
|
|
19
|
-
*/
|
|
20
|
-
this.name = NAME;
|
|
21
|
-
/**
|
|
22
|
-
* Defines a number that determines the order the extensions are applied.
|
|
23
|
-
*/
|
|
24
|
-
this.order = 210;
|
|
25
|
-
this._loader = loader;
|
|
26
|
-
this.enabled = this._loader.isExtensionUsed(NAME);
|
|
27
|
-
}
|
|
28
|
-
/** @internal */
|
|
29
|
-
dispose() {
|
|
30
|
-
this._loader = null;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* @internal
|
|
34
|
-
*/
|
|
35
|
-
loadMaterialPropertiesAsync(context, material, babylonMaterial) {
|
|
36
|
-
return GLTFLoader.LoadExtensionAsync(context, material, this.name, () => {
|
|
37
|
-
return this._loadUnlitPropertiesAsync(context, material, babylonMaterial);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
_loadUnlitPropertiesAsync(context, material, babylonMaterial) {
|
|
41
|
-
if (!(babylonMaterial instanceof PBRMaterial)) {
|
|
42
|
-
throw new Error(`${context}: Material type not supported`);
|
|
43
|
-
}
|
|
44
|
-
const promises = new Array();
|
|
45
|
-
babylonMaterial.unlit = true;
|
|
46
|
-
const properties = material.pbrMetallicRoughness;
|
|
47
|
-
if (properties) {
|
|
48
|
-
if (properties.baseColorFactor) {
|
|
49
|
-
babylonMaterial.albedoColor = Color3.FromArray(properties.baseColorFactor);
|
|
50
|
-
babylonMaterial.alpha = properties.baseColorFactor[3];
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
babylonMaterial.albedoColor = Color3.White();
|
|
54
|
-
}
|
|
55
|
-
if (properties.baseColorTexture) {
|
|
56
|
-
promises.push(this._loader.loadTextureInfoAsync(`${context}/baseColorTexture`, properties.baseColorTexture, (texture) => {
|
|
57
|
-
texture.name = `${babylonMaterial.name} (Base Color)`;
|
|
58
|
-
babylonMaterial.albedoTexture = texture;
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
if (material.doubleSided) {
|
|
63
|
-
babylonMaterial.backFaceCulling = false;
|
|
64
|
-
babylonMaterial.twoSidedLighting = true;
|
|
65
|
-
}
|
|
66
|
-
this._loader.loadMaterialAlphaProperties(context, material, babylonMaterial);
|
|
67
|
-
return Promise.all(promises).then(() => { });
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
unregisterGLTFExtension(NAME);
|
|
71
|
-
registerGLTFExtension(NAME, true, (loader) => new KHR_materials_unlit(loader));
|
|
72
|
-
|
|
73
|
-
export { KHR_materials_unlit };
|
|
74
|
-
//# sourceMappingURL=KHR_materials_unlit-Cr7YsDHT.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_unlit-Cr7YsDHT.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_unlit.js"],"sourcesContent":["import { Color3 } from \"core/Maths/math.color\";\nimport { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_unlit\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_unlit/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_unlit {\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 = 210;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, () => {\n return this._loadUnlitPropertiesAsync(context, material, babylonMaterial);\n });\n }\n _loadUnlitPropertiesAsync(context, material, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n babylonMaterial.unlit = true;\n const properties = material.pbrMetallicRoughness;\n if (properties) {\n if (properties.baseColorFactor) {\n babylonMaterial.albedoColor = Color3.FromArray(properties.baseColorFactor);\n babylonMaterial.alpha = properties.baseColorFactor[3];\n }\n else {\n babylonMaterial.albedoColor = Color3.White();\n }\n if (properties.baseColorTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/baseColorTexture`, properties.baseColorTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Base Color)`;\n babylonMaterial.albedoTexture = texture;\n }));\n }\n }\n if (material.doubleSided) {\n babylonMaterial.backFaceCulling = false;\n babylonMaterial.twoSidedLighting = true;\n }\n this._loader.loadMaterialAlphaProperties(context, material, babylonMaterial);\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_unlit(loader));\n//# sourceMappingURL=KHR_materials_unlit.js.map"],"names":[],"mappings":";;;;;;AAIA,MAAM,IAAI,GAAG,qBAAqB;AAClC;AACA;AACA;AACA;AACO,MAAM,mBAAmB,CAAC;AACjC;AACA;AACA;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,GAAG;AACxB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM;AAC7B,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;AACzD;AACA;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI;AAC3B;AACA;AACA;AACA;AACA,IAAI,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;AACpE,QAAQ,OAAO,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM;AACjF,YAAY,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC;AACrF,SAAS,CAAC;AACV;AACA,IAAI,yBAAyB,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;AAClE,QAAQ,IAAI,EAAE,eAAe,YAAY,WAAW,CAAC,EAAE;AACvD,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAC;AACtE;AACA,QAAQ,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAE;AACpC,QAAQ,eAAe,CAAC,KAAK,GAAG,IAAI;AACpC,QAAQ,MAAM,UAAU,GAAG,QAAQ,CAAC,oBAAoB;AACxD,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,IAAI,UAAU,CAAC,eAAe,EAAE;AAC5C,gBAAgB,eAAe,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC;AAC1F,gBAAgB,eAAe,CAAC,KAAK,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;AACrE;AACA,iBAAiB;AACjB,gBAAgB,eAAe,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE;AAC5D;AACA,YAAY,IAAI,UAAU,CAAC,gBAAgB,EAAE;AAC7C,gBAAgB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,KAAK;AACzI,oBAAoB,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC;AACzE,oBAAoB,eAAe,CAAC,aAAa,GAAG,OAAO;AAC3D,iBAAiB,CAAC,CAAC;AACnB;AACA;AACA,QAAQ,IAAI,QAAQ,CAAC,WAAW,EAAE;AAClC,YAAY,eAAe,CAAC,eAAe,GAAG,KAAK;AACnD,YAAY,eAAe,CAAC,gBAAgB,GAAG,IAAI;AACnD;AACA,QAAQ,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC;AACpF,QAAQ,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;AACpD;AACA;AACA,uBAAuB,CAAC,IAAI,CAAC;AAC7B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;;;;"}
|
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
import { G as GLTFLoader, A as ArrayItem } from './glTFLoader-fUFiWvYb.esm.js';
|
|
2
|
-
import { M as Mesh, aQ as unregisterGLTFExtension, aR as registerGLTFExtension } from './index-C6hXZyZb.esm.js';
|
|
3
|
-
import './rawTexture-CWiRIto8.esm.js';
|
|
4
|
-
import './assetContainer-DYzO0AbX.esm.js';
|
|
5
|
-
import './glTFLoaderAnimation-CttmY50U.esm.js';
|
|
6
|
-
|
|
7
|
-
const NAME = "KHR_materials_variants";
|
|
8
|
-
/**
|
|
9
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_variants/README.md)
|
|
10
|
-
*/
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
12
|
-
class KHR_materials_variants {
|
|
13
|
-
/**
|
|
14
|
-
* @internal
|
|
15
|
-
*/
|
|
16
|
-
constructor(loader) {
|
|
17
|
-
/**
|
|
18
|
-
* The name of this extension.
|
|
19
|
-
*/
|
|
20
|
-
this.name = NAME;
|
|
21
|
-
this._loader = loader;
|
|
22
|
-
this.enabled = this._loader.isExtensionUsed(NAME);
|
|
23
|
-
}
|
|
24
|
-
/** @internal */
|
|
25
|
-
dispose() {
|
|
26
|
-
this._loader = null;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Gets the list of available variant names for this asset.
|
|
30
|
-
* @param rootNode The glTF root node
|
|
31
|
-
* @returns the list of all the variant names for this model
|
|
32
|
-
*/
|
|
33
|
-
static GetAvailableVariants(rootNode) {
|
|
34
|
-
const extensionMetadata = this._GetExtensionMetadata(rootNode);
|
|
35
|
-
if (!extensionMetadata) {
|
|
36
|
-
return [];
|
|
37
|
-
}
|
|
38
|
-
return Object.keys(extensionMetadata.variants);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Gets the list of available variant names for this asset.
|
|
42
|
-
* @param rootNode The glTF root node
|
|
43
|
-
* @returns the list of all the variant names for this model
|
|
44
|
-
*/
|
|
45
|
-
getAvailableVariants(rootNode) {
|
|
46
|
-
return KHR_materials_variants.GetAvailableVariants(rootNode);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Select a variant given a variant name or a list of variant names.
|
|
50
|
-
* @param rootNode The glTF root node
|
|
51
|
-
* @param variantName The variant name(s) to select.
|
|
52
|
-
*/
|
|
53
|
-
static SelectVariant(rootNode, variantName) {
|
|
54
|
-
const extensionMetadata = this._GetExtensionMetadata(rootNode);
|
|
55
|
-
if (!extensionMetadata) {
|
|
56
|
-
throw new Error(`Cannot select variant on a glTF mesh that does not have the ${NAME} extension`);
|
|
57
|
-
}
|
|
58
|
-
const select = (variantName) => {
|
|
59
|
-
const entries = extensionMetadata.variants[variantName];
|
|
60
|
-
if (entries) {
|
|
61
|
-
for (const entry of entries) {
|
|
62
|
-
entry.mesh.material = entry.material;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
if (variantName instanceof Array) {
|
|
67
|
-
for (const name of variantName) {
|
|
68
|
-
select(name);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
select(variantName);
|
|
73
|
-
}
|
|
74
|
-
extensionMetadata.lastSelected = variantName;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Select a variant given a variant name or a list of variant names.
|
|
78
|
-
* @param rootNode The glTF root node
|
|
79
|
-
* @param variantName The variant name(s) to select.
|
|
80
|
-
*/
|
|
81
|
-
selectVariant(rootNode, variantName) {
|
|
82
|
-
KHR_materials_variants.SelectVariant(rootNode, variantName);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Reset back to the original before selecting a variant.
|
|
86
|
-
* @param rootNode The glTF root node
|
|
87
|
-
*/
|
|
88
|
-
static Reset(rootNode) {
|
|
89
|
-
const extensionMetadata = this._GetExtensionMetadata(rootNode);
|
|
90
|
-
if (!extensionMetadata) {
|
|
91
|
-
throw new Error(`Cannot reset on a glTF mesh that does not have the ${NAME} extension`);
|
|
92
|
-
}
|
|
93
|
-
for (const entry of extensionMetadata.original) {
|
|
94
|
-
entry.mesh.material = entry.material;
|
|
95
|
-
}
|
|
96
|
-
extensionMetadata.lastSelected = null;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Reset back to the original before selecting a variant.
|
|
100
|
-
* @param rootNode The glTF root node
|
|
101
|
-
*/
|
|
102
|
-
reset(rootNode) {
|
|
103
|
-
KHR_materials_variants.Reset(rootNode);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Gets the last selected variant name(s) or null if original.
|
|
107
|
-
* @param rootNode The glTF root node
|
|
108
|
-
* @returns The selected variant name(s).
|
|
109
|
-
*/
|
|
110
|
-
static GetLastSelectedVariant(rootNode) {
|
|
111
|
-
const extensionMetadata = this._GetExtensionMetadata(rootNode);
|
|
112
|
-
if (!extensionMetadata) {
|
|
113
|
-
throw new Error(`Cannot get the last selected variant on a glTF mesh that does not have the ${NAME} extension`);
|
|
114
|
-
}
|
|
115
|
-
return extensionMetadata.lastSelected;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Gets the last selected variant name(s) or null if original.
|
|
119
|
-
* @param rootNode The glTF root node
|
|
120
|
-
* @returns The selected variant name(s).
|
|
121
|
-
*/
|
|
122
|
-
getLastSelectedVariant(rootNode) {
|
|
123
|
-
return KHR_materials_variants.GetLastSelectedVariant(rootNode);
|
|
124
|
-
}
|
|
125
|
-
static _GetExtensionMetadata(rootNode) {
|
|
126
|
-
return rootNode?._internalMetadata?.gltf?.[NAME] || null;
|
|
127
|
-
}
|
|
128
|
-
/** @internal */
|
|
129
|
-
onLoading() {
|
|
130
|
-
const extensions = this._loader.gltf.extensions;
|
|
131
|
-
if (extensions && extensions[this.name]) {
|
|
132
|
-
const extension = extensions[this.name];
|
|
133
|
-
this._variants = extension.variants;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
/** @internal */
|
|
137
|
-
onReady() {
|
|
138
|
-
const rootNode = this._loader.rootBabylonMesh;
|
|
139
|
-
if (rootNode) {
|
|
140
|
-
this._loader.parent.extensionOptions[NAME]?.onLoaded?.({
|
|
141
|
-
get variants() {
|
|
142
|
-
return KHR_materials_variants.GetAvailableVariants(rootNode);
|
|
143
|
-
},
|
|
144
|
-
get selectedVariant() {
|
|
145
|
-
const lastSelectedVariant = KHR_materials_variants.GetLastSelectedVariant(rootNode);
|
|
146
|
-
if (!lastSelectedVariant) {
|
|
147
|
-
return KHR_materials_variants.GetAvailableVariants(rootNode)[0];
|
|
148
|
-
}
|
|
149
|
-
if (Array.isArray(lastSelectedVariant)) {
|
|
150
|
-
return lastSelectedVariant[0];
|
|
151
|
-
}
|
|
152
|
-
return lastSelectedVariant;
|
|
153
|
-
},
|
|
154
|
-
set selectedVariant(variantName) {
|
|
155
|
-
KHR_materials_variants.SelectVariant(rootNode, variantName);
|
|
156
|
-
},
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* @internal
|
|
162
|
-
*/
|
|
163
|
-
_loadMeshPrimitiveAsync(context, name, node, mesh, primitive, assign) {
|
|
164
|
-
return GLTFLoader.LoadExtensionAsync(context, primitive, this.name, (extensionContext, extension) => {
|
|
165
|
-
const promises = new Array();
|
|
166
|
-
promises.push(this._loader._loadMeshPrimitiveAsync(context, name, node, mesh, primitive, (babylonMesh) => {
|
|
167
|
-
assign(babylonMesh);
|
|
168
|
-
if (babylonMesh instanceof Mesh) {
|
|
169
|
-
const babylonDrawMode = GLTFLoader._GetDrawMode(context, primitive.mode);
|
|
170
|
-
const root = this._loader.rootBabylonMesh;
|
|
171
|
-
const metadata = root ? (root._internalMetadata = root._internalMetadata || {}) : {};
|
|
172
|
-
const gltf = (metadata.gltf = metadata.gltf || {});
|
|
173
|
-
const extensionMetadata = (gltf[NAME] = gltf[NAME] || { lastSelected: null, original: [], variants: {} });
|
|
174
|
-
// Store the original material.
|
|
175
|
-
extensionMetadata.original.push({ mesh: babylonMesh, material: babylonMesh.material });
|
|
176
|
-
// For each mapping, look at the variants and make a new entry for them.
|
|
177
|
-
for (let mappingIndex = 0; mappingIndex < extension.mappings.length; ++mappingIndex) {
|
|
178
|
-
const mapping = extension.mappings[mappingIndex];
|
|
179
|
-
const material = ArrayItem.Get(`${extensionContext}/mappings/${mappingIndex}/material`, this._loader.gltf.materials, mapping.material);
|
|
180
|
-
promises.push(this._loader._loadMaterialAsync(`#/materials/${mapping.material}`, material, babylonMesh, babylonDrawMode, (babylonMaterial) => {
|
|
181
|
-
for (let mappingVariantIndex = 0; mappingVariantIndex < mapping.variants.length; ++mappingVariantIndex) {
|
|
182
|
-
const variantIndex = mapping.variants[mappingVariantIndex];
|
|
183
|
-
const variant = ArrayItem.Get(`/extensions/${NAME}/variants/${variantIndex}`, this._variants, variantIndex);
|
|
184
|
-
extensionMetadata.variants[variant.name] = extensionMetadata.variants[variant.name] || [];
|
|
185
|
-
extensionMetadata.variants[variant.name].push({
|
|
186
|
-
mesh: babylonMesh,
|
|
187
|
-
material: babylonMaterial,
|
|
188
|
-
});
|
|
189
|
-
// Replace the target when original mesh is cloned
|
|
190
|
-
babylonMesh.onClonedObservable.add((newOne) => {
|
|
191
|
-
const newMesh = newOne;
|
|
192
|
-
let metadata = null;
|
|
193
|
-
let newRoot = newMesh;
|
|
194
|
-
// Find root to get medata
|
|
195
|
-
do {
|
|
196
|
-
newRoot = newRoot.parent;
|
|
197
|
-
if (!newRoot) {
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
metadata = KHR_materials_variants._GetExtensionMetadata(newRoot);
|
|
201
|
-
} while (metadata === null);
|
|
202
|
-
// Need to clone the metadata on the root (first time only)
|
|
203
|
-
if (root && metadata === KHR_materials_variants._GetExtensionMetadata(root)) {
|
|
204
|
-
// Copy main metadata
|
|
205
|
-
newRoot._internalMetadata = {};
|
|
206
|
-
for (const key in root._internalMetadata) {
|
|
207
|
-
newRoot._internalMetadata[key] = root._internalMetadata[key];
|
|
208
|
-
}
|
|
209
|
-
// Copy the gltf metadata
|
|
210
|
-
newRoot._internalMetadata.gltf = [];
|
|
211
|
-
for (const key in root._internalMetadata.gltf) {
|
|
212
|
-
newRoot._internalMetadata.gltf[key] = root._internalMetadata.gltf[key];
|
|
213
|
-
}
|
|
214
|
-
// Duplicate the extension specific metadata
|
|
215
|
-
newRoot._internalMetadata.gltf[NAME] = { lastSelected: null, original: [], variants: {} };
|
|
216
|
-
for (const original of metadata.original) {
|
|
217
|
-
newRoot._internalMetadata.gltf[NAME].original.push({
|
|
218
|
-
mesh: original.mesh,
|
|
219
|
-
material: original.material,
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
for (const key in metadata.variants) {
|
|
223
|
-
if (Object.prototype.hasOwnProperty.call(metadata.variants, key)) {
|
|
224
|
-
newRoot._internalMetadata.gltf[NAME].variants[key] = [];
|
|
225
|
-
for (const variantEntry of metadata.variants[key]) {
|
|
226
|
-
newRoot._internalMetadata.gltf[NAME].variants[key].push({
|
|
227
|
-
mesh: variantEntry.mesh,
|
|
228
|
-
material: variantEntry.material,
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
metadata = newRoot._internalMetadata.gltf[NAME];
|
|
234
|
-
}
|
|
235
|
-
// Relocate
|
|
236
|
-
for (const target of metadata.original) {
|
|
237
|
-
if (target.mesh === babylonMesh) {
|
|
238
|
-
target.mesh = newMesh;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
for (const target of metadata.variants[variant.name]) {
|
|
242
|
-
if (target.mesh === babylonMesh) {
|
|
243
|
-
target.mesh = newMesh;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
}));
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
}));
|
|
252
|
-
return Promise.all(promises).then(([babylonMesh]) => {
|
|
253
|
-
return babylonMesh;
|
|
254
|
-
});
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
unregisterGLTFExtension(NAME);
|
|
259
|
-
registerGLTFExtension(NAME, true, (loader) => new KHR_materials_variants(loader));
|
|
260
|
-
|
|
261
|
-
export { KHR_materials_variants };
|
|
262
|
-
//# sourceMappingURL=KHR_materials_variants-BCVX3sJa.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_variants-BCVX3sJa.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_variants.js"],"sourcesContent":["import { GLTFLoader, ArrayItem } from \"../glTFLoader\";\nimport { Mesh } from \"core/Meshes/mesh\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_variants\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_variants/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_variants {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * Gets the list of available variant names for this asset.\n * @param rootNode The glTF root node\n * @returns the list of all the variant names for this model\n */\n static GetAvailableVariants(rootNode) {\n const extensionMetadata = this._GetExtensionMetadata(rootNode);\n if (!extensionMetadata) {\n return [];\n }\n return Object.keys(extensionMetadata.variants);\n }\n /**\n * Gets the list of available variant names for this asset.\n * @param rootNode The glTF root node\n * @returns the list of all the variant names for this model\n */\n getAvailableVariants(rootNode) {\n return KHR_materials_variants.GetAvailableVariants(rootNode);\n }\n /**\n * Select a variant given a variant name or a list of variant names.\n * @param rootNode The glTF root node\n * @param variantName The variant name(s) to select.\n */\n static SelectVariant(rootNode, variantName) {\n const extensionMetadata = this._GetExtensionMetadata(rootNode);\n if (!extensionMetadata) {\n throw new Error(`Cannot select variant on a glTF mesh that does not have the ${NAME} extension`);\n }\n const select = (variantName) => {\n const entries = extensionMetadata.variants[variantName];\n if (entries) {\n for (const entry of entries) {\n entry.mesh.material = entry.material;\n }\n }\n };\n if (variantName instanceof Array) {\n for (const name of variantName) {\n select(name);\n }\n }\n else {\n select(variantName);\n }\n extensionMetadata.lastSelected = variantName;\n }\n /**\n * Select a variant given a variant name or a list of variant names.\n * @param rootNode The glTF root node\n * @param variantName The variant name(s) to select.\n */\n selectVariant(rootNode, variantName) {\n KHR_materials_variants.SelectVariant(rootNode, variantName);\n }\n /**\n * Reset back to the original before selecting a variant.\n * @param rootNode The glTF root node\n */\n static Reset(rootNode) {\n const extensionMetadata = this._GetExtensionMetadata(rootNode);\n if (!extensionMetadata) {\n throw new Error(`Cannot reset on a glTF mesh that does not have the ${NAME} extension`);\n }\n for (const entry of extensionMetadata.original) {\n entry.mesh.material = entry.material;\n }\n extensionMetadata.lastSelected = null;\n }\n /**\n * Reset back to the original before selecting a variant.\n * @param rootNode The glTF root node\n */\n reset(rootNode) {\n KHR_materials_variants.Reset(rootNode);\n }\n /**\n * Gets the last selected variant name(s) or null if original.\n * @param rootNode The glTF root node\n * @returns The selected variant name(s).\n */\n static GetLastSelectedVariant(rootNode) {\n const extensionMetadata = this._GetExtensionMetadata(rootNode);\n if (!extensionMetadata) {\n throw new Error(`Cannot get the last selected variant on a glTF mesh that does not have the ${NAME} extension`);\n }\n return extensionMetadata.lastSelected;\n }\n /**\n * Gets the last selected variant name(s) or null if original.\n * @param rootNode The glTF root node\n * @returns The selected variant name(s).\n */\n getLastSelectedVariant(rootNode) {\n return KHR_materials_variants.GetLastSelectedVariant(rootNode);\n }\n static _GetExtensionMetadata(rootNode) {\n return rootNode?._internalMetadata?.gltf?.[NAME] || null;\n }\n /** @internal */\n onLoading() {\n const extensions = this._loader.gltf.extensions;\n if (extensions && extensions[this.name]) {\n const extension = extensions[this.name];\n this._variants = extension.variants;\n }\n }\n /** @internal */\n onReady() {\n const rootNode = this._loader.rootBabylonMesh;\n if (rootNode) {\n this._loader.parent.extensionOptions[NAME]?.onLoaded?.({\n get variants() {\n return KHR_materials_variants.GetAvailableVariants(rootNode);\n },\n get selectedVariant() {\n const lastSelectedVariant = KHR_materials_variants.GetLastSelectedVariant(rootNode);\n if (!lastSelectedVariant) {\n return KHR_materials_variants.GetAvailableVariants(rootNode)[0];\n }\n if (Array.isArray(lastSelectedVariant)) {\n return lastSelectedVariant[0];\n }\n return lastSelectedVariant;\n },\n set selectedVariant(variantName) {\n KHR_materials_variants.SelectVariant(rootNode, variantName);\n },\n });\n }\n }\n /**\n * @internal\n */\n _loadMeshPrimitiveAsync(context, name, node, mesh, primitive, assign) {\n return GLTFLoader.LoadExtensionAsync(context, primitive, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader._loadMeshPrimitiveAsync(context, name, node, mesh, primitive, (babylonMesh) => {\n assign(babylonMesh);\n if (babylonMesh instanceof Mesh) {\n const babylonDrawMode = GLTFLoader._GetDrawMode(context, primitive.mode);\n const root = this._loader.rootBabylonMesh;\n const metadata = root ? (root._internalMetadata = root._internalMetadata || {}) : {};\n const gltf = (metadata.gltf = metadata.gltf || {});\n const extensionMetadata = (gltf[NAME] = gltf[NAME] || { lastSelected: null, original: [], variants: {} });\n // Store the original material.\n extensionMetadata.original.push({ mesh: babylonMesh, material: babylonMesh.material });\n // For each mapping, look at the variants and make a new entry for them.\n for (let mappingIndex = 0; mappingIndex < extension.mappings.length; ++mappingIndex) {\n const mapping = extension.mappings[mappingIndex];\n const material = ArrayItem.Get(`${extensionContext}/mappings/${mappingIndex}/material`, this._loader.gltf.materials, mapping.material);\n promises.push(this._loader._loadMaterialAsync(`#/materials/${mapping.material}`, material, babylonMesh, babylonDrawMode, (babylonMaterial) => {\n for (let mappingVariantIndex = 0; mappingVariantIndex < mapping.variants.length; ++mappingVariantIndex) {\n const variantIndex = mapping.variants[mappingVariantIndex];\n const variant = ArrayItem.Get(`/extensions/${NAME}/variants/${variantIndex}`, this._variants, variantIndex);\n extensionMetadata.variants[variant.name] = extensionMetadata.variants[variant.name] || [];\n extensionMetadata.variants[variant.name].push({\n mesh: babylonMesh,\n material: babylonMaterial,\n });\n // Replace the target when original mesh is cloned\n babylonMesh.onClonedObservable.add((newOne) => {\n const newMesh = newOne;\n let metadata = null;\n let newRoot = newMesh;\n // Find root to get medata\n do {\n newRoot = newRoot.parent;\n if (!newRoot) {\n return;\n }\n metadata = KHR_materials_variants._GetExtensionMetadata(newRoot);\n } while (metadata === null);\n // Need to clone the metadata on the root (first time only)\n if (root && metadata === KHR_materials_variants._GetExtensionMetadata(root)) {\n // Copy main metadata\n newRoot._internalMetadata = {};\n for (const key in root._internalMetadata) {\n newRoot._internalMetadata[key] = root._internalMetadata[key];\n }\n // Copy the gltf metadata\n newRoot._internalMetadata.gltf = [];\n for (const key in root._internalMetadata.gltf) {\n newRoot._internalMetadata.gltf[key] = root._internalMetadata.gltf[key];\n }\n // Duplicate the extension specific metadata\n newRoot._internalMetadata.gltf[NAME] = { lastSelected: null, original: [], variants: {} };\n for (const original of metadata.original) {\n newRoot._internalMetadata.gltf[NAME].original.push({\n mesh: original.mesh,\n material: original.material,\n });\n }\n for (const key in metadata.variants) {\n if (Object.prototype.hasOwnProperty.call(metadata.variants, key)) {\n newRoot._internalMetadata.gltf[NAME].variants[key] = [];\n for (const variantEntry of metadata.variants[key]) {\n newRoot._internalMetadata.gltf[NAME].variants[key].push({\n mesh: variantEntry.mesh,\n material: variantEntry.material,\n });\n }\n }\n }\n metadata = newRoot._internalMetadata.gltf[NAME];\n }\n // Relocate\n for (const target of metadata.original) {\n if (target.mesh === babylonMesh) {\n target.mesh = newMesh;\n }\n }\n for (const target of metadata.variants[variant.name]) {\n if (target.mesh === babylonMesh) {\n target.mesh = newMesh;\n }\n }\n });\n }\n }));\n }\n }\n }));\n return Promise.all(promises).then(([babylonMesh]) => {\n return babylonMesh;\n });\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_variants(loader));\n//# sourceMappingURL=KHR_materials_variants.js.map"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{G as t,A as a}from"./glTFLoader-D4C1IGb3.esm.min.js";import{M as e,aQ as n,aR as s}from"./index-rZVkfTE6.esm.min.js";import"./rawTexture-DX8V9PEj.esm.min.js";import"./assetContainer-7pMDUaac.esm.min.js";import"./glTFLoaderAnimation-BB_Vw079.esm.min.js";const i="KHR_materials_variants";class r{constructor(t){this.name=i,this._loader=t,this.enabled=this._loader.isExtensionUsed(i)}dispose(){this._loader=null}static GetAvailableVariants(t){const a=this._GetExtensionMetadata(t);return a?Object.keys(a.variants):[]}getAvailableVariants(t){return r.GetAvailableVariants(t)}static SelectVariant(t,a){const e=this._GetExtensionMetadata(t);if(!e)throw new Error(`Cannot select variant on a glTF mesh that does not have the ${i} extension`);const n=t=>{const a=e.variants[t];if(a)for(const t of a)t.mesh.material=t.material};if(a instanceof Array)for(const t of a)n(t);else n(a);e.lastSelected=a}selectVariant(t,a){r.SelectVariant(t,a)}static Reset(t){const a=this._GetExtensionMetadata(t);if(!a)throw new Error(`Cannot reset on a glTF mesh that does not have the ${i} extension`);for(const t of a.original)t.mesh.material=t.material;a.lastSelected=null}reset(t){r.Reset(t)}static GetLastSelectedVariant(t){const a=this._GetExtensionMetadata(t);if(!a)throw new Error(`Cannot get the last selected variant on a glTF mesh that does not have the ${i} extension`);return a.lastSelected}getLastSelectedVariant(t){return r.GetLastSelectedVariant(t)}static _GetExtensionMetadata(t){return t?._internalMetadata?.gltf?.[i]||null}onLoading(){const t=this._loader.gltf.extensions;if(t&&t[this.name]){const a=t[this.name];this._variants=a.variants}}onReady(){const t=this._loader.rootBabylonMesh;t&&this._loader.parent.extensionOptions[i]?.onLoaded?.({get variants(){return r.GetAvailableVariants(t)},get selectedVariant(){const a=r.GetLastSelectedVariant(t);return a?Array.isArray(a)?a[0]:a:r.GetAvailableVariants(t)[0]},set selectedVariant(a){r.SelectVariant(t,a)}})}_loadMeshPrimitiveAsync(n,s,l,o,d,m){return t.LoadExtensionAsync(n,d,this.name,((h,c)=>{const f=new Array;return f.push(this._loader._loadMeshPrimitiveAsync(n,s,l,o,d,(s=>{if(m(s),s instanceof e){const e=t._GetDrawMode(n,d.mode),l=this._loader.rootBabylonMesh,o=l?l._internalMetadata=l._internalMetadata||{}:{},m=o.gltf=o.gltf||{},_=m[i]=m[i]||{lastSelected:null,original:[],variants:{}};_.original.push({mesh:s,material:s.material});for(let t=0;t<c.mappings.length;++t){const n=c.mappings[t],o=a.Get(`${h}/mappings/${t}/material`,this._loader.gltf.materials,n.material);f.push(this._loader._loadMaterialAsync(`#/materials/${n.material}`,o,s,e,(t=>{for(let e=0;e<n.variants.length;++e){const o=n.variants[e],d=a.Get(`/extensions/${i}/variants/${o}`,this._variants,o);_.variants[d.name]=_.variants[d.name]||[],_.variants[d.name].push({mesh:s,material:t}),s.onClonedObservable.add((t=>{const a=t;let e=null,n=a;do{if(n=n.parent,!n)return;e=r._GetExtensionMetadata(n)}while(null===e);if(l&&e===r._GetExtensionMetadata(l)){n._internalMetadata={};for(const t in l._internalMetadata)n._internalMetadata[t]=l._internalMetadata[t];n._internalMetadata.gltf=[];for(const t in l._internalMetadata.gltf)n._internalMetadata.gltf[t]=l._internalMetadata.gltf[t];n._internalMetadata.gltf[i]={lastSelected:null,original:[],variants:{}};for(const t of e.original)n._internalMetadata.gltf[i].original.push({mesh:t.mesh,material:t.material});for(const t in e.variants)if(Object.prototype.hasOwnProperty.call(e.variants,t)){n._internalMetadata.gltf[i].variants[t]=[];for(const a of e.variants[t])n._internalMetadata.gltf[i].variants[t].push({mesh:a.mesh,material:a.material})}e=n._internalMetadata.gltf[i]}for(const t of e.original)t.mesh===s&&(t.mesh=a);for(const t of e.variants[d.name])t.mesh===s&&(t.mesh=a)}))}})))}}}))),Promise.all(f).then((([t])=>t))}))}}n(i),s(i,!0,(t=>new r(t)));export{r as KHR_materials_variants};
|
|
2
|
-
//# sourceMappingURL=KHR_materials_variants-BXzl6KpJ.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_variants-BXzl6KpJ.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_variants.js"],"sourcesContent":["import { GLTFLoader, ArrayItem } from \"../glTFLoader\";\nimport { Mesh } from \"core/Meshes/mesh\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_variants\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_variants/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_variants {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * Gets the list of available variant names for this asset.\n * @param rootNode The glTF root node\n * @returns the list of all the variant names for this model\n */\n static GetAvailableVariants(rootNode) {\n const extensionMetadata = this._GetExtensionMetadata(rootNode);\n if (!extensionMetadata) {\n return [];\n }\n return Object.keys(extensionMetadata.variants);\n }\n /**\n * Gets the list of available variant names for this asset.\n * @param rootNode The glTF root node\n * @returns the list of all the variant names for this model\n */\n getAvailableVariants(rootNode) {\n return KHR_materials_variants.GetAvailableVariants(rootNode);\n }\n /**\n * Select a variant given a variant name or a list of variant names.\n * @param rootNode The glTF root node\n * @param variantName The variant name(s) to select.\n */\n static SelectVariant(rootNode, variantName) {\n const extensionMetadata = this._GetExtensionMetadata(rootNode);\n if (!extensionMetadata) {\n throw new Error(`Cannot select variant on a glTF mesh that does not have the ${NAME} extension`);\n }\n const select = (variantName) => {\n const entries = extensionMetadata.variants[variantName];\n if (entries) {\n for (const entry of entries) {\n entry.mesh.material = entry.material;\n }\n }\n };\n if (variantName instanceof Array) {\n for (const name of variantName) {\n select(name);\n }\n }\n else {\n select(variantName);\n }\n extensionMetadata.lastSelected = variantName;\n }\n /**\n * Select a variant given a variant name or a list of variant names.\n * @param rootNode The glTF root node\n * @param variantName The variant name(s) to select.\n */\n selectVariant(rootNode, variantName) {\n KHR_materials_variants.SelectVariant(rootNode, variantName);\n }\n /**\n * Reset back to the original before selecting a variant.\n * @param rootNode The glTF root node\n */\n static Reset(rootNode) {\n const extensionMetadata = this._GetExtensionMetadata(rootNode);\n if (!extensionMetadata) {\n throw new Error(`Cannot reset on a glTF mesh that does not have the ${NAME} extension`);\n }\n for (const entry of extensionMetadata.original) {\n entry.mesh.material = entry.material;\n }\n extensionMetadata.lastSelected = null;\n }\n /**\n * Reset back to the original before selecting a variant.\n * @param rootNode The glTF root node\n */\n reset(rootNode) {\n KHR_materials_variants.Reset(rootNode);\n }\n /**\n * Gets the last selected variant name(s) or null if original.\n * @param rootNode The glTF root node\n * @returns The selected variant name(s).\n */\n static GetLastSelectedVariant(rootNode) {\n const extensionMetadata = this._GetExtensionMetadata(rootNode);\n if (!extensionMetadata) {\n throw new Error(`Cannot get the last selected variant on a glTF mesh that does not have the ${NAME} extension`);\n }\n return extensionMetadata.lastSelected;\n }\n /**\n * Gets the last selected variant name(s) or null if original.\n * @param rootNode The glTF root node\n * @returns The selected variant name(s).\n */\n getLastSelectedVariant(rootNode) {\n return KHR_materials_variants.GetLastSelectedVariant(rootNode);\n }\n static _GetExtensionMetadata(rootNode) {\n return rootNode?._internalMetadata?.gltf?.[NAME] || null;\n }\n /** @internal */\n onLoading() {\n const extensions = this._loader.gltf.extensions;\n if (extensions && extensions[this.name]) {\n const extension = extensions[this.name];\n this._variants = extension.variants;\n }\n }\n /** @internal */\n onReady() {\n const rootNode = this._loader.rootBabylonMesh;\n if (rootNode) {\n this._loader.parent.extensionOptions[NAME]?.onLoaded?.({\n get variants() {\n return KHR_materials_variants.GetAvailableVariants(rootNode);\n },\n get selectedVariant() {\n const lastSelectedVariant = KHR_materials_variants.GetLastSelectedVariant(rootNode);\n if (!lastSelectedVariant) {\n return KHR_materials_variants.GetAvailableVariants(rootNode)[0];\n }\n if (Array.isArray(lastSelectedVariant)) {\n return lastSelectedVariant[0];\n }\n return lastSelectedVariant;\n },\n set selectedVariant(variantName) {\n KHR_materials_variants.SelectVariant(rootNode, variantName);\n },\n });\n }\n }\n /**\n * @internal\n */\n _loadMeshPrimitiveAsync(context, name, node, mesh, primitive, assign) {\n return GLTFLoader.LoadExtensionAsync(context, primitive, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader._loadMeshPrimitiveAsync(context, name, node, mesh, primitive, (babylonMesh) => {\n assign(babylonMesh);\n if (babylonMesh instanceof Mesh) {\n const babylonDrawMode = GLTFLoader._GetDrawMode(context, primitive.mode);\n const root = this._loader.rootBabylonMesh;\n const metadata = root ? (root._internalMetadata = root._internalMetadata || {}) : {};\n const gltf = (metadata.gltf = metadata.gltf || {});\n const extensionMetadata = (gltf[NAME] = gltf[NAME] || { lastSelected: null, original: [], variants: {} });\n // Store the original material.\n extensionMetadata.original.push({ mesh: babylonMesh, material: babylonMesh.material });\n // For each mapping, look at the variants and make a new entry for them.\n for (let mappingIndex = 0; mappingIndex < extension.mappings.length; ++mappingIndex) {\n const mapping = extension.mappings[mappingIndex];\n const material = ArrayItem.Get(`${extensionContext}/mappings/${mappingIndex}/material`, this._loader.gltf.materials, mapping.material);\n promises.push(this._loader._loadMaterialAsync(`#/materials/${mapping.material}`, material, babylonMesh, babylonDrawMode, (babylonMaterial) => {\n for (let mappingVariantIndex = 0; mappingVariantIndex < mapping.variants.length; ++mappingVariantIndex) {\n const variantIndex = mapping.variants[mappingVariantIndex];\n const variant = ArrayItem.Get(`/extensions/${NAME}/variants/${variantIndex}`, this._variants, variantIndex);\n extensionMetadata.variants[variant.name] = extensionMetadata.variants[variant.name] || [];\n extensionMetadata.variants[variant.name].push({\n mesh: babylonMesh,\n material: babylonMaterial,\n });\n // Replace the target when original mesh is cloned\n babylonMesh.onClonedObservable.add((newOne) => {\n const newMesh = newOne;\n let metadata = null;\n let newRoot = newMesh;\n // Find root to get medata\n do {\n newRoot = newRoot.parent;\n if (!newRoot) {\n return;\n }\n metadata = KHR_materials_variants._GetExtensionMetadata(newRoot);\n } while (metadata === null);\n // Need to clone the metadata on the root (first time only)\n if (root && metadata === KHR_materials_variants._GetExtensionMetadata(root)) {\n // Copy main metadata\n newRoot._internalMetadata = {};\n for (const key in root._internalMetadata) {\n newRoot._internalMetadata[key] = root._internalMetadata[key];\n }\n // Copy the gltf metadata\n newRoot._internalMetadata.gltf = [];\n for (const key in root._internalMetadata.gltf) {\n newRoot._internalMetadata.gltf[key] = root._internalMetadata.gltf[key];\n }\n // Duplicate the extension specific metadata\n newRoot._internalMetadata.gltf[NAME] = { lastSelected: null, original: [], variants: {} };\n for (const original of metadata.original) {\n newRoot._internalMetadata.gltf[NAME].original.push({\n mesh: original.mesh,\n material: original.material,\n });\n }\n for (const key in metadata.variants) {\n if (Object.prototype.hasOwnProperty.call(metadata.variants, key)) {\n newRoot._internalMetadata.gltf[NAME].variants[key] = [];\n for (const variantEntry of metadata.variants[key]) {\n newRoot._internalMetadata.gltf[NAME].variants[key].push({\n mesh: variantEntry.mesh,\n material: variantEntry.material,\n });\n }\n }\n }\n metadata = newRoot._internalMetadata.gltf[NAME];\n }\n // Relocate\n for (const target of metadata.original) {\n if (target.mesh === babylonMesh) {\n target.mesh = newMesh;\n }\n }\n for (const target of metadata.variants[variant.name]) {\n if (target.mesh === babylonMesh) {\n target.mesh = newMesh;\n }\n }\n });\n }\n }));\n }\n }\n }));\n return Promise.all(promises).then(([babylonMesh]) => {\n return babylonMesh;\n });\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_variants(loader));\n//# sourceMappingURL=KHR_materials_variants.js.map"],"names":["NAME","KHR_materials_variants","constructor","loader","this","name","_loader","enabled","isExtensionUsed","dispose","GetAvailableVariants","rootNode","extensionMetadata","_GetExtensionMetadata","Object","keys","variants","getAvailableVariants","SelectVariant","variantName","Error","select","entries","entry","mesh","material","Array","lastSelected","selectVariant","Reset","original","reset","GetLastSelectedVariant","getLastSelectedVariant","_internalMetadata","gltf","onLoading","extensions","extension","_variants","onReady","rootBabylonMesh","parent","extensionOptions","onLoaded","selectedVariant","lastSelectedVariant","isArray","_loadMeshPrimitiveAsync","context","node","primitive","assign","GLTFLoader","LoadExtensionAsync","extensionContext","promises","push","babylonMesh","Mesh","babylonDrawMode","_GetDrawMode","mode","root","metadata","mappingIndex","mappings","length","mapping","ArrayItem","Get","materials","_loadMaterialAsync","babylonMaterial","mappingVariantIndex","variantIndex","variant","onClonedObservable","add","newOne","newMesh","newRoot","key","prototype","hasOwnProperty","call","variantEntry","target","Promise","all","then","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a$ as e,aQ as s,aR as t}from"./index-rZVkfTE6.esm.min.js";import{G as n}from"./glTFLoader-D4C1IGb3.esm.min.js";import"./rawTexture-DX8V9PEj.esm.min.js";import"./assetContainer-7pMDUaac.esm.min.js";import"./glTFLoaderAnimation-BB_Vw079.esm.min.js";const r="KHR_materials_volume";class a{constructor(e){this.name=r,this.order=173,this._loader=e,this.enabled=this._loader.isExtensionUsed(r),this.enabled&&this._loader._disableInstancedMesh++}dispose(){this.enabled&&this._loader._disableInstancedMesh--,this._loader=null}loadMaterialPropertiesAsync(e,s,t){return n.LoadExtensionAsync(e,s,this.name,((n,r)=>{const a=new Array;return a.push(this._loader.loadMaterialPropertiesAsync(e,s,t)),a.push(this._loadVolumePropertiesAsync(n,s,t,r)),Promise.all(a).then((()=>{}))}))}_loadVolumePropertiesAsync(s,t,n,r){if(!(n instanceof e))throw new Error(`${s}: Material type not supported`);if(!n.subSurface.isRefractionEnabled&&!n.subSurface.isTranslucencyEnabled||!r.thicknessFactor)return Promise.resolve();n.subSurface.volumeIndexOfRefraction=n.indexOfRefraction;const a=void 0!==r.attenuationDistance?r.attenuationDistance:Number.MAX_VALUE;return n.subSurface.tintColorAtDistance=a,void 0!==r.attenuationColor&&3==r.attenuationColor.length&&n.subSurface.tintColor.copyFromFloats(r.attenuationColor[0],r.attenuationColor[1],r.attenuationColor[2]),n.subSurface.minimumThickness=0,n.subSurface.maximumThickness=r.thicknessFactor,n.subSurface.useThicknessAsDepth=!0,r.thicknessTexture?(r.thicknessTexture.nonColorData=!0,this._loader.loadTextureInfoAsync(`${s}/thicknessTexture`,r.thicknessTexture).then((e=>{e.name=`${n.name} (Thickness)`,n.subSurface.thicknessTexture=e,n.subSurface.useGltfStyleTextures=!0}))):Promise.resolve()}}s(r),t(r,!0,(e=>new a(e)));export{a as KHR_materials_volume};
|
|
2
|
-
//# sourceMappingURL=KHR_materials_volume-BD9KEaJz.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_volume-BD9KEaJz.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_volume.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_volume\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_volume/README.md)\n * @since 5.0.0\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_volume {\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 = 173;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n if (this.enabled) {\n // We need to disable instance usage because the attenuation factor depends on the node scale of each individual mesh\n this._loader._disableInstancedMesh++;\n }\n }\n /** @internal */\n dispose() {\n if (this.enabled) {\n this._loader._disableInstancedMesh--;\n }\n this._loader = null;\n }\n /**\n * @internal\n */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));\n promises.push(this._loadVolumePropertiesAsync(extensionContext, material, babylonMaterial, extension));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadVolumePropertiesAsync(context, material, babylonMaterial, extension) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n // If transparency isn't enabled already, this extension shouldn't do anything.\n // i.e. it requires either the KHR_materials_transmission or KHR_materials_diffuse_transmission extensions.\n if ((!babylonMaterial.subSurface.isRefractionEnabled && !babylonMaterial.subSurface.isTranslucencyEnabled) || !extension.thicknessFactor) {\n return Promise.resolve();\n }\n // IOR in this extension only affects interior.\n babylonMaterial.subSurface.volumeIndexOfRefraction = babylonMaterial.indexOfRefraction;\n const attenuationDistance = extension.attenuationDistance !== undefined ? extension.attenuationDistance : Number.MAX_VALUE;\n babylonMaterial.subSurface.tintColorAtDistance = attenuationDistance;\n if (extension.attenuationColor !== undefined && extension.attenuationColor.length == 3) {\n babylonMaterial.subSurface.tintColor.copyFromFloats(extension.attenuationColor[0], extension.attenuationColor[1], extension.attenuationColor[2]);\n }\n babylonMaterial.subSurface.minimumThickness = 0.0;\n babylonMaterial.subSurface.maximumThickness = extension.thicknessFactor;\n babylonMaterial.subSurface.useThicknessAsDepth = true;\n if (extension.thicknessTexture) {\n extension.thicknessTexture.nonColorData = true;\n return this._loader.loadTextureInfoAsync(`${context}/thicknessTexture`, extension.thicknessTexture).then((texture) => {\n texture.name = `${babylonMaterial.name} (Thickness)`;\n babylonMaterial.subSurface.thicknessTexture = texture;\n babylonMaterial.subSurface.useGltfStyleTextures = true;\n });\n }\n else {\n return Promise.resolve();\n }\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_volume(loader));\n//# sourceMappingURL=KHR_materials_volume.js.map"],"names":["NAME","KHR_materials_volume","constructor","loader","this","name","order","_loader","enabled","isExtensionUsed","_disableInstancedMesh","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtensionAsync","extensionContext","extension","promises","Array","push","_loadVolumePropertiesAsync","Promise","all","then","PBRMaterial","Error","subSurface","isRefractionEnabled","isTranslucencyEnabled","thicknessFactor","resolve","volumeIndexOfRefraction","indexOfRefraction","attenuationDistance","undefined","Number","MAX_VALUE","tintColorAtDistance","attenuationColor","length","tintColor","copyFromFloats","minimumThickness","maximumThickness","useThicknessAsDepth","thicknessTexture","nonColorData","loadTextureInfoAsync","texture","useGltfStyleTextures","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"8PAGA,MAAMA,EAAO,uBAMN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EAIZI,KAAKE,MAAQ,IACbF,KAAKG,QAAUJ,EACfC,KAAKI,QAAUJ,KAAKG,QAAQE,gBAAgBT,GACxCI,KAAKI,SAELJ,KAAKG,QAAQG,uBAEzB,CAEI,OAAAC,GACQP,KAAKI,SACLJ,KAAKG,QAAQG,wBAEjBN,KAAKG,QAAU,IACvB,CAII,2BAAAK,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,mBAAmBJ,EAASC,EAAUV,KAAKC,MAAM,CAACa,EAAkBC,KAClF,MAAMC,EAAW,IAAIC,MAGrB,OAFAD,EAASE,KAAKlB,KAAKG,QAAQK,4BAA4BC,EAASC,EAAUC,IAC1EK,EAASE,KAAKlB,KAAKmB,2BAA2BL,EAAkBJ,EAAUC,EAAiBI,IACpFK,QAAQC,IAAIL,GAAUM,MAAK,QAAU,GAExD,CACI,0BAAAH,CAA2BV,EAASC,EAAUC,EAAiBI,GAC3D,KAAMJ,aAA2BY,GAC7B,MAAM,IAAIC,MAAM,GAAGf,kCAIvB,IAAME,EAAgBc,WAAWC,sBAAwBf,EAAgBc,WAAWE,wBAA2BZ,EAAUa,gBACrH,OAAOR,QAAQS,UAGnBlB,EAAgBc,WAAWK,wBAA0BnB,EAAgBoB,kBACrE,MAAMC,OAAwDC,IAAlClB,EAAUiB,oBAAoCjB,EAAUiB,oBAAsBE,OAAOC,UAQjH,OAPAxB,EAAgBc,WAAWW,oBAAsBJ,OACdC,IAA/BlB,EAAUsB,kBAAuE,GAArCtB,EAAUsB,iBAAiBC,QACvE3B,EAAgBc,WAAWc,UAAUC,eAAezB,EAAUsB,iBAAiB,GAAItB,EAAUsB,iBAAiB,GAAItB,EAAUsB,iBAAiB,IAEjJ1B,EAAgBc,WAAWgB,iBAAmB,EAC9C9B,EAAgBc,WAAWiB,iBAAmB3B,EAAUa,gBACxDjB,EAAgBc,WAAWkB,qBAAsB,EAC7C5B,EAAU6B,kBACV7B,EAAU6B,iBAAiBC,cAAe,EACnC7C,KAAKG,QAAQ2C,qBAAqB,GAAGrC,qBAA4BM,EAAU6B,kBAAkBtB,MAAMyB,IACtGA,EAAQ9C,KAAO,GAAGU,EAAgBV,mBAClCU,EAAgBc,WAAWmB,iBAAmBG,EAC9CpC,EAAgBc,WAAWuB,sBAAuB,CAAI,KAInD5B,QAAQS,SAE3B,EAEAoB,EAAwBrD,GACxBsD,EAAsBtD,GAAM,GAAOG,GAAW,IAAIF,EAAqBE"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { a$ as PBRMaterial, aQ as unregisterGLTFExtension, aR as registerGLTFExtension } from './index-C6hXZyZb.esm.js';
|
|
2
|
-
import { G as GLTFLoader } from './glTFLoader-fUFiWvYb.esm.js';
|
|
3
|
-
import './rawTexture-CWiRIto8.esm.js';
|
|
4
|
-
import './assetContainer-DYzO0AbX.esm.js';
|
|
5
|
-
import './glTFLoaderAnimation-CttmY50U.esm.js';
|
|
6
|
-
|
|
7
|
-
const NAME = "KHR_materials_volume";
|
|
8
|
-
/**
|
|
9
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_volume/README.md)
|
|
10
|
-
* @since 5.0.0
|
|
11
|
-
*/
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
13
|
-
class KHR_materials_volume {
|
|
14
|
-
/**
|
|
15
|
-
* @internal
|
|
16
|
-
*/
|
|
17
|
-
constructor(loader) {
|
|
18
|
-
/**
|
|
19
|
-
* The name of this extension.
|
|
20
|
-
*/
|
|
21
|
-
this.name = NAME;
|
|
22
|
-
/**
|
|
23
|
-
* Defines a number that determines the order the extensions are applied.
|
|
24
|
-
*/
|
|
25
|
-
this.order = 173;
|
|
26
|
-
this._loader = loader;
|
|
27
|
-
this.enabled = this._loader.isExtensionUsed(NAME);
|
|
28
|
-
if (this.enabled) {
|
|
29
|
-
// We need to disable instance usage because the attenuation factor depends on the node scale of each individual mesh
|
|
30
|
-
this._loader._disableInstancedMesh++;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/** @internal */
|
|
34
|
-
dispose() {
|
|
35
|
-
if (this.enabled) {
|
|
36
|
-
this._loader._disableInstancedMesh--;
|
|
37
|
-
}
|
|
38
|
-
this._loader = null;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* @internal
|
|
42
|
-
*/
|
|
43
|
-
loadMaterialPropertiesAsync(context, material, babylonMaterial) {
|
|
44
|
-
return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {
|
|
45
|
-
const promises = new Array();
|
|
46
|
-
promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));
|
|
47
|
-
promises.push(this._loadVolumePropertiesAsync(extensionContext, material, babylonMaterial, extension));
|
|
48
|
-
return Promise.all(promises).then(() => { });
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
_loadVolumePropertiesAsync(context, material, babylonMaterial, extension) {
|
|
52
|
-
if (!(babylonMaterial instanceof PBRMaterial)) {
|
|
53
|
-
throw new Error(`${context}: Material type not supported`);
|
|
54
|
-
}
|
|
55
|
-
// If transparency isn't enabled already, this extension shouldn't do anything.
|
|
56
|
-
// i.e. it requires either the KHR_materials_transmission or KHR_materials_diffuse_transmission extensions.
|
|
57
|
-
if ((!babylonMaterial.subSurface.isRefractionEnabled && !babylonMaterial.subSurface.isTranslucencyEnabled) || !extension.thicknessFactor) {
|
|
58
|
-
return Promise.resolve();
|
|
59
|
-
}
|
|
60
|
-
// IOR in this extension only affects interior.
|
|
61
|
-
babylonMaterial.subSurface.volumeIndexOfRefraction = babylonMaterial.indexOfRefraction;
|
|
62
|
-
const attenuationDistance = extension.attenuationDistance !== undefined ? extension.attenuationDistance : Number.MAX_VALUE;
|
|
63
|
-
babylonMaterial.subSurface.tintColorAtDistance = attenuationDistance;
|
|
64
|
-
if (extension.attenuationColor !== undefined && extension.attenuationColor.length == 3) {
|
|
65
|
-
babylonMaterial.subSurface.tintColor.copyFromFloats(extension.attenuationColor[0], extension.attenuationColor[1], extension.attenuationColor[2]);
|
|
66
|
-
}
|
|
67
|
-
babylonMaterial.subSurface.minimumThickness = 0.0;
|
|
68
|
-
babylonMaterial.subSurface.maximumThickness = extension.thicknessFactor;
|
|
69
|
-
babylonMaterial.subSurface.useThicknessAsDepth = true;
|
|
70
|
-
if (extension.thicknessTexture) {
|
|
71
|
-
extension.thicknessTexture.nonColorData = true;
|
|
72
|
-
return this._loader.loadTextureInfoAsync(`${context}/thicknessTexture`, extension.thicknessTexture).then((texture) => {
|
|
73
|
-
texture.name = `${babylonMaterial.name} (Thickness)`;
|
|
74
|
-
babylonMaterial.subSurface.thicknessTexture = texture;
|
|
75
|
-
babylonMaterial.subSurface.useGltfStyleTextures = true;
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
return Promise.resolve();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
unregisterGLTFExtension(NAME);
|
|
84
|
-
registerGLTFExtension(NAME, true, (loader) => new KHR_materials_volume(loader));
|
|
85
|
-
|
|
86
|
-
export { KHR_materials_volume };
|
|
87
|
-
//# sourceMappingURL=KHR_materials_volume-DrqGUGW6.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_volume-DrqGUGW6.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_volume.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_volume\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_volume/README.md)\n * @since 5.0.0\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_volume {\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 = 173;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n if (this.enabled) {\n // We need to disable instance usage because the attenuation factor depends on the node scale of each individual mesh\n this._loader._disableInstancedMesh++;\n }\n }\n /** @internal */\n dispose() {\n if (this.enabled) {\n this._loader._disableInstancedMesh--;\n }\n this._loader = null;\n }\n /**\n * @internal\n */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));\n promises.push(this._loadVolumePropertiesAsync(extensionContext, material, babylonMaterial, extension));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadVolumePropertiesAsync(context, material, babylonMaterial, extension) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n // If transparency isn't enabled already, this extension shouldn't do anything.\n // i.e. it requires either the KHR_materials_transmission or KHR_materials_diffuse_transmission extensions.\n if ((!babylonMaterial.subSurface.isRefractionEnabled && !babylonMaterial.subSurface.isTranslucencyEnabled) || !extension.thicknessFactor) {\n return Promise.resolve();\n }\n // IOR in this extension only affects interior.\n babylonMaterial.subSurface.volumeIndexOfRefraction = babylonMaterial.indexOfRefraction;\n const attenuationDistance = extension.attenuationDistance !== undefined ? extension.attenuationDistance : Number.MAX_VALUE;\n babylonMaterial.subSurface.tintColorAtDistance = attenuationDistance;\n if (extension.attenuationColor !== undefined && extension.attenuationColor.length == 3) {\n babylonMaterial.subSurface.tintColor.copyFromFloats(extension.attenuationColor[0], extension.attenuationColor[1], extension.attenuationColor[2]);\n }\n babylonMaterial.subSurface.minimumThickness = 0.0;\n babylonMaterial.subSurface.maximumThickness = extension.thicknessFactor;\n babylonMaterial.subSurface.useThicknessAsDepth = true;\n if (extension.thicknessTexture) {\n extension.thicknessTexture.nonColorData = true;\n return this._loader.loadTextureInfoAsync(`${context}/thicknessTexture`, extension.thicknessTexture).then((texture) => {\n texture.name = `${babylonMaterial.name} (Thickness)`;\n babylonMaterial.subSurface.thicknessTexture = texture;\n babylonMaterial.subSurface.useGltfStyleTextures = true;\n });\n }\n else {\n return Promise.resolve();\n }\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_volume(loader));\n//# sourceMappingURL=KHR_materials_volume.js.map"],"names":[],"mappings":";;;;;;AAGA,MAAM,IAAI,GAAG,sBAAsB;AACnC;AACA;AACA;AACA;AACA;AACO,MAAM,oBAAoB,CAAC;AAClC;AACA;AACA;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,GAAG;AACxB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM;AAC7B,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;AACzD,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;AAC1B;AACA,YAAY,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;AAChD;AACA;AACA;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAY,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;AAChD;AACA,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI;AAC3B;AACA;AACA;AACA;AACA,IAAI,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;AACpE,QAAQ,OAAO,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,gBAAgB,EAAE,SAAS,KAAK;AAC5G,YAAY,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAE;AACxC,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;AACvG,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;AAClH,YAAY,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;AACxD,SAAS,CAAC;AACV;AACA,IAAI,0BAA0B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE;AAC9E,QAAQ,IAAI,EAAE,eAAe,YAAY,WAAW,CAAC,EAAE;AACvD,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAC;AACtE;AACA;AACA;AACA,QAAQ,IAAI,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,qBAAqB,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE;AAClJ,YAAY,OAAO,OAAO,CAAC,OAAO,EAAE;AACpC;AACA;AACA,QAAQ,eAAe,CAAC,UAAU,CAAC,uBAAuB,GAAG,eAAe,CAAC,iBAAiB;AAC9F,QAAQ,MAAM,mBAAmB,GAAG,SAAS,CAAC,mBAAmB,KAAK,SAAS,GAAG,SAAS,CAAC,mBAAmB,GAAG,MAAM,CAAC,SAAS;AAClI,QAAQ,eAAe,CAAC,UAAU,CAAC,mBAAmB,GAAG,mBAAmB;AAC5E,QAAQ,IAAI,SAAS,CAAC,gBAAgB,KAAK,SAAS,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE;AAChG,YAAY,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC5J;AACA,QAAQ,eAAe,CAAC,UAAU,CAAC,gBAAgB,GAAG,GAAG;AACzD,QAAQ,eAAe,CAAC,UAAU,CAAC,gBAAgB,GAAG,SAAS,CAAC,eAAe;AAC/E,QAAQ,eAAe,CAAC,UAAU,CAAC,mBAAmB,GAAG,IAAI;AAC7D,QAAQ,IAAI,SAAS,CAAC,gBAAgB,EAAE;AACxC,YAAY,SAAS,CAAC,gBAAgB,CAAC,YAAY,GAAG,IAAI;AAC1D,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK;AAClI,gBAAgB,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;AACpE,gBAAgB,eAAe,CAAC,UAAU,CAAC,gBAAgB,GAAG,OAAO;AACrE,gBAAgB,eAAe,CAAC,UAAU,CAAC,oBAAoB,GAAG,IAAI;AACtE,aAAa,CAAC;AACd;AACA,aAAa;AACb,YAAY,OAAO,OAAO,CAAC,OAAO,EAAE;AACpC;AACA;AACA;AACA,uBAAuB,CAAC,IAAI,CAAC;AAC7B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;;;;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aQ as s,aR as e}from"./index-rZVkfTE6.esm.min.js";const n="KHR_mesh_quantization";class i{constructor(s){this.name=n,this.enabled=s.isExtensionUsed(n)}dispose(){}}s(n),e(n,!0,(s=>new i(s)));export{i as KHR_mesh_quantization};
|
|
2
|
-
//# sourceMappingURL=KHR_mesh_quantization-Dg22auJA.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_mesh_quantization-Dg22auJA.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_mesh_quantization.js"],"sourcesContent":["import { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_mesh_quantization\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_mesh_quantization/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_mesh_quantization {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n this.enabled = loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() { }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_mesh_quantization(loader));\n//# sourceMappingURL=KHR_mesh_quantization.js.map"],"names":["NAME","KHR_mesh_quantization","constructor","loader","this","name","enabled","isExtensionUsed","dispose","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"yDACA,MAAMA,EAAO,wBAKN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EACZI,KAAKE,QAAUH,EAAOI,gBAAgBP,EAC9C,CAEI,OAAAQ,GAAU,EAEdC,EAAwBT,GACxBU,EAAsBV,GAAM,GAAOG,GAAW,IAAIF,EAAsBE"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { aQ as unregisterGLTFExtension, aR as registerGLTFExtension } from './index-C6hXZyZb.esm.js';
|
|
2
|
-
|
|
3
|
-
const NAME = "KHR_mesh_quantization";
|
|
4
|
-
/**
|
|
5
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_mesh_quantization/README.md)
|
|
6
|
-
*/
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
8
|
-
class KHR_mesh_quantization {
|
|
9
|
-
/**
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
constructor(loader) {
|
|
13
|
-
/**
|
|
14
|
-
* The name of this extension.
|
|
15
|
-
*/
|
|
16
|
-
this.name = NAME;
|
|
17
|
-
this.enabled = loader.isExtensionUsed(NAME);
|
|
18
|
-
}
|
|
19
|
-
/** @internal */
|
|
20
|
-
dispose() { }
|
|
21
|
-
}
|
|
22
|
-
unregisterGLTFExtension(NAME);
|
|
23
|
-
registerGLTFExtension(NAME, true, (loader) => new KHR_mesh_quantization(loader));
|
|
24
|
-
|
|
25
|
-
export { KHR_mesh_quantization };
|
|
26
|
-
//# sourceMappingURL=KHR_mesh_quantization-hvxpvTbe.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_mesh_quantization-hvxpvTbe.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_mesh_quantization.js"],"sourcesContent":["import { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_mesh_quantization\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_mesh_quantization/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_mesh_quantization {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n this.enabled = loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() { }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_mesh_quantization(loader));\n//# sourceMappingURL=KHR_mesh_quantization.js.map"],"names":[],"mappings":";;AACA,MAAM,IAAI,GAAG,uBAAuB;AACpC;AACA;AACA;AACA;AACO,MAAM,qBAAqB,CAAC;AACnC;AACA;AACA;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;AACnD;AACA;AACA,IAAI,OAAO,GAAG;AACd;AACA,uBAAuB,CAAC,IAAI,CAAC;AAC7B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;;;;"}
|