@babylonjs/viewer 7.31.0-alpha → 7.31.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-1Sn4IFKs.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_image_based-1Sn4IFKs.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-D3t-ue9C.esm.js +0 -172
- package/dist/chunks/EXT_lights_image_based-D3t-ue9C.esm.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-CzXou_C5.esm.min.js +0 -2
- package/dist/chunks/EXT_mesh_gpu_instancing-CzXou_C5.esm.min.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-DNqfkZKe.esm.js +0 -86
- package/dist/chunks/EXT_mesh_gpu_instancing-DNqfkZKe.esm.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-BFcdcCqV.esm.js +0 -134
- package/dist/chunks/EXT_meshopt_compression-BFcdcCqV.esm.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-ypfe6hxf.esm.min.js +0 -2
- package/dist/chunks/EXT_meshopt_compression-ypfe6hxf.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-BY8qfvRI.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_avif-BY8qfvRI.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-Rv3zIg4n.esm.js +0 -44
- package/dist/chunks/EXT_texture_avif-Rv3zIg4n.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-D2O_CsAp.esm.js +0 -43
- package/dist/chunks/EXT_texture_webp-D2O_CsAp.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-oE-jrE0E.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_webp-oE-jrE0E.esm.min.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-BhuY0e54.esm.js +0 -64
- package/dist/chunks/ExtrasAsMetadata-BhuY0e54.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-qFEtoYbf.esm.min.js +0 -2
- package/dist/chunks/ExtrasAsMetadata-qFEtoYbf.esm.min.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-Bj6qGv9V.esm.min.js +0 -2
- package/dist/chunks/KHR_animation_pointer-Bj6qGv9V.esm.min.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-e5LnBZe7.esm.js +0 -343
- package/dist/chunks/KHR_animation_pointer-e5LnBZe7.esm.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-BnFvVWE1.esm.js +0 -610
- package/dist/chunks/KHR_draco_mesh_compression-BnFvVWE1.esm.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-CVQu_5W6.esm.min.js +0 -2
- package/dist/chunks/KHR_draco_mesh_compression-CVQu_5W6.esm.min.js.map +0 -1
- package/dist/chunks/KHR_interactivity-D7Zg2GDq.esm.js +0 -4033
- package/dist/chunks/KHR_interactivity-D7Zg2GDq.esm.js.map +0 -1
- package/dist/chunks/KHR_interactivity-xGH2Adpb.esm.min.js +0 -2
- package/dist/chunks/KHR_interactivity-xGH2Adpb.esm.min.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-BBAuDZDL.esm.js +0 -1253
- package/dist/chunks/KHR_lights_punctual-BBAuDZDL.esm.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-By9M6UVy.esm.min.js +0 -2
- package/dist/chunks/KHR_lights_punctual-By9M6UVy.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-Dkjoca14.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_anisotropy-Dkjoca14.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-qH3HobA9.esm.js +0 -64
- package/dist/chunks/KHR_materials_anisotropy-qH3HobA9.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-DAuJsTVp.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_clearcoat-DAuJsTVp.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-Rh6mwG6v.esm.js +0 -96
- package/dist/chunks/KHR_materials_clearcoat-Rh6mwG6v.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-CaxPwhcF.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_diffuse_transmission-CaxPwhcF.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-jR3LYlsn.esm.js +0 -97
- package/dist/chunks/KHR_materials_diffuse_transmission-jR3LYlsn.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-BRhiELQt.esm.js +0 -62
- package/dist/chunks/KHR_materials_dispersion-BRhiELQt.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-c6lYSa9v.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_dispersion-c6lYSa9v.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-C4KADmHK.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_emissive_strength-C4KADmHK.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-COLYrrO0.esm.js +0 -55
- package/dist/chunks/KHR_materials_emissive_strength-COLYrrO0.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-9bOEUBVJ.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_ior-9bOEUBVJ.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-CfRDQILO.esm.js +0 -64
- package/dist/chunks/KHR_materials_ior-CfRDQILO.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-BK4vIyb6.esm.js +0 -72
- package/dist/chunks/KHR_materials_iridescence-BK4vIyb6.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-DMeUVUvt.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_iridescence-DMeUVUvt.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CWS40ry_.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CWS40ry_.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-cT4jFxi_.esm.js +0 -81
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-cT4jFxi_.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-BsgoALiy.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_sheen-BsgoALiy.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-CvenDbqD.esm.js +0 -85
- package/dist/chunks/KHR_materials_sheen-CvenDbqD.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-BeN-G9hP.esm.js +0 -75
- package/dist/chunks/KHR_materials_specular-BeN-G9hP.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-Czv7IKcP.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_specular-Czv7IKcP.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-Bak4NBR7.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_transmission-Bak4NBR7.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-heOgvXed.esm.js +0 -307
- package/dist/chunks/KHR_materials_transmission-heOgvXed.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-IBVAhMFj.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_unlit-IBVAhMFj.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-wxh2_v42.esm.js +0 -74
- package/dist/chunks/KHR_materials_unlit-wxh2_v42.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-BsiSr1O-.esm.js +0 -238
- package/dist/chunks/KHR_materials_variants-BsiSr1O-.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-Dj5fUGRW.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_variants-Dj5fUGRW.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-CZH9egfT.esm.js +0 -87
- package/dist/chunks/KHR_materials_volume-CZH9egfT.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-DfCuukn0.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_volume-DfCuukn0.esm.min.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-BIobOHHb.esm.min.js +0 -2
- package/dist/chunks/KHR_mesh_quantization-BIobOHHb.esm.min.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-QON7M_53.esm.js +0 -26
- package/dist/chunks/KHR_mesh_quantization-QON7M_53.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-BoG2JtnT.esm.js +0 -43
- package/dist/chunks/KHR_texture_basisu-BoG2JtnT.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-CzUzxtEH.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_basisu-CzUzxtEH.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-B3PKgt19.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_transform-B3PKgt19.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-Da8RjC5v.esm.js +0 -63
- package/dist/chunks/KHR_texture_transform-Da8RjC5v.esm.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-BXaa7VXe.esm.js +0 -51
- package/dist/chunks/KHR_xmp_json_ld-BXaa7VXe.esm.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-HVJ543WV.esm.min.js +0 -2
- package/dist/chunks/KHR_xmp_json_ld-HVJ543WV.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-BYUSVj_s.esm.js +0 -2207
- package/dist/chunks/MSFT_audio_emitter-BYUSVj_s.esm.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-Bf4t92OW.esm.min.js +0 -2
- package/dist/chunks/MSFT_audio_emitter-Bf4t92OW.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_lod-BTk5ksDE.esm.min.js +0 -2
- package/dist/chunks/MSFT_lod-BTk5ksDE.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_lod-D5456UFP.esm.js +0 -337
- package/dist/chunks/MSFT_lod-D5456UFP.esm.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-CCs8f9du.esm.js +0 -46
- package/dist/chunks/MSFT_minecraftMesh-CCs8f9du.esm.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-CgKnODjc.esm.min.js +0 -2
- package/dist/chunks/MSFT_minecraftMesh-CgKnODjc.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-BNCv6Gre.esm.min.js +0 -2
- package/dist/chunks/MSFT_sRGBFactors-BNCv6Gre.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-C3nCz417.esm.js +0 -47
- package/dist/chunks/MSFT_sRGBFactors-C3nCz417.esm.js.map +0 -1
- package/dist/chunks/animationGroup-B_FlMnip.esm.js +0 -2479
- package/dist/chunks/animationGroup-B_FlMnip.esm.js.map +0 -1
- package/dist/chunks/animationGroup-U_g242TE.esm.min.js +0 -2
- package/dist/chunks/animationGroup-U_g242TE.esm.min.js.map +0 -1
- package/dist/chunks/assetContainer-DJXgbG9e.esm.min.js +0 -2
- package/dist/chunks/assetContainer-DJXgbG9e.esm.min.js.map +0 -1
- package/dist/chunks/assetContainer-shLWEkis.esm.js +0 -1720
- package/dist/chunks/assetContainer-shLWEkis.esm.js.map +0 -1
- package/dist/chunks/audioEngine-BdqCvyFS.esm.min.js +0 -2
- package/dist/chunks/audioEngine-BdqCvyFS.esm.min.js.map +0 -1
- package/dist/chunks/audioEngine-CSl97t3Y.esm.js +0 -305
- package/dist/chunks/audioEngine-CSl97t3Y.esm.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-C225r8bl.esm.min.js +0 -2
- package/dist/chunks/bakedVertexAnimation-C225r8bl.esm.min.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-Dne6l1Oz.esm.js +0 -119
- package/dist/chunks/bakedVertexAnimation-Dne6l1Oz.esm.js.map +0 -1
- package/dist/chunks/basisTextureLoader-BfheE-xD.esm.min.js +0 -2
- package/dist/chunks/basisTextureLoader-BfheE-xD.esm.min.js.map +0 -1
- package/dist/chunks/basisTextureLoader-VQfGwMJX.esm.js +0 -600
- package/dist/chunks/basisTextureLoader-VQfGwMJX.esm.js.map +0 -1
- package/dist/chunks/dds-CPxH79qD.esm.min.js +0 -2
- package/dist/chunks/dds-CPxH79qD.esm.min.js.map +0 -1
- package/dist/chunks/dds-jupK5Xca.esm.js +0 -540
- package/dist/chunks/dds-jupK5Xca.esm.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-CWwCoP7e.esm.js +0 -88
- package/dist/chunks/ddsTextureLoader-CWwCoP7e.esm.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-ee9z1K7d.esm.min.js +0 -2
- package/dist/chunks/ddsTextureLoader-ee9z1K7d.esm.min.js.map +0 -1
- package/dist/chunks/decalFragment-Bgt_beL3.esm.min.js +0 -2
- package/dist/chunks/decalFragment-Bgt_beL3.esm.min.js.map +0 -1
- package/dist/chunks/decalFragment-U3dusC_b.esm.js +0 -18
- package/dist/chunks/decalFragment-U3dusC_b.esm.js.map +0 -1
- package/dist/chunks/default.fragment-755hWDS-.esm.min.js +0 -2
- package/dist/chunks/default.fragment-755hWDS-.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-D_6g-4FJ.esm.min.js +0 -2
- package/dist/chunks/default.fragment-D_6g-4FJ.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-gPrZWAN-.esm.js +0 -515
- package/dist/chunks/default.fragment-gPrZWAN-.esm.js.map +0 -1
- package/dist/chunks/default.fragment-nUN83GhL.esm.js +0 -449
- package/dist/chunks/default.fragment-nUN83GhL.esm.js.map +0 -1
- package/dist/chunks/default.vertex-DtF9_kYE.esm.min.js +0 -2
- package/dist/chunks/default.vertex-DtF9_kYE.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-DvTIJZKP.esm.min.js +0 -2
- package/dist/chunks/default.vertex-DvTIJZKP.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-F2GFvisP.esm.js +0 -199
- package/dist/chunks/default.vertex-F2GFvisP.esm.js.map +0 -1
- package/dist/chunks/default.vertex-OWU0h_CV.esm.js +0 -180
- package/dist/chunks/default.vertex-OWU0h_CV.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-BaqLnFSv.esm.js +0 -15
- package/dist/chunks/defaultUboDeclaration-BaqLnFSv.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-CUGFIA-Y.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-CUGFIA-Y.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-DbiYbpus.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-DbiYbpus.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-DlF6YqnH.esm.js +0 -13
- package/dist/chunks/defaultUboDeclaration-DlF6YqnH.esm.js.map +0 -1
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +0 -11
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +0 -1
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +0 -2
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +0 -1
- package/dist/chunks/dumpTools-CC7eSIIa.esm.min.js +0 -2
- package/dist/chunks/dumpTools-CC7eSIIa.esm.min.js.map +0 -1
- package/dist/chunks/dumpTools-CP5neapl.esm.js +0 -402
- package/dist/chunks/dumpTools-CP5neapl.esm.js.map +0 -1
- package/dist/chunks/engine-CXvt3UCI.esm.min.js +0 -2
- package/dist/chunks/engine-CXvt3UCI.esm.min.js.map +0 -1
- package/dist/chunks/engine-trgW7_81.esm.js +0 -2174
- package/dist/chunks/engine-trgW7_81.esm.js.map +0 -1
- package/dist/chunks/engine.common-BPl1llb8.esm.min.js +0 -2
- package/dist/chunks/engine.common-BPl1llb8.esm.min.js.map +0 -1
- package/dist/chunks/engine.common-GP9nuuba.esm.js +0 -1088
- package/dist/chunks/engine.common-GP9nuuba.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-1bAO1Mm5.esm.js +0 -65
- package/dist/chunks/envTextureLoader-1bAO1Mm5.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-ClAG0fvY.esm.min.js +0 -2
- package/dist/chunks/envTextureLoader-ClAG0fvY.esm.min.js.map +0 -1
- package/dist/chunks/environmentTextureTools-DObcbjyn.esm.js +0 -382
- package/dist/chunks/environmentTextureTools-DObcbjyn.esm.js.map +0 -1
- package/dist/chunks/environmentTextureTools-DSF9-gKd.esm.min.js +0 -2
- package/dist/chunks/environmentTextureTools-DSF9-gKd.esm.min.js.map +0 -1
- package/dist/chunks/exrTextureLoader-KLC0QCGj.esm.min.js +0 -2
- package/dist/chunks/exrTextureLoader-KLC0QCGj.esm.min.js.map +0 -1
- package/dist/chunks/exrTextureLoader-b9G_ErfI.esm.js +0 -1682
- package/dist/chunks/exrTextureLoader-b9G_ErfI.esm.js.map +0 -1
- package/dist/chunks/fogFragment-Cr8RDhS8.esm.min.js +0 -2
- package/dist/chunks/fogFragment-Cr8RDhS8.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-CxJJx6zN.esm.js +0 -102
- package/dist/chunks/fogFragment-CxJJx6zN.esm.js.map +0 -1
- package/dist/chunks/fresnelFunction-BbOBXKTe.esm.min.js +0 -2
- package/dist/chunks/fresnelFunction-BbOBXKTe.esm.min.js.map +0 -1
- package/dist/chunks/fresnelFunction-Cpph6xZu.esm.js +0 -12
- package/dist/chunks/fresnelFunction-Cpph6xZu.esm.js.map +0 -1
- package/dist/chunks/glTFLoader-BFTXjWeW.esm.js +0 -7577
- package/dist/chunks/glTFLoader-BFTXjWeW.esm.js.map +0 -1
- package/dist/chunks/glTFLoader-C1FQTJvU.esm.min.js +0 -2
- package/dist/chunks/glTFLoader-C1FQTJvU.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-BCVHkNQT.esm.js +0 -77
- package/dist/chunks/glTFLoaderAnimation-BCVHkNQT.esm.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-ncwBNhw0.esm.min.js +0 -2
- package/dist/chunks/glTFLoaderAnimation-ncwBNhw0.esm.min.js.map +0 -1
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-66G9hOzR.esm.js +0 -35
- package/dist/chunks/harmonicsFunctions-66G9hOzR.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-Bvt11NHS.esm.js +0 -34
- package/dist/chunks/harmonicsFunctions-Bvt11NHS.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-D0Re3qr9.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-D0Re3qr9.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-D9bArd30.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-D9bArd30.esm.min.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-BMnKRS4K.esm.min.js +0 -2
- package/dist/chunks/hdrTextureLoader-BMnKRS4K.esm.min.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-ETVy5rPX.esm.js +0 -252
- package/dist/chunks/hdrTextureLoader-ETVy5rPX.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-1Uut4KQI.esm.js +0 -108
- package/dist/chunks/helperFunctions-1Uut4KQI.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-1x6PNrxE.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-1x6PNrxE.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-CJjw4iZI.esm.js +0 -80
- package/dist/chunks/helperFunctions-CJjw4iZI.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-J9m3fJc_.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-J9m3fJc_.esm.min.js.map +0 -1
- package/dist/chunks/index-Cb7zGjYe.esm.js +0 -72045
- package/dist/chunks/index-Cb7zGjYe.esm.js.map +0 -1
- package/dist/chunks/index-CkOp_ioW.esm.min.js +0 -57
- package/dist/chunks/index-CkOp_ioW.esm.min.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-C4PPft8N.esm.min.js +0 -2
- package/dist/chunks/ktxTextureLoader-C4PPft8N.esm.min.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-DLZDXIUP.esm.js +0 -814
- package/dist/chunks/ktxTextureLoader-DLZDXIUP.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-BOGD7tpa.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-BOGD7tpa.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-BRSEcIOm.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-BRSEcIOm.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-Bix7HqfF.esm.js +0 -20
- package/dist/chunks/logDepthDeclaration-Bix7HqfF.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CvnYdiLu.esm.js +0 -35
- package/dist/chunks/logDepthDeclaration-CvnYdiLu.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-CwCjtdqq.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-CwCjtdqq.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-Nm8V7C0Z.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-Nm8V7C0Z.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-_i7_lZHr.esm.js +0 -77
- package/dist/chunks/logDepthVertex-_i7_lZHr.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-eenp9mns.esm.js +0 -488
- package/dist/chunks/logDepthVertex-eenp9mns.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-HzWn5jph.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-HzWn5jph.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-lsGkWAON.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-lsGkWAON.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-BmNS2VSX.esm.min.js +0 -2
- package/dist/chunks/meshUboDeclaration-BmNS2VSX.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-CEgHTdJe.esm.js +0 -24
- package/dist/chunks/meshUboDeclaration-CEgHTdJe.esm.js.map +0 -1
- package/dist/chunks/objFileLoader-8bz2-Jb0.esm.min.js +0 -2
- package/dist/chunks/objFileLoader-8bz2-Jb0.esm.min.js.map +0 -1
- package/dist/chunks/objFileLoader-BDQi-zCy.esm.js +0 -1338
- package/dist/chunks/objFileLoader-BDQi-zCy.esm.js.map +0 -1
- package/dist/chunks/oitFragment-Be6X-0NA.esm.js +0 -1150
- package/dist/chunks/oitFragment-Be6X-0NA.esm.js.map +0 -1
- package/dist/chunks/oitFragment-DWdtkgKQ.esm.min.js +0 -2
- package/dist/chunks/oitFragment-DWdtkgKQ.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-o6GCGw0X.esm.min.js +0 -2
- package/dist/chunks/oitFragment-o6GCGw0X.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-x42vz6VK.esm.js +0 -1210
- package/dist/chunks/oitFragment-x42vz6VK.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-CMPjD56P.esm.js +0 -15
- package/dist/chunks/pass.fragment-CMPjD56P.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-DeE_D_Ho.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-DeE_D_Ho.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-XFaFDzze.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-XFaFDzze.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-sInzyG4C.esm.js +0 -15
- package/dist/chunks/pass.fragment-sInzyG4C.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-B9NWhj7v.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-B9NWhj7v.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-BhRoKi7n.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-BhRoKi7n.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-CUczqvrb.esm.js +0 -3219
- package/dist/chunks/pbr.fragment-CUczqvrb.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-gKQNER09.esm.js +0 -3165
- package/dist/chunks/pbr.fragment-gKQNER09.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-C4dWKPQ3.esm.js +0 -335
- package/dist/chunks/pbr.vertex-C4dWKPQ3.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-CATY0wtz.esm.js +0 -210
- package/dist/chunks/pbr.vertex-CATY0wtz.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-CeQL7NsJ.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-CeQL7NsJ.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-D74kRBI7.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-D74kRBI7.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-D9sxQJT6.esm.js +0 -18
- package/dist/chunks/postprocess.vertex-D9sxQJT6.esm.js.map +0 -1
- package/dist/chunks/postprocess.vertex-DdMLiNeD.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-DdMLiNeD.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-DdSrvJuP.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-DdSrvJuP.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-EjDuDs7l.esm.js +0 -20
- package/dist/chunks/postprocess.vertex-EjDuDs7l.esm.js.map +0 -1
- package/dist/chunks/rawTexture-Bo4-e4rx.esm.js +0 -191
- package/dist/chunks/rawTexture-Bo4-e4rx.esm.js.map +0 -1
- package/dist/chunks/rawTexture-WJAHgyBM.esm.min.js +0 -2
- package/dist/chunks/rawTexture-WJAHgyBM.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-BsO7SzGw.esm.js +0 -17
- package/dist/chunks/rgbdDecode.fragment-BsO7SzGw.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-CXGWY_Zq.esm.js +0 -17
- package/dist/chunks/rgbdDecode.fragment-CXGWY_Zq.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-DHrGqYGx.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-DHrGqYGx.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-M48plJKv.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-M48plJKv.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-72S9TLT4.esm.js +0 -17
- package/dist/chunks/rgbdEncode.fragment-72S9TLT4.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-BUON0ZNd.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-BUON0ZNd.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-CNl9WQUM.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-CNl9WQUM.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-DtRf0vhW.esm.js +0 -17
- package/dist/chunks/rgbdEncode.fragment-DtRf0vhW.esm.js.map +0 -1
- package/dist/chunks/splatFileLoader-1QbSvkNp.esm.min.js +0 -2
- package/dist/chunks/splatFileLoader-1QbSvkNp.esm.min.js.map +0 -1
- package/dist/chunks/splatFileLoader-BLSQsIhb.esm.js +0 -3534
- package/dist/chunks/splatFileLoader-BLSQsIhb.esm.js.map +0 -1
- package/dist/chunks/standardMaterial-4sW8n3MU.esm.min.js +0 -2
- package/dist/chunks/standardMaterial-4sW8n3MU.esm.min.js.map +0 -1
- package/dist/chunks/standardMaterial-BMVfbLzg.esm.js +0 -1800
- package/dist/chunks/standardMaterial-BMVfbLzg.esm.js.map +0 -1
- package/dist/chunks/stlFileLoader-BsbF7xOo.esm.js +0 -238
- package/dist/chunks/stlFileLoader-BsbF7xOo.esm.js.map +0 -1
- package/dist/chunks/stlFileLoader-CIEDAEkS.esm.min.js +0 -2
- package/dist/chunks/stlFileLoader-CIEDAEkS.esm.min.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-BbTIdrAk.esm.min.js +0 -2
- package/dist/chunks/tgaTextureLoader-BbTIdrAk.esm.min.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-Dzknjg7w.esm.js +0 -349
- package/dist/chunks/tgaTextureLoader-Dzknjg7w.esm.js.map +0 -1
- package/dist/chunks/thinEngine-D9PVgBpS.esm.min.js +0 -2
- package/dist/chunks/thinEngine-D9PVgBpS.esm.min.js.map +0 -1
- package/dist/chunks/thinEngine-DGKggD4b.esm.js +0 -3721
- package/dist/chunks/thinEngine-DGKggD4b.esm.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-Cm7oVt83.esm.js +0 -314
- package/dist/chunks/thinInstanceMesh-Cm7oVt83.esm.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-CpMngBy7.esm.min.js +0 -2
- package/dist/chunks/thinInstanceMesh-CpMngBy7.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-DH0rI910.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-DH0rI910.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-U49ClqLL.esm.js +0 -528
- package/dist/chunks/vertexColorMixing-U49ClqLL.esm.js.map +0 -1
- package/dist/chunks/webgpuEngine-BL-YuOoY.esm.min.js +0 -2
- package/dist/chunks/webgpuEngine-BL-YuOoY.esm.min.js.map +0 -1
- package/dist/chunks/webgpuEngine-DPV5C2k5.esm.js +0 -11191
- package/dist/chunks/webgpuEngine-DPV5C2k5.esm.js.map +0 -1
- package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
- package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
- package/docs/ViewerDefault.jpg +0 -0
- package/docs/ViewerParts.jpg +0 -0
- package/docs/ViewerSlots.jpg +0 -0
- package/docs/ViewerStyled.jpg +0 -0
- package/lib/index.d.ts +0 -325
- package/lib/index.js +0 -1116
- package/lib/index.js.map +0 -1
|
@@ -1,307 +0,0 @@
|
|
|
1
|
-
import { aU as PBRMaterial, aI as unregisterGLTFExtension, aJ as registerGLTFExtension, C as Constants, aN as Observable, T as Tools, aV as RenderTargetTexture } from './index-Cb7zGjYe.esm.js';
|
|
2
|
-
import { G as GLTFLoader } from './glTFLoader-BFTXjWeW.esm.js';
|
|
3
|
-
import './rawTexture-Bo4-e4rx.esm.js';
|
|
4
|
-
import './assetContainer-shLWEkis.esm.js';
|
|
5
|
-
import './glTFLoaderAnimation-BCVHkNQT.esm.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* A class to handle setting up the rendering of opaque objects to be shown through transmissive objects.
|
|
9
|
-
*/
|
|
10
|
-
class TransmissionHelper {
|
|
11
|
-
/**
|
|
12
|
-
* Creates the default options for the helper.
|
|
13
|
-
* @returns the default options
|
|
14
|
-
*/
|
|
15
|
-
static _GetDefaultOptions() {
|
|
16
|
-
return {
|
|
17
|
-
renderSize: 1024,
|
|
18
|
-
samples: 4,
|
|
19
|
-
lodGenerationScale: 1,
|
|
20
|
-
lodGenerationOffset: -4,
|
|
21
|
-
renderTargetTextureType: Constants.TEXTURETYPE_HALF_FLOAT,
|
|
22
|
-
generateMipmaps: true,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* constructor
|
|
27
|
-
* @param options Defines the options we want to customize the helper
|
|
28
|
-
* @param scene The scene to add the material to
|
|
29
|
-
*/
|
|
30
|
-
constructor(options, scene) {
|
|
31
|
-
this._opaqueRenderTarget = null;
|
|
32
|
-
this._opaqueMeshesCache = [];
|
|
33
|
-
this._transparentMeshesCache = [];
|
|
34
|
-
this._materialObservers = {};
|
|
35
|
-
this._options = {
|
|
36
|
-
...TransmissionHelper._GetDefaultOptions(),
|
|
37
|
-
...options,
|
|
38
|
-
};
|
|
39
|
-
this._scene = scene;
|
|
40
|
-
this._scene._transmissionHelper = this;
|
|
41
|
-
this.onErrorObservable = new Observable();
|
|
42
|
-
this._scene.onDisposeObservable.addOnce(() => {
|
|
43
|
-
this.dispose();
|
|
44
|
-
});
|
|
45
|
-
this._parseScene();
|
|
46
|
-
this._setupRenderTargets();
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Updates the background according to the new options
|
|
50
|
-
* @param options
|
|
51
|
-
*/
|
|
52
|
-
updateOptions(options) {
|
|
53
|
-
// First check if any options are actually being changed. If not, exit.
|
|
54
|
-
const newValues = Object.keys(options).filter((key) => this._options[key] !== options[key]);
|
|
55
|
-
if (!newValues.length) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const newOptions = {
|
|
59
|
-
...this._options,
|
|
60
|
-
...options,
|
|
61
|
-
};
|
|
62
|
-
const oldOptions = this._options;
|
|
63
|
-
this._options = newOptions;
|
|
64
|
-
// If size changes, recreate everything
|
|
65
|
-
if (newOptions.renderSize !== oldOptions.renderSize ||
|
|
66
|
-
newOptions.renderTargetTextureType !== oldOptions.renderTargetTextureType ||
|
|
67
|
-
newOptions.generateMipmaps !== oldOptions.generateMipmaps ||
|
|
68
|
-
!this._opaqueRenderTarget) {
|
|
69
|
-
this._setupRenderTargets();
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
this._opaqueRenderTarget.samples = newOptions.samples;
|
|
73
|
-
this._opaqueRenderTarget.lodGenerationScale = newOptions.lodGenerationScale;
|
|
74
|
-
this._opaqueRenderTarget.lodGenerationOffset = newOptions.lodGenerationOffset;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* @returns the opaque render target texture or null if not available.
|
|
79
|
-
*/
|
|
80
|
-
getOpaqueTarget() {
|
|
81
|
-
return this._opaqueRenderTarget;
|
|
82
|
-
}
|
|
83
|
-
_shouldRenderAsTransmission(material) {
|
|
84
|
-
if (!material) {
|
|
85
|
-
return false;
|
|
86
|
-
}
|
|
87
|
-
if (material instanceof PBRMaterial && material.subSurface.isRefractionEnabled) {
|
|
88
|
-
return true;
|
|
89
|
-
}
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
_addMesh(mesh) {
|
|
93
|
-
this._materialObservers[mesh.uniqueId] = mesh.onMaterialChangedObservable.add(this._onMeshMaterialChanged.bind(this));
|
|
94
|
-
// we need to defer the processing because _addMesh may be called as part as an instance mesh creation, in which case some
|
|
95
|
-
// internal properties are not setup yet, like _sourceMesh (needed when doing mesh.material below)
|
|
96
|
-
Tools.SetImmediate(() => {
|
|
97
|
-
if (this._shouldRenderAsTransmission(mesh.material)) {
|
|
98
|
-
mesh.material.refractionTexture = this._opaqueRenderTarget;
|
|
99
|
-
if (this._transparentMeshesCache.indexOf(mesh) === -1) {
|
|
100
|
-
this._transparentMeshesCache.push(mesh);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
if (this._opaqueMeshesCache.indexOf(mesh) === -1) {
|
|
105
|
-
this._opaqueMeshesCache.push(mesh);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
_removeMesh(mesh) {
|
|
111
|
-
mesh.onMaterialChangedObservable.remove(this._materialObservers[mesh.uniqueId]);
|
|
112
|
-
delete this._materialObservers[mesh.uniqueId];
|
|
113
|
-
let idx = this._transparentMeshesCache.indexOf(mesh);
|
|
114
|
-
if (idx !== -1) {
|
|
115
|
-
this._transparentMeshesCache.splice(idx, 1);
|
|
116
|
-
}
|
|
117
|
-
idx = this._opaqueMeshesCache.indexOf(mesh);
|
|
118
|
-
if (idx !== -1) {
|
|
119
|
-
this._opaqueMeshesCache.splice(idx, 1);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
_parseScene() {
|
|
123
|
-
this._scene.meshes.forEach(this._addMesh.bind(this));
|
|
124
|
-
// Listen for when a mesh is added to the scene and add it to our cache lists.
|
|
125
|
-
this._scene.onNewMeshAddedObservable.add(this._addMesh.bind(this));
|
|
126
|
-
// Listen for when a mesh is removed from to the scene and remove it from our cache lists.
|
|
127
|
-
this._scene.onMeshRemovedObservable.add(this._removeMesh.bind(this));
|
|
128
|
-
}
|
|
129
|
-
// When one of the meshes in the scene has its material changed, make sure that it's in the correct cache list.
|
|
130
|
-
_onMeshMaterialChanged(mesh) {
|
|
131
|
-
const transparentIdx = this._transparentMeshesCache.indexOf(mesh);
|
|
132
|
-
const opaqueIdx = this._opaqueMeshesCache.indexOf(mesh);
|
|
133
|
-
// If the material is transparent, make sure that it's added to the transparent list and removed from the opaque list
|
|
134
|
-
const useTransmission = this._shouldRenderAsTransmission(mesh.material);
|
|
135
|
-
if (useTransmission) {
|
|
136
|
-
if (mesh.material instanceof PBRMaterial) {
|
|
137
|
-
mesh.material.subSurface.refractionTexture = this._opaqueRenderTarget;
|
|
138
|
-
}
|
|
139
|
-
if (opaqueIdx !== -1) {
|
|
140
|
-
this._opaqueMeshesCache.splice(opaqueIdx, 1);
|
|
141
|
-
this._transparentMeshesCache.push(mesh);
|
|
142
|
-
}
|
|
143
|
-
else if (transparentIdx === -1) {
|
|
144
|
-
this._transparentMeshesCache.push(mesh);
|
|
145
|
-
}
|
|
146
|
-
// If the material is opaque, make sure that it's added to the opaque list and removed from the transparent list
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
if (transparentIdx !== -1) {
|
|
150
|
-
this._transparentMeshesCache.splice(transparentIdx, 1);
|
|
151
|
-
this._opaqueMeshesCache.push(mesh);
|
|
152
|
-
}
|
|
153
|
-
else if (opaqueIdx === -1) {
|
|
154
|
-
this._opaqueMeshesCache.push(mesh);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* @internal
|
|
160
|
-
* Check if the opaque render target has not been disposed and can still be used.
|
|
161
|
-
* @returns
|
|
162
|
-
*/
|
|
163
|
-
_isRenderTargetValid() {
|
|
164
|
-
return this._opaqueRenderTarget?.getInternalTexture() !== null;
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* @internal
|
|
168
|
-
* Setup the render targets according to the specified options.
|
|
169
|
-
*/
|
|
170
|
-
_setupRenderTargets() {
|
|
171
|
-
if (this._opaqueRenderTarget) {
|
|
172
|
-
this._opaqueRenderTarget.dispose();
|
|
173
|
-
}
|
|
174
|
-
this._opaqueRenderTarget = new RenderTargetTexture("opaqueSceneTexture", this._options.renderSize, this._scene, this._options.generateMipmaps, undefined, this._options.renderTargetTextureType);
|
|
175
|
-
this._opaqueRenderTarget.ignoreCameraViewport = true;
|
|
176
|
-
this._opaqueRenderTarget.renderList = this._opaqueMeshesCache;
|
|
177
|
-
this._opaqueRenderTarget.clearColor = this._options.clearColor?.clone() ?? this._scene.clearColor.clone();
|
|
178
|
-
this._opaqueRenderTarget.gammaSpace = false;
|
|
179
|
-
this._opaqueRenderTarget.lodGenerationScale = this._options.lodGenerationScale;
|
|
180
|
-
this._opaqueRenderTarget.lodGenerationOffset = this._options.lodGenerationOffset;
|
|
181
|
-
this._opaqueRenderTarget.samples = this._options.samples;
|
|
182
|
-
this._opaqueRenderTarget.renderSprites = true;
|
|
183
|
-
this._opaqueRenderTarget.renderParticles = true;
|
|
184
|
-
let sceneImageProcessingapplyByPostProcess;
|
|
185
|
-
let saveSceneEnvIntensity;
|
|
186
|
-
this._opaqueRenderTarget.onBeforeBindObservable.add((opaqueRenderTarget) => {
|
|
187
|
-
saveSceneEnvIntensity = this._scene.environmentIntensity;
|
|
188
|
-
this._scene.environmentIntensity = 1.0;
|
|
189
|
-
sceneImageProcessingapplyByPostProcess = this._scene.imageProcessingConfiguration.applyByPostProcess;
|
|
190
|
-
if (!this._options.clearColor) {
|
|
191
|
-
this._scene.clearColor.toLinearSpaceToRef(opaqueRenderTarget.clearColor, this._scene.getEngine().useExactSrgbConversions);
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
opaqueRenderTarget.clearColor.copyFrom(this._options.clearColor);
|
|
195
|
-
}
|
|
196
|
-
// we do not use the applyByPostProcess setter to avoid flagging all the materials as "image processing dirty"!
|
|
197
|
-
this._scene.imageProcessingConfiguration._applyByPostProcess = true;
|
|
198
|
-
});
|
|
199
|
-
this._opaqueRenderTarget.onAfterUnbindObservable.add(() => {
|
|
200
|
-
this._scene.environmentIntensity = saveSceneEnvIntensity;
|
|
201
|
-
this._scene.imageProcessingConfiguration._applyByPostProcess = sceneImageProcessingapplyByPostProcess;
|
|
202
|
-
});
|
|
203
|
-
this._transparentMeshesCache.forEach((mesh) => {
|
|
204
|
-
if (this._shouldRenderAsTransmission(mesh.material)) {
|
|
205
|
-
mesh.material.refractionTexture = this._opaqueRenderTarget;
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Dispose all the elements created by the Helper.
|
|
211
|
-
*/
|
|
212
|
-
dispose() {
|
|
213
|
-
this._scene._transmissionHelper = undefined;
|
|
214
|
-
if (this._opaqueRenderTarget) {
|
|
215
|
-
this._opaqueRenderTarget.dispose();
|
|
216
|
-
this._opaqueRenderTarget = null;
|
|
217
|
-
}
|
|
218
|
-
this._transparentMeshesCache = [];
|
|
219
|
-
this._opaqueMeshesCache = [];
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
const NAME = "KHR_materials_transmission";
|
|
223
|
-
/**
|
|
224
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_transmission/README.md)
|
|
225
|
-
*/
|
|
226
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
227
|
-
class KHR_materials_transmission {
|
|
228
|
-
/**
|
|
229
|
-
* @internal
|
|
230
|
-
*/
|
|
231
|
-
constructor(loader) {
|
|
232
|
-
/**
|
|
233
|
-
* The name of this extension.
|
|
234
|
-
*/
|
|
235
|
-
this.name = NAME;
|
|
236
|
-
/**
|
|
237
|
-
* Defines a number that determines the order the extensions are applied.
|
|
238
|
-
*/
|
|
239
|
-
this.order = 175;
|
|
240
|
-
this._loader = loader;
|
|
241
|
-
this.enabled = this._loader.isExtensionUsed(NAME);
|
|
242
|
-
if (this.enabled) {
|
|
243
|
-
loader.parent.transparencyAsCoverage = true;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
/** @internal */
|
|
247
|
-
dispose() {
|
|
248
|
-
this._loader = null;
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* @internal
|
|
252
|
-
*/
|
|
253
|
-
loadMaterialPropertiesAsync(context, material, babylonMaterial) {
|
|
254
|
-
return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {
|
|
255
|
-
const promises = new Array();
|
|
256
|
-
promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));
|
|
257
|
-
promises.push(this._loadTransparentPropertiesAsync(extensionContext, material, babylonMaterial, extension));
|
|
258
|
-
return Promise.all(promises).then(() => { });
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
_loadTransparentPropertiesAsync(context, material, babylonMaterial, extension) {
|
|
262
|
-
if (!(babylonMaterial instanceof PBRMaterial)) {
|
|
263
|
-
throw new Error(`${context}: Material type not supported`);
|
|
264
|
-
}
|
|
265
|
-
const pbrMaterial = babylonMaterial;
|
|
266
|
-
// Enables "refraction" texture which represents transmitted light.
|
|
267
|
-
pbrMaterial.subSurface.isRefractionEnabled = true;
|
|
268
|
-
// Since this extension models thin-surface transmission only, we must make IOR = 1.0
|
|
269
|
-
pbrMaterial.subSurface.volumeIndexOfRefraction = 1.0;
|
|
270
|
-
// Albedo colour will tint transmission.
|
|
271
|
-
pbrMaterial.subSurface.useAlbedoToTintRefraction = true;
|
|
272
|
-
if (extension.transmissionFactor !== undefined) {
|
|
273
|
-
pbrMaterial.subSurface.refractionIntensity = extension.transmissionFactor;
|
|
274
|
-
const scene = pbrMaterial.getScene();
|
|
275
|
-
if (pbrMaterial.subSurface.refractionIntensity && !scene._transmissionHelper) {
|
|
276
|
-
new TransmissionHelper({}, pbrMaterial.getScene());
|
|
277
|
-
}
|
|
278
|
-
else if (pbrMaterial.subSurface.refractionIntensity && !scene._transmissionHelper?._isRenderTargetValid()) {
|
|
279
|
-
// If the render target is not valid, recreate it.
|
|
280
|
-
scene._transmissionHelper?._setupRenderTargets();
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
else {
|
|
284
|
-
pbrMaterial.subSurface.refractionIntensity = 0.0;
|
|
285
|
-
pbrMaterial.subSurface.isRefractionEnabled = false;
|
|
286
|
-
return Promise.resolve();
|
|
287
|
-
}
|
|
288
|
-
pbrMaterial.subSurface.minimumThickness = 0.0;
|
|
289
|
-
pbrMaterial.subSurface.maximumThickness = 0.0;
|
|
290
|
-
if (extension.transmissionTexture) {
|
|
291
|
-
extension.transmissionTexture.nonColorData = true;
|
|
292
|
-
return this._loader.loadTextureInfoAsync(`${context}/transmissionTexture`, extension.transmissionTexture, undefined).then((texture) => {
|
|
293
|
-
texture.name = `${babylonMaterial.name} (Transmission)`;
|
|
294
|
-
pbrMaterial.subSurface.refractionIntensityTexture = texture;
|
|
295
|
-
pbrMaterial.subSurface.useGltfStyleTextures = true;
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
else {
|
|
299
|
-
return Promise.resolve();
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
unregisterGLTFExtension(NAME);
|
|
304
|
-
registerGLTFExtension(NAME, true, (loader) => new KHR_materials_transmission(loader));
|
|
305
|
-
|
|
306
|
-
export { KHR_materials_transmission };
|
|
307
|
-
//# sourceMappingURL=KHR_materials_transmission-heOgvXed.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_transmission-heOgvXed.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_transmission.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { RenderTargetTexture } from \"core/Materials/Textures/renderTargetTexture\";\nimport { Observable } from \"core/Misc/observable\";\nimport { Constants } from \"core/Engines/constants\";\nimport { Tools } from \"core/Misc/tools\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\n/**\n * A class to handle setting up the rendering of opaque objects to be shown through transmissive objects.\n */\nclass TransmissionHelper {\n /**\n * Creates the default options for the helper.\n * @returns the default options\n */\n static _GetDefaultOptions() {\n return {\n renderSize: 1024,\n samples: 4,\n lodGenerationScale: 1,\n lodGenerationOffset: -4,\n renderTargetTextureType: Constants.TEXTURETYPE_HALF_FLOAT,\n generateMipmaps: true,\n };\n }\n /**\n * constructor\n * @param options Defines the options we want to customize the helper\n * @param scene The scene to add the material to\n */\n constructor(options, scene) {\n this._opaqueRenderTarget = null;\n this._opaqueMeshesCache = [];\n this._transparentMeshesCache = [];\n this._materialObservers = {};\n this._options = {\n ...TransmissionHelper._GetDefaultOptions(),\n ...options,\n };\n this._scene = scene;\n this._scene._transmissionHelper = this;\n this.onErrorObservable = new Observable();\n this._scene.onDisposeObservable.addOnce(() => {\n this.dispose();\n });\n this._parseScene();\n this._setupRenderTargets();\n }\n /**\n * Updates the background according to the new options\n * @param options\n */\n updateOptions(options) {\n // First check if any options are actually being changed. If not, exit.\n const newValues = Object.keys(options).filter((key) => this._options[key] !== options[key]);\n if (!newValues.length) {\n return;\n }\n const newOptions = {\n ...this._options,\n ...options,\n };\n const oldOptions = this._options;\n this._options = newOptions;\n // If size changes, recreate everything\n if (newOptions.renderSize !== oldOptions.renderSize ||\n newOptions.renderTargetTextureType !== oldOptions.renderTargetTextureType ||\n newOptions.generateMipmaps !== oldOptions.generateMipmaps ||\n !this._opaqueRenderTarget) {\n this._setupRenderTargets();\n }\n else {\n this._opaqueRenderTarget.samples = newOptions.samples;\n this._opaqueRenderTarget.lodGenerationScale = newOptions.lodGenerationScale;\n this._opaqueRenderTarget.lodGenerationOffset = newOptions.lodGenerationOffset;\n }\n }\n /**\n * @returns the opaque render target texture or null if not available.\n */\n getOpaqueTarget() {\n return this._opaqueRenderTarget;\n }\n _shouldRenderAsTransmission(material) {\n if (!material) {\n return false;\n }\n if (material instanceof PBRMaterial && material.subSurface.isRefractionEnabled) {\n return true;\n }\n return false;\n }\n _addMesh(mesh) {\n this._materialObservers[mesh.uniqueId] = mesh.onMaterialChangedObservable.add(this._onMeshMaterialChanged.bind(this));\n // we need to defer the processing because _addMesh may be called as part as an instance mesh creation, in which case some\n // internal properties are not setup yet, like _sourceMesh (needed when doing mesh.material below)\n Tools.SetImmediate(() => {\n if (this._shouldRenderAsTransmission(mesh.material)) {\n mesh.material.refractionTexture = this._opaqueRenderTarget;\n if (this._transparentMeshesCache.indexOf(mesh) === -1) {\n this._transparentMeshesCache.push(mesh);\n }\n }\n else {\n if (this._opaqueMeshesCache.indexOf(mesh) === -1) {\n this._opaqueMeshesCache.push(mesh);\n }\n }\n });\n }\n _removeMesh(mesh) {\n mesh.onMaterialChangedObservable.remove(this._materialObservers[mesh.uniqueId]);\n delete this._materialObservers[mesh.uniqueId];\n let idx = this._transparentMeshesCache.indexOf(mesh);\n if (idx !== -1) {\n this._transparentMeshesCache.splice(idx, 1);\n }\n idx = this._opaqueMeshesCache.indexOf(mesh);\n if (idx !== -1) {\n this._opaqueMeshesCache.splice(idx, 1);\n }\n }\n _parseScene() {\n this._scene.meshes.forEach(this._addMesh.bind(this));\n // Listen for when a mesh is added to the scene and add it to our cache lists.\n this._scene.onNewMeshAddedObservable.add(this._addMesh.bind(this));\n // Listen for when a mesh is removed from to the scene and remove it from our cache lists.\n this._scene.onMeshRemovedObservable.add(this._removeMesh.bind(this));\n }\n // When one of the meshes in the scene has its material changed, make sure that it's in the correct cache list.\n _onMeshMaterialChanged(mesh) {\n const transparentIdx = this._transparentMeshesCache.indexOf(mesh);\n const opaqueIdx = this._opaqueMeshesCache.indexOf(mesh);\n // If the material is transparent, make sure that it's added to the transparent list and removed from the opaque list\n const useTransmission = this._shouldRenderAsTransmission(mesh.material);\n if (useTransmission) {\n if (mesh.material instanceof PBRMaterial) {\n mesh.material.subSurface.refractionTexture = this._opaqueRenderTarget;\n }\n if (opaqueIdx !== -1) {\n this._opaqueMeshesCache.splice(opaqueIdx, 1);\n this._transparentMeshesCache.push(mesh);\n }\n else if (transparentIdx === -1) {\n this._transparentMeshesCache.push(mesh);\n }\n // If the material is opaque, make sure that it's added to the opaque list and removed from the transparent list\n }\n else {\n if (transparentIdx !== -1) {\n this._transparentMeshesCache.splice(transparentIdx, 1);\n this._opaqueMeshesCache.push(mesh);\n }\n else if (opaqueIdx === -1) {\n this._opaqueMeshesCache.push(mesh);\n }\n }\n }\n /**\n * @internal\n * Check if the opaque render target has not been disposed and can still be used.\n * @returns\n */\n _isRenderTargetValid() {\n return this._opaqueRenderTarget?.getInternalTexture() !== null;\n }\n /**\n * @internal\n * Setup the render targets according to the specified options.\n */\n _setupRenderTargets() {\n if (this._opaqueRenderTarget) {\n this._opaqueRenderTarget.dispose();\n }\n this._opaqueRenderTarget = new RenderTargetTexture(\"opaqueSceneTexture\", this._options.renderSize, this._scene, this._options.generateMipmaps, undefined, this._options.renderTargetTextureType);\n this._opaqueRenderTarget.ignoreCameraViewport = true;\n this._opaqueRenderTarget.renderList = this._opaqueMeshesCache;\n this._opaqueRenderTarget.clearColor = this._options.clearColor?.clone() ?? this._scene.clearColor.clone();\n this._opaqueRenderTarget.gammaSpace = false;\n this._opaqueRenderTarget.lodGenerationScale = this._options.lodGenerationScale;\n this._opaqueRenderTarget.lodGenerationOffset = this._options.lodGenerationOffset;\n this._opaqueRenderTarget.samples = this._options.samples;\n this._opaqueRenderTarget.renderSprites = true;\n this._opaqueRenderTarget.renderParticles = true;\n let sceneImageProcessingapplyByPostProcess;\n let saveSceneEnvIntensity;\n this._opaqueRenderTarget.onBeforeBindObservable.add((opaqueRenderTarget) => {\n saveSceneEnvIntensity = this._scene.environmentIntensity;\n this._scene.environmentIntensity = 1.0;\n sceneImageProcessingapplyByPostProcess = this._scene.imageProcessingConfiguration.applyByPostProcess;\n if (!this._options.clearColor) {\n this._scene.clearColor.toLinearSpaceToRef(opaqueRenderTarget.clearColor, this._scene.getEngine().useExactSrgbConversions);\n }\n else {\n opaqueRenderTarget.clearColor.copyFrom(this._options.clearColor);\n }\n // we do not use the applyByPostProcess setter to avoid flagging all the materials as \"image processing dirty\"!\n this._scene.imageProcessingConfiguration._applyByPostProcess = true;\n });\n this._opaqueRenderTarget.onAfterUnbindObservable.add(() => {\n this._scene.environmentIntensity = saveSceneEnvIntensity;\n this._scene.imageProcessingConfiguration._applyByPostProcess = sceneImageProcessingapplyByPostProcess;\n });\n this._transparentMeshesCache.forEach((mesh) => {\n if (this._shouldRenderAsTransmission(mesh.material)) {\n mesh.material.refractionTexture = this._opaqueRenderTarget;\n }\n });\n }\n /**\n * Dispose all the elements created by the Helper.\n */\n dispose() {\n this._scene._transmissionHelper = undefined;\n if (this._opaqueRenderTarget) {\n this._opaqueRenderTarget.dispose();\n this._opaqueRenderTarget = null;\n }\n this._transparentMeshesCache = [];\n this._opaqueMeshesCache = [];\n }\n}\nconst NAME = \"KHR_materials_transmission\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_transmission/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_transmission {\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 = 175;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n if (this.enabled) {\n loader.parent.transparencyAsCoverage = true;\n }\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, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));\n promises.push(this._loadTransparentPropertiesAsync(extensionContext, material, babylonMaterial, extension));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadTransparentPropertiesAsync(context, material, babylonMaterial, extension) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const pbrMaterial = babylonMaterial;\n // Enables \"refraction\" texture which represents transmitted light.\n pbrMaterial.subSurface.isRefractionEnabled = true;\n // Since this extension models thin-surface transmission only, we must make IOR = 1.0\n pbrMaterial.subSurface.volumeIndexOfRefraction = 1.0;\n // Albedo colour will tint transmission.\n pbrMaterial.subSurface.useAlbedoToTintRefraction = true;\n if (extension.transmissionFactor !== undefined) {\n pbrMaterial.subSurface.refractionIntensity = extension.transmissionFactor;\n const scene = pbrMaterial.getScene();\n if (pbrMaterial.subSurface.refractionIntensity && !scene._transmissionHelper) {\n new TransmissionHelper({}, pbrMaterial.getScene());\n }\n else if (pbrMaterial.subSurface.refractionIntensity && !scene._transmissionHelper?._isRenderTargetValid()) {\n // If the render target is not valid, recreate it.\n scene._transmissionHelper?._setupRenderTargets();\n }\n }\n else {\n pbrMaterial.subSurface.refractionIntensity = 0.0;\n pbrMaterial.subSurface.isRefractionEnabled = false;\n return Promise.resolve();\n }\n pbrMaterial.subSurface.minimumThickness = 0.0;\n pbrMaterial.subSurface.maximumThickness = 0.0;\n if (extension.transmissionTexture) {\n extension.transmissionTexture.nonColorData = true;\n return this._loader.loadTextureInfoAsync(`${context}/transmissionTexture`, extension.transmissionTexture, undefined).then((texture) => {\n texture.name = `${babylonMaterial.name} (Transmission)`;\n pbrMaterial.subSurface.refractionIntensityTexture = texture;\n pbrMaterial.subSurface.useGltfStyleTextures = true;\n });\n }\n else {\n return Promise.resolve();\n }\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_transmission(loader));\n//# sourceMappingURL=KHR_materials_transmission.js.map"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aU as e,p as o,aI as r,aJ as a}from"./index-CkOp_ioW.esm.min.js";import{G as s}from"./glTFLoader-C1FQTJvU.esm.min.js";import"./rawTexture-WJAHgyBM.esm.min.js";import"./assetContainer-DJXgbG9e.esm.min.js";import"./glTFLoaderAnimation-ncwBNhw0.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-IBVAhMFj.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_unlit-IBVAhMFj.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,74 +0,0 @@
|
|
|
1
|
-
import { aU as PBRMaterial, p as Color3, aI as unregisterGLTFExtension, aJ as registerGLTFExtension } from './index-Cb7zGjYe.esm.js';
|
|
2
|
-
import { G as GLTFLoader } from './glTFLoader-BFTXjWeW.esm.js';
|
|
3
|
-
import './rawTexture-Bo4-e4rx.esm.js';
|
|
4
|
-
import './assetContainer-shLWEkis.esm.js';
|
|
5
|
-
import './glTFLoaderAnimation-BCVHkNQT.esm.js';
|
|
6
|
-
|
|
7
|
-
const NAME = "KHR_materials_unlit";
|
|
8
|
-
/**
|
|
9
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_unlit/README.md)
|
|
10
|
-
*/
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
12
|
-
class KHR_materials_unlit {
|
|
13
|
-
/**
|
|
14
|
-
* @internal
|
|
15
|
-
*/
|
|
16
|
-
constructor(loader) {
|
|
17
|
-
/**
|
|
18
|
-
* The name of this extension.
|
|
19
|
-
*/
|
|
20
|
-
this.name = NAME;
|
|
21
|
-
/**
|
|
22
|
-
* Defines a number that determines the order the extensions are applied.
|
|
23
|
-
*/
|
|
24
|
-
this.order = 210;
|
|
25
|
-
this._loader = loader;
|
|
26
|
-
this.enabled = this._loader.isExtensionUsed(NAME);
|
|
27
|
-
}
|
|
28
|
-
/** @internal */
|
|
29
|
-
dispose() {
|
|
30
|
-
this._loader = null;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* @internal
|
|
34
|
-
*/
|
|
35
|
-
loadMaterialPropertiesAsync(context, material, babylonMaterial) {
|
|
36
|
-
return GLTFLoader.LoadExtensionAsync(context, material, this.name, () => {
|
|
37
|
-
return this._loadUnlitPropertiesAsync(context, material, babylonMaterial);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
_loadUnlitPropertiesAsync(context, material, babylonMaterial) {
|
|
41
|
-
if (!(babylonMaterial instanceof PBRMaterial)) {
|
|
42
|
-
throw new Error(`${context}: Material type not supported`);
|
|
43
|
-
}
|
|
44
|
-
const promises = new Array();
|
|
45
|
-
babylonMaterial.unlit = true;
|
|
46
|
-
const properties = material.pbrMetallicRoughness;
|
|
47
|
-
if (properties) {
|
|
48
|
-
if (properties.baseColorFactor) {
|
|
49
|
-
babylonMaterial.albedoColor = Color3.FromArray(properties.baseColorFactor);
|
|
50
|
-
babylonMaterial.alpha = properties.baseColorFactor[3];
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
babylonMaterial.albedoColor = Color3.White();
|
|
54
|
-
}
|
|
55
|
-
if (properties.baseColorTexture) {
|
|
56
|
-
promises.push(this._loader.loadTextureInfoAsync(`${context}/baseColorTexture`, properties.baseColorTexture, (texture) => {
|
|
57
|
-
texture.name = `${babylonMaterial.name} (Base Color)`;
|
|
58
|
-
babylonMaterial.albedoTexture = texture;
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
if (material.doubleSided) {
|
|
63
|
-
babylonMaterial.backFaceCulling = false;
|
|
64
|
-
babylonMaterial.twoSidedLighting = true;
|
|
65
|
-
}
|
|
66
|
-
this._loader.loadMaterialAlphaProperties(context, material, babylonMaterial);
|
|
67
|
-
return Promise.all(promises).then(() => { });
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
unregisterGLTFExtension(NAME);
|
|
71
|
-
registerGLTFExtension(NAME, true, (loader) => new KHR_materials_unlit(loader));
|
|
72
|
-
|
|
73
|
-
export { KHR_materials_unlit };
|
|
74
|
-
//# sourceMappingURL=KHR_materials_unlit-wxh2_v42.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_materials_unlit-wxh2_v42.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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"}
|