@babylonjs/viewer 7.29.0-alpha → 7.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configuration/configuration.d.ts +107 -0
- package/configuration/configuration.js +16 -0
- package/configuration/configuration.js.map +1 -0
- package/configuration/configurationCompatibility.d.ts +8 -0
- package/configuration/configurationCompatibility.js +66 -0
- package/configuration/configurationCompatibility.js.map +1 -0
- package/configuration/configurationContainer.d.ts +10 -0
- package/configuration/configurationContainer.js +10 -0
- package/configuration/configurationContainer.js.map +1 -0
- package/configuration/globals.d.ts +6 -0
- package/configuration/globals.js +18 -0
- package/configuration/globals.js.map +1 -0
- package/configuration/index.d.ts +2 -0
- package/configuration/index.js +4 -0
- package/configuration/index.js.map +1 -0
- package/configuration/interfaces/cameraConfiguration.d.ts +31 -0
- package/configuration/interfaces/cameraConfiguration.js +2 -0
- package/configuration/interfaces/cameraConfiguration.js.map +1 -0
- package/configuration/interfaces/colorGradingConfiguration.d.ts +81 -0
- package/configuration/interfaces/colorGradingConfiguration.js +2 -0
- package/configuration/interfaces/colorGradingConfiguration.js.map +1 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +20 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +2 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +1 -0
- package/configuration/interfaces/environmentMapConfiguration.d.ts +22 -0
- package/configuration/interfaces/environmentMapConfiguration.js +2 -0
- package/configuration/interfaces/environmentMapConfiguration.js.map +1 -0
- package/configuration/interfaces/groundConfiguration.d.ts +24 -0
- package/configuration/interfaces/groundConfiguration.js +2 -0
- package/configuration/interfaces/groundConfiguration.js.map +1 -0
- package/configuration/interfaces/imageProcessingConfiguration.d.ts +45 -0
- package/configuration/interfaces/imageProcessingConfiguration.js +2 -0
- package/configuration/interfaces/imageProcessingConfiguration.js.map +1 -0
- package/configuration/interfaces/index.d.ts +15 -0
- package/configuration/interfaces/index.js +16 -0
- package/configuration/interfaces/index.js.map +1 -0
- package/configuration/interfaces/lightConfiguration.d.ts +60 -0
- package/configuration/interfaces/lightConfiguration.js +2 -0
- package/configuration/interfaces/lightConfiguration.js.map +1 -0
- package/configuration/interfaces/modelAnimationConfiguration.d.ts +26 -0
- package/configuration/interfaces/modelAnimationConfiguration.js +2 -0
- package/configuration/interfaces/modelAnimationConfiguration.js.map +1 -0
- package/configuration/interfaces/modelConfiguration.d.ts +65 -0
- package/configuration/interfaces/modelConfiguration.js +2 -0
- package/configuration/interfaces/modelConfiguration.js.map +1 -0
- package/configuration/interfaces/observersConfiguration.d.ts +5 -0
- package/configuration/interfaces/observersConfiguration.js +2 -0
- package/configuration/interfaces/observersConfiguration.js.map +1 -0
- package/configuration/interfaces/sceneConfiguration.d.ts +48 -0
- package/configuration/interfaces/sceneConfiguration.js +2 -0
- package/configuration/interfaces/sceneConfiguration.js.map +1 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +23 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.js +2 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.js.map +1 -0
- package/configuration/interfaces/skyboxConfiguration.d.ts +21 -0
- package/configuration/interfaces/skyboxConfiguration.js +2 -0
- package/configuration/interfaces/skyboxConfiguration.js.map +1 -0
- package/configuration/interfaces/templateConfiguration.d.ts +67 -0
- package/configuration/interfaces/templateConfiguration.js +2 -0
- package/configuration/interfaces/templateConfiguration.js.map +1 -0
- package/configuration/interfaces/vrConfiguration.d.ts +16 -0
- package/configuration/interfaces/vrConfiguration.js +2 -0
- package/configuration/interfaces/vrConfiguration.js.map +1 -0
- package/configuration/loader.d.ts +4 -0
- package/configuration/loader.js +17 -0
- package/configuration/loader.js.map +1 -0
- package/configuration/mappers.d.ts +43 -0
- package/configuration/mappers.js +192 -0
- package/configuration/mappers.js.map +1 -0
- package/configuration/renderOnlyLoader.d.ts +33 -0
- package/configuration/renderOnlyLoader.js +162 -0
- package/configuration/renderOnlyLoader.js.map +1 -0
- package/configuration/types/default.d.ts +6 -0
- package/configuration/types/default.js +121 -0
- package/configuration/types/default.js.map +1 -0
- package/configuration/types/environmentMap.d.ts +5 -0
- package/configuration/types/environmentMap.js +14 -0
- package/configuration/types/environmentMap.js.map +1 -0
- package/configuration/types/extended.d.ts +6 -0
- package/configuration/types/extended.js +317 -0
- package/configuration/types/extended.js.map +1 -0
- package/configuration/types/index.d.ts +14 -0
- package/configuration/types/index.js +51 -0
- package/configuration/types/index.js.map +1 -0
- package/configuration/types/minimal.d.ts +6 -0
- package/configuration/types/minimal.js +43 -0
- package/configuration/types/minimal.js.map +1 -0
- package/configuration/types/renderOnlyDefault.d.ts +30 -0
- package/configuration/types/renderOnlyDefault.js +31 -0
- package/configuration/types/renderOnlyDefault.js.map +1 -0
- package/configuration/types/shadowLight.d.ts +9 -0
- package/configuration/types/shadowLight.js +64 -0
- package/configuration/types/shadowLight.js.map +1 -0
- package/helper/index.d.ts +29 -0
- package/helper/index.js +66 -0
- package/helper/index.js.map +1 -0
- package/index.d.ts +30 -0
- package/index.js +46 -0
- package/index.js.map +1 -0
- package/initializer.d.ts +11 -0
- package/initializer.js +35 -0
- package/initializer.js.map +1 -0
- package/interfaces.d.ts +5 -0
- package/interfaces.js +7 -0
- package/interfaces.js.map +1 -0
- package/labs/environmentSerializer.d.ts +126 -0
- package/labs/environmentSerializer.js +191 -0
- package/labs/environmentSerializer.js.map +1 -0
- package/labs/texture.d.ts +183 -0
- package/labs/texture.js +350 -0
- package/labs/texture.js.map +1 -0
- package/labs/viewerLabs.d.ts +51 -0
- package/labs/viewerLabs.js +134 -0
- package/labs/viewerLabs.js.map +1 -0
- package/loader/modelLoader.d.ts +56 -0
- package/loader/modelLoader.js +199 -0
- package/loader/modelLoader.js.map +1 -0
- package/loader/plugins/applyMaterialConfig.d.ts +12 -0
- package/loader/plugins/applyMaterialConfig.js +16 -0
- package/loader/plugins/applyMaterialConfig.js.map +1 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +9 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.js +16 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.js.map +1 -0
- package/loader/plugins/index.d.ts +19 -0
- package/loader/plugins/index.js +44 -0
- package/loader/plugins/index.js.map +1 -0
- package/loader/plugins/loaderPlugin.d.ts +24 -0
- package/loader/plugins/loaderPlugin.js +2 -0
- package/loader/plugins/loaderPlugin.js.map +1 -0
- package/loader/plugins/msftLodLoaderPlugin.d.ts +12 -0
- package/loader/plugins/msftLodLoaderPlugin.js +21 -0
- package/loader/plugins/msftLodLoaderPlugin.js.map +1 -0
- package/loader/plugins/telemetryLoaderPlugin.d.ts +12 -0
- package/loader/plugins/telemetryLoaderPlugin.js +36 -0
- package/loader/plugins/telemetryLoaderPlugin.js.map +1 -0
- package/managers/observablesManager.d.ts +66 -0
- package/managers/observablesManager.js +35 -0
- package/managers/observablesManager.js.map +1 -0
- package/managers/sceneManager.d.ts +245 -0
- package/managers/sceneManager.js +1375 -0
- package/managers/sceneManager.js.map +1 -0
- package/managers/telemetryManager.d.ts +78 -0
- package/managers/telemetryManager.js +117 -0
- package/managers/telemetryManager.js.map +1 -0
- package/model/modelAnimation.d.ts +215 -0
- package/model/modelAnimation.js +237 -0
- package/model/modelAnimation.js.map +1 -0
- package/model/viewerModel.d.ts +233 -0
- package/model/viewerModel.js +673 -0
- package/model/viewerModel.js.map +1 -0
- package/optimizer/custom/extended.d.ts +13 -0
- package/optimizer/custom/extended.js +101 -0
- package/optimizer/custom/extended.js.map +1 -0
- package/optimizer/custom/index.d.ts +9 -0
- package/optimizer/custom/index.js +26 -0
- package/optimizer/custom/index.js.map +1 -0
- package/package.json +27 -18
- package/readme.md +21 -145
- package/renderOnlyIndex.d.ts +11 -0
- package/renderOnlyIndex.js +18 -0
- package/renderOnlyIndex.js.map +1 -0
- package/templating/eventManager.d.ts +35 -0
- package/templating/eventManager.js +66 -0
- package/templating/eventManager.js.map +1 -0
- package/templating/plugins/hdButtonPlugin.d.ts +9 -0
- package/templating/plugins/hdButtonPlugin.js +21 -0
- package/templating/plugins/hdButtonPlugin.js.map +1 -0
- package/templating/plugins/printButton.d.ts +9 -0
- package/templating/plugins/printButton.js +40 -0
- package/templating/plugins/printButton.js.map +1 -0
- package/templating/templateManager.d.ts +197 -0
- package/templating/templateManager.js +561 -0
- package/templating/templateManager.js.map +1 -0
- package/templating/viewerTemplatePlugin.d.ts +21 -0
- package/templating/viewerTemplatePlugin.js +69 -0
- package/templating/viewerTemplatePlugin.js.map +1 -0
- package/viewer/defaultViewer.d.ts +130 -0
- package/viewer/defaultViewer.js +672 -0
- package/viewer/defaultViewer.js.map +1 -0
- package/viewer/renderOnlyViewer.d.ts +9 -0
- package/viewer/renderOnlyViewer.js +46 -0
- package/viewer/renderOnlyViewer.js.map +1 -0
- package/viewer/viewer.d.ts +258 -0
- package/viewer/viewer.js +783 -0
- package/viewer/viewer.js.map +1 -0
- package/viewer/viewerManager.d.ts +58 -0
- package/viewer/viewerManager.js +91 -0
- package/viewer/viewerManager.js.map +1 -0
- package/viewer/viewerWithTemplate.d.ts +9 -0
- package/viewer/viewerWithTemplate.js +20 -0
- package/viewer/viewerWithTemplate.js.map +1 -0
- package/assets/photoStudio.env +0 -0
- package/dist/babylon-viewer.esm.js +0 -2
- package/dist/babylon-viewer.esm.js.map +0 -1
- package/dist/babylon-viewer.esm.min.js +0 -2
- package/dist/babylon-viewer.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-BLpgL6xr.esm.js +0 -172
- package/dist/chunks/EXT_lights_image_based-BLpgL6xr.esm.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-DABIIMiy.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_image_based-DABIIMiy.esm.min.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-BDSRP4n4.esm.js +0 -86
- package/dist/chunks/EXT_mesh_gpu_instancing-BDSRP4n4.esm.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-BH3DaZoU.esm.min.js +0 -2
- package/dist/chunks/EXT_mesh_gpu_instancing-BH3DaZoU.esm.min.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-By8mAlyb.esm.min.js +0 -2
- package/dist/chunks/EXT_meshopt_compression-By8mAlyb.esm.min.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-D1rBruzX.esm.js +0 -134
- package/dist/chunks/EXT_meshopt_compression-D1rBruzX.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-BYi9SuPU.esm.js +0 -44
- package/dist/chunks/EXT_texture_avif-BYi9SuPU.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-BcI-wjut.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_avif-BcI-wjut.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-B77BTNKn.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_webp-B77BTNKn.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-CMPVA_Ux.esm.js +0 -43
- package/dist/chunks/EXT_texture_webp-CMPVA_Ux.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-D8JolXiD.esm.js +0 -64
- package/dist/chunks/ExtrasAsMetadata-D8JolXiD.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-H9TiKlaK.esm.min.js +0 -2
- package/dist/chunks/ExtrasAsMetadata-H9TiKlaK.esm.min.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-BMEPPqlx.esm.min.js +0 -2
- package/dist/chunks/KHR_animation_pointer-BMEPPqlx.esm.min.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-CGO-JP6i.esm.js +0 -343
- package/dist/chunks/KHR_animation_pointer-CGO-JP6i.esm.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-C7lsBOyb.esm.js +0 -610
- package/dist/chunks/KHR_draco_mesh_compression-C7lsBOyb.esm.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-C8fS1phA.esm.min.js +0 -2
- package/dist/chunks/KHR_draco_mesh_compression-C8fS1phA.esm.min.js.map +0 -1
- package/dist/chunks/KHR_interactivity-DP1E1GOi.esm.js +0 -4033
- package/dist/chunks/KHR_interactivity-DP1E1GOi.esm.js.map +0 -1
- package/dist/chunks/KHR_interactivity-jWT-yvY7.esm.min.js +0 -2
- package/dist/chunks/KHR_interactivity-jWT-yvY7.esm.min.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-BnHhNnYS.esm.min.js +0 -2
- package/dist/chunks/KHR_lights_punctual-BnHhNnYS.esm.min.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-rrrcWAHt.esm.js +0 -1253
- package/dist/chunks/KHR_lights_punctual-rrrcWAHt.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-Dde4rNcc.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_anisotropy-Dde4rNcc.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-yvGSy8c_.esm.js +0 -64
- package/dist/chunks/KHR_materials_anisotropy-yvGSy8c_.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-Bi9JRbpA.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_clearcoat-Bi9JRbpA.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-lmfQZB44.esm.js +0 -96
- package/dist/chunks/KHR_materials_clearcoat-lmfQZB44.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-BD16xvM0.esm.js +0 -97
- package/dist/chunks/KHR_materials_diffuse_transmission-BD16xvM0.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-DfIk9Z5i.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_diffuse_transmission-DfIk9Z5i.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-CI7zyE7d.esm.js +0 -62
- package/dist/chunks/KHR_materials_dispersion-CI7zyE7d.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-DUYyino9.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_dispersion-DUYyino9.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-Na6QCyFS.esm.js +0 -55
- package/dist/chunks/KHR_materials_emissive_strength-Na6QCyFS.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-q5HMxr_t.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_emissive_strength-q5HMxr_t.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_ior--dMQk-w-.esm.js +0 -64
- package/dist/chunks/KHR_materials_ior--dMQk-w-.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-DHoboBlp.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_ior-DHoboBlp.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-BQbRykOa.esm.js +0 -72
- package/dist/chunks/KHR_materials_iridescence-BQbRykOa.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-BvNKQgR-.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_iridescence-BvNKQgR-.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-D95lD-EY.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-D95lD-EY.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DcyUwgIq.esm.js +0 -81
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DcyUwgIq.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-B8GlvhnO.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_sheen-B8GlvhnO.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-CqtxCxcR.esm.js +0 -85
- package/dist/chunks/KHR_materials_sheen-CqtxCxcR.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-0k7SuDJm.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_specular-0k7SuDJm.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-WBXg6f7k.esm.js +0 -75
- package/dist/chunks/KHR_materials_specular-WBXg6f7k.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-BGYL1mq0.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_transmission-BGYL1mq0.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-DEWS0ffW.esm.js +0 -307
- package/dist/chunks/KHR_materials_transmission-DEWS0ffW.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-DQHPJyn9.esm.js +0 -74
- package/dist/chunks/KHR_materials_unlit-DQHPJyn9.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-zzzSQdNn.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_unlit-zzzSQdNn.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-VXDobVeH.esm.js +0 -238
- package/dist/chunks/KHR_materials_variants-VXDobVeH.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-iwrQxXJI.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_variants-iwrQxXJI.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-DT-KKCRg.esm.js +0 -87
- package/dist/chunks/KHR_materials_volume-DT-KKCRg.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-o7NXz9Nn.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_volume-o7NXz9Nn.esm.min.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-3qGPKoEe.esm.min.js +0 -2
- package/dist/chunks/KHR_mesh_quantization-3qGPKoEe.esm.min.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-Do30PfjZ.esm.js +0 -26
- package/dist/chunks/KHR_mesh_quantization-Do30PfjZ.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-CE9rKGzG.esm.js +0 -43
- package/dist/chunks/KHR_texture_basisu-CE9rKGzG.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-Ck2n5vg0.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_basisu-Ck2n5vg0.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-CJy8_9hQ.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_transform-CJy8_9hQ.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-Cx0DVvGQ.esm.js +0 -63
- package/dist/chunks/KHR_texture_transform-Cx0DVvGQ.esm.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-Bts0ubto.esm.min.js +0 -2
- package/dist/chunks/KHR_xmp_json_ld-Bts0ubto.esm.min.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-OUf6ft_7.esm.js +0 -51
- package/dist/chunks/KHR_xmp_json_ld-OUf6ft_7.esm.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-DfrlWbeO.esm.js +0 -2207
- package/dist/chunks/MSFT_audio_emitter-DfrlWbeO.esm.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-V_T8m6U1.esm.min.js +0 -2
- package/dist/chunks/MSFT_audio_emitter-V_T8m6U1.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_lod-BxCtz--E.esm.js +0 -337
- package/dist/chunks/MSFT_lod-BxCtz--E.esm.js.map +0 -1
- package/dist/chunks/MSFT_lod-gJ7hndkt.esm.min.js +0 -2
- package/dist/chunks/MSFT_lod-gJ7hndkt.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-CRGsPDH3.esm.js +0 -46
- package/dist/chunks/MSFT_minecraftMesh-CRGsPDH3.esm.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-DGzi9WLy.esm.min.js +0 -2
- package/dist/chunks/MSFT_minecraftMesh-DGzi9WLy.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-B6yORxCw.esm.min.js +0 -2
- package/dist/chunks/MSFT_sRGBFactors-B6yORxCw.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-DHUk7DUY.esm.js +0 -47
- package/dist/chunks/MSFT_sRGBFactors-DHUk7DUY.esm.js.map +0 -1
- package/dist/chunks/animationGroup-Boj0OWGd.esm.min.js +0 -2
- package/dist/chunks/animationGroup-Boj0OWGd.esm.min.js.map +0 -1
- package/dist/chunks/animationGroup-By2lMhyx.esm.js +0 -2479
- package/dist/chunks/animationGroup-By2lMhyx.esm.js.map +0 -1
- package/dist/chunks/assetContainer-MiYeyCfL.esm.js +0 -1720
- package/dist/chunks/assetContainer-MiYeyCfL.esm.js.map +0 -1
- package/dist/chunks/assetContainer-_iAK743I.esm.min.js +0 -2
- package/dist/chunks/assetContainer-_iAK743I.esm.min.js.map +0 -1
- package/dist/chunks/audioEngine-BfZp4Nx9.esm.min.js +0 -2
- package/dist/chunks/audioEngine-BfZp4Nx9.esm.min.js.map +0 -1
- package/dist/chunks/audioEngine-CpYtEOLP.esm.js +0 -305
- package/dist/chunks/audioEngine-CpYtEOLP.esm.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-CKTmu6gx.esm.min.js +0 -2
- package/dist/chunks/bakedVertexAnimation-CKTmu6gx.esm.min.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-DQH8b842.esm.js +0 -119
- package/dist/chunks/bakedVertexAnimation-DQH8b842.esm.js.map +0 -1
- package/dist/chunks/basisTextureLoader-T9CUrOmS.esm.min.js +0 -2
- package/dist/chunks/basisTextureLoader-T9CUrOmS.esm.min.js.map +0 -1
- package/dist/chunks/basisTextureLoader-eFcTRQym.esm.js +0 -600
- package/dist/chunks/basisTextureLoader-eFcTRQym.esm.js.map +0 -1
- package/dist/chunks/dds-CPE4Rx1r.esm.js +0 -540
- package/dist/chunks/dds-CPE4Rx1r.esm.js.map +0 -1
- package/dist/chunks/dds-CaONmIro.esm.min.js +0 -2
- package/dist/chunks/dds-CaONmIro.esm.min.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-6AgaEZf6.esm.min.js +0 -2
- package/dist/chunks/ddsTextureLoader-6AgaEZf6.esm.min.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-TU5XoRAD.esm.js +0 -88
- package/dist/chunks/ddsTextureLoader-TU5XoRAD.esm.js.map +0 -1
- package/dist/chunks/decalFragment-ByZH5cgk.esm.js +0 -18
- package/dist/chunks/decalFragment-ByZH5cgk.esm.js.map +0 -1
- package/dist/chunks/decalFragment-CBqEFHz-.esm.min.js +0 -2
- package/dist/chunks/decalFragment-CBqEFHz-.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-CK9KzasE.esm.min.js +0 -2
- package/dist/chunks/default.fragment-CK9KzasE.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-C_DV57mu.esm.js +0 -449
- package/dist/chunks/default.fragment-C_DV57mu.esm.js.map +0 -1
- package/dist/chunks/default.fragment-Dhc9EqDW.esm.min.js +0 -2
- package/dist/chunks/default.fragment-Dhc9EqDW.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-DywhQASU.esm.js +0 -515
- package/dist/chunks/default.fragment-DywhQASU.esm.js.map +0 -1
- package/dist/chunks/default.vertex-Boy19RTX.esm.min.js +0 -2
- package/dist/chunks/default.vertex-Boy19RTX.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-C7NC-Q5X.esm.js +0 -199
- package/dist/chunks/default.vertex-C7NC-Q5X.esm.js.map +0 -1
- package/dist/chunks/default.vertex-ChNYYvEU.esm.js +0 -180
- package/dist/chunks/default.vertex-ChNYYvEU.esm.js.map +0 -1
- package/dist/chunks/default.vertex-VcpEapIy.esm.min.js +0 -2
- package/dist/chunks/default.vertex-VcpEapIy.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-C_jQy41M.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-C_jQy41M.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-CzgIGZT-.esm.js +0 -13
- package/dist/chunks/defaultUboDeclaration-CzgIGZT-.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-DXP_rq4X.esm.js +0 -15
- package/dist/chunks/defaultUboDeclaration-DXP_rq4X.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-DZNlsDGM.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-DZNlsDGM.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-B-MEkpBW.esm.js +0 -401
- package/dist/chunks/dumpTools-B-MEkpBW.esm.js.map +0 -1
- package/dist/chunks/dumpTools-B_BheXxl.esm.min.js +0 -2
- package/dist/chunks/dumpTools-B_BheXxl.esm.min.js.map +0 -1
- package/dist/chunks/engine-D0ppLAY2.esm.min.js +0 -2
- package/dist/chunks/engine-D0ppLAY2.esm.min.js.map +0 -1
- package/dist/chunks/engine-DTE58S3m.esm.js +0 -2174
- package/dist/chunks/engine-DTE58S3m.esm.js.map +0 -1
- package/dist/chunks/engine.common-Cz2Oc3jG.esm.min.js +0 -2
- package/dist/chunks/engine.common-Cz2Oc3jG.esm.min.js.map +0 -1
- package/dist/chunks/engine.common-D86V9DKs.esm.js +0 -1088
- package/dist/chunks/engine.common-D86V9DKs.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-BZOa8peJ.esm.min.js +0 -2
- package/dist/chunks/envTextureLoader-BZOa8peJ.esm.min.js.map +0 -1
- package/dist/chunks/envTextureLoader-ZGF0Bakz.esm.js +0 -65
- package/dist/chunks/envTextureLoader-ZGF0Bakz.esm.js.map +0 -1
- package/dist/chunks/environmentTextureTools-BgAHEsDW.esm.js +0 -382
- package/dist/chunks/environmentTextureTools-BgAHEsDW.esm.js.map +0 -1
- package/dist/chunks/environmentTextureTools-BoCxadDB.esm.min.js +0 -2
- package/dist/chunks/environmentTextureTools-BoCxadDB.esm.min.js.map +0 -1
- package/dist/chunks/exrTextureLoader-CCUrvE8T.esm.js +0 -1682
- package/dist/chunks/exrTextureLoader-CCUrvE8T.esm.js.map +0 -1
- package/dist/chunks/exrTextureLoader-DLmw6w7U.esm.min.js +0 -2
- package/dist/chunks/exrTextureLoader-DLmw6w7U.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-C9uKTlkk.esm.js +0 -102
- package/dist/chunks/fogFragment-C9uKTlkk.esm.js.map +0 -1
- package/dist/chunks/fogFragment-CKS7vQYA.esm.min.js +0 -2
- package/dist/chunks/fogFragment-CKS7vQYA.esm.min.js.map +0 -1
- package/dist/chunks/fresnelFunction-BwiYTvrC.esm.min.js +0 -2
- package/dist/chunks/fresnelFunction-BwiYTvrC.esm.min.js.map +0 -1
- package/dist/chunks/fresnelFunction-P4tBs-LJ.esm.js +0 -12
- package/dist/chunks/fresnelFunction-P4tBs-LJ.esm.js.map +0 -1
- package/dist/chunks/glTFLoader-BImxTXn_.esm.js +0 -7562
- package/dist/chunks/glTFLoader-BImxTXn_.esm.js.map +0 -1
- package/dist/chunks/glTFLoader-BNuF7C0G.esm.min.js +0 -2
- package/dist/chunks/glTFLoader-BNuF7C0G.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-CjecIvCy.esm.js +0 -77
- package/dist/chunks/glTFLoaderAnimation-CjecIvCy.esm.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-D3PFkbs_.esm.min.js +0 -2
- package/dist/chunks/glTFLoaderAnimation-D3PFkbs_.esm.min.js.map +0 -1
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-CNsYOYYz.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-CNsYOYYz.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-CjVihVRn.esm.js +0 -34
- package/dist/chunks/harmonicsFunctions-CjVihVRn.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-DqDjKw2B.esm.js +0 -35
- package/dist/chunks/harmonicsFunctions-DqDjKw2B.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-yl0qPETc.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-yl0qPETc.esm.min.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-BNIWtINl.esm.min.js +0 -2
- package/dist/chunks/hdrTextureLoader-BNIWtINl.esm.min.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-DMEQGv9e.esm.js +0 -252
- package/dist/chunks/hdrTextureLoader-DMEQGv9e.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-BChFhVYa.esm.js +0 -80
- package/dist/chunks/helperFunctions-BChFhVYa.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-CgtzVALZ.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-CgtzVALZ.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-DO6Kdkzy.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-DO6Kdkzy.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-kAvqTiTA.esm.js +0 -108
- package/dist/chunks/helperFunctions-kAvqTiTA.esm.js.map +0 -1
- package/dist/chunks/index-DGpjt-Zr.esm.js +0 -71825
- package/dist/chunks/index-DGpjt-Zr.esm.js.map +0 -1
- package/dist/chunks/index-DrYyPlix.esm.min.js +0 -57
- package/dist/chunks/index-DrYyPlix.esm.min.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-B9nBFT5Z.esm.js +0 -814
- package/dist/chunks/ktxTextureLoader-B9nBFT5Z.esm.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-Cbery6nh.esm.min.js +0 -2
- package/dist/chunks/ktxTextureLoader-Cbery6nh.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CGY_4-ML.esm.js +0 -20
- package/dist/chunks/logDepthDeclaration-CGY_4-ML.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-DBbzin1E.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-DBbzin1E.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-DxdkXM2g.esm.js +0 -35
- package/dist/chunks/logDepthDeclaration-DxdkXM2g.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-KZf1_VtM.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-KZf1_VtM.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-4T1ajRdN.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-4T1ajRdN.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-C7Lr7R8t.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-C7Lr7R8t.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-DgcMvYjN.esm.js +0 -488
- package/dist/chunks/logDepthVertex-DgcMvYjN.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-q1TkoNq2.esm.js +0 -77
- package/dist/chunks/logDepthVertex-q1TkoNq2.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-C6ih1f42.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-C6ih1f42.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-DWdhx4Q0.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-DWdhx4Q0.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-BxJ-l2yR.esm.min.js +0 -2
- package/dist/chunks/meshUboDeclaration-BxJ-l2yR.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-DOOk3iN6.esm.js +0 -24
- package/dist/chunks/meshUboDeclaration-DOOk3iN6.esm.js.map +0 -1
- package/dist/chunks/objFileLoader-Bk5z6uQ5.esm.js +0 -1338
- package/dist/chunks/objFileLoader-Bk5z6uQ5.esm.js.map +0 -1
- package/dist/chunks/objFileLoader-D8mq1SAc.esm.min.js +0 -2
- package/dist/chunks/objFileLoader-D8mq1SAc.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-BR40uY9u.esm.min.js +0 -2
- package/dist/chunks/oitFragment-BR40uY9u.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-Cnluv66E.esm.min.js +0 -2
- package/dist/chunks/oitFragment-Cnluv66E.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-DCLs5Ofj.esm.js +0 -1210
- package/dist/chunks/oitFragment-DCLs5Ofj.esm.js.map +0 -1
- package/dist/chunks/oitFragment-_U2hGZFV.esm.js +0 -1150
- package/dist/chunks/oitFragment-_U2hGZFV.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-BfIPf9Op.esm.js +0 -15
- package/dist/chunks/pass.fragment-BfIPf9Op.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-Cqi_RtSm.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-Cqi_RtSm.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-NnudUQhH.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-NnudUQhH.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-ym6lpw5k.esm.js +0 -15
- package/dist/chunks/pass.fragment-ym6lpw5k.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-6KGFvuGz.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-6KGFvuGz.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-CCLbIhnA.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-CCLbIhnA.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-CNjQPayV.esm.js +0 -3219
- package/dist/chunks/pbr.fragment-CNjQPayV.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-De4ZFxJz.esm.js +0 -3165
- package/dist/chunks/pbr.fragment-De4ZFxJz.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-B3hmUC8g.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-B3hmUC8g.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-C1AjipVY.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-C1AjipVY.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-CAWTu6Ca.esm.js +0 -335
- package/dist/chunks/pbr.vertex-CAWTu6Ca.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-aJMmfvXE.esm.js +0 -210
- package/dist/chunks/pbr.vertex-aJMmfvXE.esm.js.map +0 -1
- package/dist/chunks/postprocess.vertex-B11DXETn.esm.js +0 -20
- package/dist/chunks/postprocess.vertex-B11DXETn.esm.js.map +0 -1
- package/dist/chunks/postprocess.vertex-C1SOpyFw.esm.js +0 -18
- package/dist/chunks/postprocess.vertex-C1SOpyFw.esm.js.map +0 -1
- package/dist/chunks/postprocess.vertex-DlCW14hL.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-DlCW14hL.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-OGjLw033.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-OGjLw033.esm.min.js.map +0 -1
- package/dist/chunks/rawTexture-Ce1ENd6V.esm.min.js +0 -2
- package/dist/chunks/rawTexture-Ce1ENd6V.esm.min.js.map +0 -1
- package/dist/chunks/rawTexture-CwYSxwby.esm.js +0 -191
- package/dist/chunks/rawTexture-CwYSxwby.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-C25V4SJl.esm.js +0 -17
- package/dist/chunks/rgbdDecode.fragment-C25V4SJl.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-C4j9qhxg.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-C4j9qhxg.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-CRVT_8Nw.esm.js +0 -17
- package/dist/chunks/rgbdDecode.fragment-CRVT_8Nw.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-Yw5MzFMM.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-Yw5MzFMM.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-AGUdw9Ul.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-AGUdw9Ul.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-BdDs7xXT.esm.js +0 -17
- package/dist/chunks/rgbdEncode.fragment-BdDs7xXT.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-CUc1-tbE.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-CUc1-tbE.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-SHjb3vhe.esm.js +0 -17
- package/dist/chunks/rgbdEncode.fragment-SHjb3vhe.esm.js.map +0 -1
- package/dist/chunks/splatFileLoader-AehXXBt6.esm.js +0 -3534
- package/dist/chunks/splatFileLoader-AehXXBt6.esm.js.map +0 -1
- package/dist/chunks/splatFileLoader-D8cMZAVa.esm.min.js +0 -2
- package/dist/chunks/splatFileLoader-D8cMZAVa.esm.min.js.map +0 -1
- package/dist/chunks/standardMaterial-CKpk68wS.esm.js +0 -1809
- package/dist/chunks/standardMaterial-CKpk68wS.esm.js.map +0 -1
- package/dist/chunks/standardMaterial-DV7gvP4N.esm.min.js +0 -2
- package/dist/chunks/standardMaterial-DV7gvP4N.esm.min.js.map +0 -1
- package/dist/chunks/stlFileLoader-Cfw83knr.esm.min.js +0 -2
- package/dist/chunks/stlFileLoader-Cfw83knr.esm.min.js.map +0 -1
- package/dist/chunks/stlFileLoader-u4p8h5Lz.esm.js +0 -238
- package/dist/chunks/stlFileLoader-u4p8h5Lz.esm.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-BtkbesJU.esm.min.js +0 -2
- package/dist/chunks/tgaTextureLoader-BtkbesJU.esm.min.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-D3clYha3.esm.js +0 -349
- package/dist/chunks/tgaTextureLoader-D3clYha3.esm.js.map +0 -1
- package/dist/chunks/thinEngine-CBTd7E-p.esm.js +0 -3721
- package/dist/chunks/thinEngine-CBTd7E-p.esm.js.map +0 -1
- package/dist/chunks/thinEngine-CyJthfdW.esm.min.js +0 -2
- package/dist/chunks/thinEngine-CyJthfdW.esm.min.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-BIcGwd1R.esm.min.js +0 -2
- package/dist/chunks/thinInstanceMesh-BIcGwd1R.esm.min.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-Cb8et1Kc.esm.js +0 -314
- package/dist/chunks/thinInstanceMesh-Cb8et1Kc.esm.js.map +0 -1
- package/dist/chunks/vertexColorMixing-Dmpv8sAw.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-Dmpv8sAw.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-m4TXU6HC.esm.js +0 -528
- package/dist/chunks/vertexColorMixing-m4TXU6HC.esm.js.map +0 -1
- package/dist/chunks/webgpuEngine-CWe8ibqx.esm.min.js +0 -2
- package/dist/chunks/webgpuEngine-CWe8ibqx.esm.min.js.map +0 -1
- package/dist/chunks/webgpuEngine-CafTCw_o.esm.js +0 -11180
- package/dist/chunks/webgpuEngine-CafTCw_o.esm.js.map +0 -1
- package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
- package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
- package/docs/ViewerDefault.jpg +0 -0
- package/docs/ViewerParts.jpg +0 -0
- package/docs/ViewerSlots.jpg +0 -0
- package/docs/ViewerStyled.jpg +0 -0
- package/lib/index.d.ts +0 -324
- package/lib/index.js +0 -1105
- package/lib/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_unlit-DQHPJyn9.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":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aT as e,p as o,aH as r,aI as a}from"./index-DrYyPlix.esm.min.js";import{G as s}from"./glTFLoader-BNuF7C0G.esm.min.js";import"./rawTexture-Ce1ENd6V.esm.min.js";import"./assetContainer-_iAK743I.esm.min.js";import"./glTFLoaderAnimation-D3PFkbs_.esm.min.js";const t="KHR_materials_unlit";class i{constructor(e){this.name=t,this.order=210,this._loader=e,this.enabled=this._loader.isExtensionUsed(t)}dispose(){this._loader=null}loadMaterialPropertiesAsync(e,o,r){return s.LoadExtensionAsync(e,o,this.name,(()=>this._loadUnlitPropertiesAsync(e,o,r)))}_loadUnlitPropertiesAsync(r,a,s){if(!(s instanceof e))throw new Error(`${r}: Material type not supported`);const t=new Array;s.unlit=!0;const i=a.pbrMetallicRoughness;return i&&(i.baseColorFactor?(s.albedoColor=o.FromArray(i.baseColorFactor),s.alpha=i.baseColorFactor[3]):s.albedoColor=o.White(),i.baseColorTexture&&t.push(this._loader.loadTextureInfoAsync(`${r}/baseColorTexture`,i.baseColorTexture,(e=>{e.name=`${s.name} (Base Color)`,s.albedoTexture=e})))),a.doubleSided&&(s.backFaceCulling=!1,s.twoSidedLighting=!0),this._loader.loadMaterialAlphaProperties(r,a,s),Promise.all(t).then((()=>{}))}}r(t),a(t,!0,(e=>new i(e)));export{i as KHR_materials_unlit};
|
|
2
|
-
//# sourceMappingURL=KHR_materials_unlit-zzzSQdNn.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_unlit-zzzSQdNn.esm.min.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":["NAME","KHR_materials_unlit","constructor","loader","this","name","order","_loader","enabled","isExtensionUsed","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtensionAsync","_loadUnlitPropertiesAsync","PBRMaterial","Error","promises","Array","unlit","properties","pbrMetallicRoughness","baseColorFactor","albedoColor","Color3","FromArray","alpha","White","baseColorTexture","push","loadTextureInfoAsync","texture","albedoTexture","doubleSided","backFaceCulling","twoSidedLighting","loadMaterialAlphaProperties","Promise","all","then","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"qQAIA,MAAMA,EAAO,sBAKN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EAIZI,KAAKE,MAAQ,IACbF,KAAKG,QAAUJ,EACfC,KAAKI,QAAUJ,KAAKG,QAAQE,gBAAgBT,EAC/C,CAED,OAAAU,GACIN,KAAKG,QAAU,IAClB,CAID,2BAAAI,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,mBAAmBJ,EAASC,EAAUT,KAAKC,MAAM,IACxDD,KAAKa,0BAA0BL,EAASC,EAAUC,IAEhE,CACD,yBAAAG,CAA0BL,EAASC,EAAUC,GACzC,KAAMA,aAA2BI,GAC7B,MAAM,IAAIC,MAAM,GAAGP,kCAEvB,MAAMQ,EAAW,IAAIC,MACrBP,EAAgBQ,OAAQ,EACxB,MAAMC,EAAaV,EAASW,qBAqB5B,OApBID,IACIA,EAAWE,iBACXX,EAAgBY,YAAcC,EAAOC,UAAUL,EAAWE,iBAC1DX,EAAgBe,MAAQN,EAAWE,gBAAgB,IAGnDX,EAAgBY,YAAcC,EAAOG,QAErCP,EAAWQ,kBACXX,EAASY,KAAK5B,KAAKG,QAAQ0B,qBAAqB,GAAGrB,qBAA4BW,EAAWQ,kBAAmBG,IACzGA,EAAQ7B,KAAO,GAAGS,EAAgBT,oBAClCS,EAAgBqB,cAAgBD,CAAO,MAI/CrB,EAASuB,cACTtB,EAAgBuB,iBAAkB,EAClCvB,EAAgBwB,kBAAmB,GAEvClC,KAAKG,QAAQgC,4BAA4B3B,EAASC,EAAUC,GACrD0B,QAAQC,IAAIrB,GAAUsB,MAAK,QACrC,EAELC,EAAwB3C,GACxB4C,EAAsB5C,GAAM,GAAOG,GAAW,IAAIF,EAAoBE"}
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import { G as GLTFLoader, A as ArrayItem } from './glTFLoader-BImxTXn_.esm.js';
|
|
2
|
-
import { M as Mesh, aH as unregisterGLTFExtension, aI as registerGLTFExtension } from './index-DGpjt-Zr.esm.js';
|
|
3
|
-
import './rawTexture-CwYSxwby.esm.js';
|
|
4
|
-
import './assetContainer-MiYeyCfL.esm.js';
|
|
5
|
-
import './glTFLoaderAnimation-CjecIvCy.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 rootMesh The glTF root mesh
|
|
31
|
-
* @returns the list of all the variant names for this model
|
|
32
|
-
*/
|
|
33
|
-
static GetAvailableVariants(rootMesh) {
|
|
34
|
-
const extensionMetadata = this._GetExtensionMetadata(rootMesh);
|
|
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 rootMesh The glTF root mesh
|
|
43
|
-
* @returns the list of all the variant names for this model
|
|
44
|
-
*/
|
|
45
|
-
getAvailableVariants(rootMesh) {
|
|
46
|
-
return KHR_materials_variants.GetAvailableVariants(rootMesh);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Select a variant given a variant name or a list of variant names.
|
|
50
|
-
* @param rootMesh The glTF root mesh
|
|
51
|
-
* @param variantName The variant name(s) to select.
|
|
52
|
-
*/
|
|
53
|
-
static SelectVariant(rootMesh, variantName) {
|
|
54
|
-
const extensionMetadata = this._GetExtensionMetadata(rootMesh);
|
|
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 rootMesh The glTF root mesh
|
|
79
|
-
* @param variantName The variant name(s) to select.
|
|
80
|
-
*/
|
|
81
|
-
selectVariant(rootMesh, variantName) {
|
|
82
|
-
KHR_materials_variants.SelectVariant(rootMesh, variantName);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Reset back to the original before selecting a variant.
|
|
86
|
-
* @param rootMesh The glTF root mesh
|
|
87
|
-
*/
|
|
88
|
-
static Reset(rootMesh) {
|
|
89
|
-
const extensionMetadata = this._GetExtensionMetadata(rootMesh);
|
|
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 rootMesh The glTF root mesh
|
|
101
|
-
*/
|
|
102
|
-
reset(rootMesh) {
|
|
103
|
-
KHR_materials_variants.Reset(rootMesh);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Gets the last selected variant name(s) or null if original.
|
|
107
|
-
* @param rootMesh The glTF root mesh
|
|
108
|
-
* @returns The selected variant name(s).
|
|
109
|
-
*/
|
|
110
|
-
static GetLastSelectedVariant(rootMesh) {
|
|
111
|
-
const extensionMetadata = this._GetExtensionMetadata(rootMesh);
|
|
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 rootMesh The glTF root mesh
|
|
120
|
-
* @returns The selected variant name(s).
|
|
121
|
-
*/
|
|
122
|
-
getLastSelectedVariant(rootMesh) {
|
|
123
|
-
return KHR_materials_variants.GetLastSelectedVariant(rootMesh);
|
|
124
|
-
}
|
|
125
|
-
static _GetExtensionMetadata(rootMesh) {
|
|
126
|
-
return rootMesh?._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
|
-
/**
|
|
137
|
-
* @internal
|
|
138
|
-
*/
|
|
139
|
-
_loadMeshPrimitiveAsync(context, name, node, mesh, primitive, assign) {
|
|
140
|
-
return GLTFLoader.LoadExtensionAsync(context, primitive, this.name, (extensionContext, extension) => {
|
|
141
|
-
const promises = new Array();
|
|
142
|
-
promises.push(this._loader._loadMeshPrimitiveAsync(context, name, node, mesh, primitive, (babylonMesh) => {
|
|
143
|
-
assign(babylonMesh);
|
|
144
|
-
if (babylonMesh instanceof Mesh) {
|
|
145
|
-
const babylonDrawMode = GLTFLoader._GetDrawMode(context, primitive.mode);
|
|
146
|
-
const root = this._loader.rootBabylonMesh;
|
|
147
|
-
const metadata = root ? (root._internalMetadata = root._internalMetadata || {}) : {};
|
|
148
|
-
const gltf = (metadata.gltf = metadata.gltf || {});
|
|
149
|
-
const extensionMetadata = (gltf[NAME] = gltf[NAME] || { lastSelected: null, original: [], variants: {} });
|
|
150
|
-
// Store the original material.
|
|
151
|
-
extensionMetadata.original.push({ mesh: babylonMesh, material: babylonMesh.material });
|
|
152
|
-
// For each mapping, look at the variants and make a new entry for them.
|
|
153
|
-
for (let mappingIndex = 0; mappingIndex < extension.mappings.length; ++mappingIndex) {
|
|
154
|
-
const mapping = extension.mappings[mappingIndex];
|
|
155
|
-
const material = ArrayItem.Get(`${extensionContext}/mappings/${mappingIndex}/material`, this._loader.gltf.materials, mapping.material);
|
|
156
|
-
promises.push(this._loader._loadMaterialAsync(`#/materials/${mapping.material}`, material, babylonMesh, babylonDrawMode, (babylonMaterial) => {
|
|
157
|
-
for (let mappingVariantIndex = 0; mappingVariantIndex < mapping.variants.length; ++mappingVariantIndex) {
|
|
158
|
-
const variantIndex = mapping.variants[mappingVariantIndex];
|
|
159
|
-
const variant = ArrayItem.Get(`/extensions/${NAME}/variants/${variantIndex}`, this._variants, variantIndex);
|
|
160
|
-
extensionMetadata.variants[variant.name] = extensionMetadata.variants[variant.name] || [];
|
|
161
|
-
extensionMetadata.variants[variant.name].push({
|
|
162
|
-
mesh: babylonMesh,
|
|
163
|
-
material: babylonMaterial,
|
|
164
|
-
});
|
|
165
|
-
// Replace the target when original mesh is cloned
|
|
166
|
-
babylonMesh.onClonedObservable.add((newOne) => {
|
|
167
|
-
const newMesh = newOne;
|
|
168
|
-
let metadata = null;
|
|
169
|
-
let newRoot = newMesh;
|
|
170
|
-
// Find root to get medata
|
|
171
|
-
do {
|
|
172
|
-
newRoot = newRoot.parent;
|
|
173
|
-
if (!newRoot) {
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
metadata = KHR_materials_variants._GetExtensionMetadata(newRoot);
|
|
177
|
-
} while (metadata === null);
|
|
178
|
-
// Need to clone the metadata on the root (first time only)
|
|
179
|
-
if (root && metadata === KHR_materials_variants._GetExtensionMetadata(root)) {
|
|
180
|
-
// Copy main metadata
|
|
181
|
-
newRoot._internalMetadata = {};
|
|
182
|
-
for (const key in root._internalMetadata) {
|
|
183
|
-
newRoot._internalMetadata[key] = root._internalMetadata[key];
|
|
184
|
-
}
|
|
185
|
-
// Copy the gltf metadata
|
|
186
|
-
newRoot._internalMetadata.gltf = [];
|
|
187
|
-
for (const key in root._internalMetadata.gltf) {
|
|
188
|
-
newRoot._internalMetadata.gltf[key] = root._internalMetadata.gltf[key];
|
|
189
|
-
}
|
|
190
|
-
// Duplicate the extension specific metadata
|
|
191
|
-
newRoot._internalMetadata.gltf[NAME] = { lastSelected: null, original: [], variants: {} };
|
|
192
|
-
for (const original of metadata.original) {
|
|
193
|
-
newRoot._internalMetadata.gltf[NAME].original.push({
|
|
194
|
-
mesh: original.mesh,
|
|
195
|
-
material: original.material,
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
for (const key in metadata.variants) {
|
|
199
|
-
if (Object.prototype.hasOwnProperty.call(metadata.variants, key)) {
|
|
200
|
-
newRoot._internalMetadata.gltf[NAME].variants[key] = [];
|
|
201
|
-
for (const variantEntry of metadata.variants[key]) {
|
|
202
|
-
newRoot._internalMetadata.gltf[NAME].variants[key].push({
|
|
203
|
-
mesh: variantEntry.mesh,
|
|
204
|
-
material: variantEntry.material,
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
metadata = newRoot._internalMetadata.gltf[NAME];
|
|
210
|
-
}
|
|
211
|
-
// Relocate
|
|
212
|
-
for (const target of metadata.original) {
|
|
213
|
-
if (target.mesh === babylonMesh) {
|
|
214
|
-
target.mesh = newMesh;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
for (const target of metadata.variants[variant.name]) {
|
|
218
|
-
if (target.mesh === babylonMesh) {
|
|
219
|
-
target.mesh = newMesh;
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
}));
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
}));
|
|
228
|
-
return Promise.all(promises).then(([babylonMesh]) => {
|
|
229
|
-
return babylonMesh;
|
|
230
|
-
});
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
unregisterGLTFExtension(NAME);
|
|
235
|
-
registerGLTFExtension(NAME, true, (loader) => new KHR_materials_variants(loader));
|
|
236
|
-
|
|
237
|
-
export { KHR_materials_variants };
|
|
238
|
-
//# sourceMappingURL=KHR_materials_variants-VXDobVeH.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_variants-VXDobVeH.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 rootMesh The glTF root mesh\n * @returns the list of all the variant names for this model\n */\n static GetAvailableVariants(rootMesh) {\n const extensionMetadata = this._GetExtensionMetadata(rootMesh);\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 rootMesh The glTF root mesh\n * @returns the list of all the variant names for this model\n */\n getAvailableVariants(rootMesh) {\n return KHR_materials_variants.GetAvailableVariants(rootMesh);\n }\n /**\n * Select a variant given a variant name or a list of variant names.\n * @param rootMesh The glTF root mesh\n * @param variantName The variant name(s) to select.\n */\n static SelectVariant(rootMesh, variantName) {\n const extensionMetadata = this._GetExtensionMetadata(rootMesh);\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 rootMesh The glTF root mesh\n * @param variantName The variant name(s) to select.\n */\n selectVariant(rootMesh, variantName) {\n KHR_materials_variants.SelectVariant(rootMesh, variantName);\n }\n /**\n * Reset back to the original before selecting a variant.\n * @param rootMesh The glTF root mesh\n */\n static Reset(rootMesh) {\n const extensionMetadata = this._GetExtensionMetadata(rootMesh);\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 rootMesh The glTF root mesh\n */\n reset(rootMesh) {\n KHR_materials_variants.Reset(rootMesh);\n }\n /**\n * Gets the last selected variant name(s) or null if original.\n * @param rootMesh The glTF root mesh\n * @returns The selected variant name(s).\n */\n static GetLastSelectedVariant(rootMesh) {\n const extensionMetadata = this._GetExtensionMetadata(rootMesh);\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 rootMesh The glTF root mesh\n * @returns The selected variant name(s).\n */\n getLastSelectedVariant(rootMesh) {\n return KHR_materials_variants.GetLastSelectedVariant(rootMesh);\n }\n static _GetExtensionMetadata(rootMesh) {\n return rootMesh?._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 /**\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-BNuF7C0G.esm.min.js";import{M as e,aH as n,aI as s}from"./index-DrYyPlix.esm.min.js";import"./rawTexture-Ce1ENd6V.esm.min.js";import"./assetContainer-_iAK743I.esm.min.js";import"./glTFLoaderAnimation-D3PFkbs_.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}}_loadMeshPrimitiveAsync(n,s,l,o,m,h){return t.LoadExtensionAsync(n,m,this.name,((d,c)=>{const f=new Array;return f.push(this._loader._loadMeshPrimitiveAsync(n,s,l,o,m,(s=>{if(h(s),s instanceof e){const e=t._GetDrawMode(n,m.mode),l=this._loader.rootBabylonMesh,o=l?l._internalMetadata=l._internalMetadata||{}:{},h=o.gltf=o.gltf||{},_=h[i]=h[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(`${d}/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],m=a.Get(`/extensions/${i}/variants/${o}`,this._variants,o);_.variants[m.name]=_.variants[m.name]||[],_.variants[m.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[m.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-iwrQxXJI.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_variants-iwrQxXJI.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 rootMesh The glTF root mesh\n * @returns the list of all the variant names for this model\n */\n static GetAvailableVariants(rootMesh) {\n const extensionMetadata = this._GetExtensionMetadata(rootMesh);\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 rootMesh The glTF root mesh\n * @returns the list of all the variant names for this model\n */\n getAvailableVariants(rootMesh) {\n return KHR_materials_variants.GetAvailableVariants(rootMesh);\n }\n /**\n * Select a variant given a variant name or a list of variant names.\n * @param rootMesh The glTF root mesh\n * @param variantName The variant name(s) to select.\n */\n static SelectVariant(rootMesh, variantName) {\n const extensionMetadata = this._GetExtensionMetadata(rootMesh);\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 rootMesh The glTF root mesh\n * @param variantName The variant name(s) to select.\n */\n selectVariant(rootMesh, variantName) {\n KHR_materials_variants.SelectVariant(rootMesh, variantName);\n }\n /**\n * Reset back to the original before selecting a variant.\n * @param rootMesh The glTF root mesh\n */\n static Reset(rootMesh) {\n const extensionMetadata = this._GetExtensionMetadata(rootMesh);\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 rootMesh The glTF root mesh\n */\n reset(rootMesh) {\n KHR_materials_variants.Reset(rootMesh);\n }\n /**\n * Gets the last selected variant name(s) or null if original.\n * @param rootMesh The glTF root mesh\n * @returns The selected variant name(s).\n */\n static GetLastSelectedVariant(rootMesh) {\n const extensionMetadata = this._GetExtensionMetadata(rootMesh);\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 rootMesh The glTF root mesh\n * @returns The selected variant name(s).\n */\n getLastSelectedVariant(rootMesh) {\n return KHR_materials_variants.GetLastSelectedVariant(rootMesh);\n }\n static _GetExtensionMetadata(rootMesh) {\n return rootMesh?._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 /**\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","rootMesh","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","_loadMeshPrimitiveAsync","context","node","primitive","assign","GLTFLoader","LoadExtensionAsync","extensionContext","promises","push","babylonMesh","Mesh","babylonDrawMode","_GetDrawMode","mode","root","rootBabylonMesh","metadata","mappingIndex","mappings","length","mapping","ArrayItem","Get","materials","_loadMaterialAsync","babylonMaterial","mappingVariantIndex","variantIndex","variant","onClonedObservable","add","newOne","newMesh","newRoot","parent","key","prototype","hasOwnProperty","call","variantEntry","target","Promise","all","then","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"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"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { aT as PBRMaterial, aH as unregisterGLTFExtension, aI as registerGLTFExtension } from './index-DGpjt-Zr.esm.js';
|
|
2
|
-
import { G as GLTFLoader } from './glTFLoader-BImxTXn_.esm.js';
|
|
3
|
-
import './rawTexture-CwYSxwby.esm.js';
|
|
4
|
-
import './assetContainer-MiYeyCfL.esm.js';
|
|
5
|
-
import './glTFLoaderAnimation-CjecIvCy.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-DT-KKCRg.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_volume-DT-KKCRg.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":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aT as e,aH as s,aI as t}from"./index-DrYyPlix.esm.min.js";import{G as n}from"./glTFLoader-BNuF7C0G.esm.min.js";import"./rawTexture-Ce1ENd6V.esm.min.js";import"./assetContainer-_iAK743I.esm.min.js";import"./glTFLoaderAnimation-D3PFkbs_.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-o7NXz9Nn.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_volume-o7NXz9Nn.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,uBAEpB,CAED,OAAAC,GACQP,KAAKI,SACLJ,KAAKG,QAAQG,wBAEjBN,KAAKG,QAAU,IAClB,CAID,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,GAEnD,CACD,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,SAEtB,EAELoB,EAAwBrD,GACxBsD,EAAsBtD,GAAM,GAAOG,GAAW,IAAIF,EAAqBE"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aH as s,aI as e}from"./index-DrYyPlix.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-3qGPKoEe.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_mesh_quantization-3qGPKoEe.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,EACzC,CAED,OAAAQ,GAAa,EAEjBC,EAAwBT,GACxBU,EAAsBV,GAAM,GAAOG,GAAW,IAAIF,EAAsBE"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { aH as unregisterGLTFExtension, aI as registerGLTFExtension } from './index-DGpjt-Zr.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-Do30PfjZ.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_mesh_quantization-Do30PfjZ.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,CAAC;AACrC;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,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACpD,KAAK;AACL;AACA,IAAI,OAAO,GAAG,GAAG;AACjB,CAAC;AACD,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;;;;"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { G as GLTFLoader, A as ArrayItem } from './glTFLoader-BImxTXn_.esm.js';
|
|
2
|
-
import { aH as unregisterGLTFExtension, aI as registerGLTFExtension } from './index-DGpjt-Zr.esm.js';
|
|
3
|
-
import './rawTexture-CwYSxwby.esm.js';
|
|
4
|
-
import './assetContainer-MiYeyCfL.esm.js';
|
|
5
|
-
import './glTFLoaderAnimation-CjecIvCy.esm.js';
|
|
6
|
-
|
|
7
|
-
const NAME = "KHR_texture_basisu";
|
|
8
|
-
/**
|
|
9
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_basisu/README.md)
|
|
10
|
-
*/
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
12
|
-
class KHR_texture_basisu {
|
|
13
|
-
/**
|
|
14
|
-
* @internal
|
|
15
|
-
*/
|
|
16
|
-
constructor(loader) {
|
|
17
|
-
/** The name of this extension. */
|
|
18
|
-
this.name = NAME;
|
|
19
|
-
this._loader = loader;
|
|
20
|
-
this.enabled = loader.isExtensionUsed(NAME);
|
|
21
|
-
}
|
|
22
|
-
/** @internal */
|
|
23
|
-
dispose() {
|
|
24
|
-
this._loader = null;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* @internal
|
|
28
|
-
*/
|
|
29
|
-
_loadTextureAsync(context, texture, assign) {
|
|
30
|
-
return GLTFLoader.LoadExtensionAsync(context, texture, this.name, (extensionContext, extension) => {
|
|
31
|
-
const sampler = texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get(`${context}/sampler`, this._loader.gltf.samplers, texture.sampler);
|
|
32
|
-
const image = ArrayItem.Get(`${extensionContext}/source`, this._loader.gltf.images, extension.source);
|
|
33
|
-
return this._loader._createTextureAsync(context, sampler, image, (babylonTexture) => {
|
|
34
|
-
assign(babylonTexture);
|
|
35
|
-
}, texture._textureInfo.nonColorData ? { useRGBAIfASTCBC7NotAvailableWhenUASTC: true } : undefined, !texture._textureInfo.nonColorData);
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
unregisterGLTFExtension(NAME);
|
|
40
|
-
registerGLTFExtension(NAME, true, (loader) => new KHR_texture_basisu(loader));
|
|
41
|
-
|
|
42
|
-
export { KHR_texture_basisu };
|
|
43
|
-
//# sourceMappingURL=KHR_texture_basisu-CE9rKGzG.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_texture_basisu-CE9rKGzG.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_texture_basisu.js"],"sourcesContent":["import { GLTFLoader, ArrayItem } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_texture_basisu\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_basisu/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_texture_basisu {\n /**\n * @internal\n */\n constructor(loader) {\n /** The name of this extension. */\n this.name = NAME;\n this._loader = loader;\n this.enabled = loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n _loadTextureAsync(context, texture, assign) {\n return GLTFLoader.LoadExtensionAsync(context, texture, this.name, (extensionContext, extension) => {\n const sampler = texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get(`${context}/sampler`, this._loader.gltf.samplers, texture.sampler);\n const image = ArrayItem.Get(`${extensionContext}/source`, this._loader.gltf.images, extension.source);\n return this._loader._createTextureAsync(context, sampler, image, (babylonTexture) => {\n assign(babylonTexture);\n }, texture._textureInfo.nonColorData ? { useRGBAIfASTCBC7NotAvailableWhenUASTC: true } : undefined, !texture._textureInfo.nonColorData);\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_texture_basisu(loader));\n//# sourceMappingURL=KHR_texture_basisu.js.map"],"names":[],"mappings":";;;;;;AAEA,MAAM,IAAI,GAAG,oBAAoB,CAAC;AAClC;AACA;AACA;AACA;AACO,MAAM,kBAAkB,CAAC;AAChC;AACA;AACA;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AAC9B,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACpD,KAAK;AACL;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAC5B,KAAK;AACL;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;AAChD,QAAQ,OAAO,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,gBAAgB,EAAE,SAAS,KAAK;AAC3G,YAAY,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,GAAG,UAAU,CAAC,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AACxK,YAAY,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAClH,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,cAAc,KAAK;AACjG,gBAAgB,MAAM,CAAC,cAAc,CAAC,CAAC;AACvC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,GAAG,EAAE,qCAAqC,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;AACpJ,SAAS,CAAC,CAAC;AACX,KAAK;AACL,CAAC;AACD,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;;;;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{G as e,A as s}from"./glTFLoader-BNuF7C0G.esm.min.js";import{aH as t,aI as r}from"./index-DrYyPlix.esm.min.js";import"./rawTexture-Ce1ENd6V.esm.min.js";import"./assetContainer-_iAK743I.esm.min.js";import"./glTFLoaderAnimation-D3PFkbs_.esm.min.js";const a="KHR_texture_basisu";class o{constructor(e){this.name=a,this._loader=e,this.enabled=e.isExtensionUsed(a)}dispose(){this._loader=null}_loadTextureAsync(t,r,a){return e.LoadExtensionAsync(t,r,this.name,((o,n)=>{const i=null==r.sampler?e.DefaultSampler:s.Get(`${t}/sampler`,this._loader.gltf.samplers,r.sampler),l=s.Get(`${o}/source`,this._loader.gltf.images,n.source);return this._loader._createTextureAsync(t,i,l,(e=>{a(e)}),r._textureInfo.nonColorData?{useRGBAIfASTCBC7NotAvailableWhenUASTC:!0}:void 0,!r._textureInfo.nonColorData)}))}}t(a),r(a,!0,(e=>new o(e)));export{o as KHR_texture_basisu};
|
|
2
|
-
//# sourceMappingURL=KHR_texture_basisu-Ck2n5vg0.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_texture_basisu-Ck2n5vg0.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_texture_basisu.js"],"sourcesContent":["import { GLTFLoader, ArrayItem } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_texture_basisu\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_basisu/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_texture_basisu {\n /**\n * @internal\n */\n constructor(loader) {\n /** The name of this extension. */\n this.name = NAME;\n this._loader = loader;\n this.enabled = loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n _loadTextureAsync(context, texture, assign) {\n return GLTFLoader.LoadExtensionAsync(context, texture, this.name, (extensionContext, extension) => {\n const sampler = texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get(`${context}/sampler`, this._loader.gltf.samplers, texture.sampler);\n const image = ArrayItem.Get(`${extensionContext}/source`, this._loader.gltf.images, extension.source);\n return this._loader._createTextureAsync(context, sampler, image, (babylonTexture) => {\n assign(babylonTexture);\n }, texture._textureInfo.nonColorData ? { useRGBAIfASTCBC7NotAvailableWhenUASTC: true } : undefined, !texture._textureInfo.nonColorData);\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_texture_basisu(loader));\n//# sourceMappingURL=KHR_texture_basisu.js.map"],"names":["NAME","KHR_texture_basisu","constructor","loader","this","name","_loader","enabled","isExtensionUsed","dispose","_loadTextureAsync","context","texture","assign","GLTFLoader","LoadExtensionAsync","extensionContext","extension","sampler","undefined","DefaultSampler","ArrayItem","Get","gltf","samplers","image","images","source","_createTextureAsync","babylonTexture","_textureInfo","nonColorData","useRGBAIfASTCBC7NotAvailableWhenUASTC","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"6PAEA,MAAMA,EAAO,qBAKN,MAAMC,EAIT,WAAAC,CAAYC,GAERC,KAAKC,KAAOL,EACZI,KAAKE,QAAUH,EACfC,KAAKG,QAAUJ,EAAOK,gBAAgBR,EACzC,CAED,OAAAS,GACIL,KAAKE,QAAU,IAClB,CAID,iBAAAI,CAAkBC,EAASC,EAASC,GAChC,OAAOC,EAAWC,mBAAmBJ,EAASC,EAASR,KAAKC,MAAM,CAACW,EAAkBC,KACjF,MAAMC,EAA6BC,MAAnBP,EAAQM,QAAuBJ,EAAWM,eAAiBC,EAAUC,IAAI,GAAGX,YAAmBP,KAAKE,QAAQiB,KAAKC,SAAUZ,EAAQM,SAC7IO,EAAQJ,EAAUC,IAAI,GAAGN,WAA2BZ,KAAKE,QAAQiB,KAAKG,OAAQT,EAAUU,QAC9F,OAAOvB,KAAKE,QAAQsB,oBAAoBjB,EAASO,EAASO,GAAQI,IAC9DhB,EAAOgB,EAAe,GACvBjB,EAAQkB,aAAaC,aAAe,CAAEC,uCAAuC,QAASb,GAAYP,EAAQkB,aAAaC,aAAa,GAE9I,EAELE,EAAwBjC,GACxBkC,EAAsBlC,GAAM,GAAOG,GAAW,IAAIF,EAAmBE"}
|