@babylonjs/viewer 7.30.1 → 7.31.0-alpha
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/assets/photoStudio.env +0 -0
- package/dist/babylon-viewer.esm.js +2 -0
- package/dist/babylon-viewer.esm.js.map +1 -0
- package/dist/babylon-viewer.esm.min.js +2 -0
- package/dist/babylon-viewer.esm.min.js.map +1 -0
- package/dist/chunks/EXT_lights_image_based-1Sn4IFKs.esm.min.js +2 -0
- package/dist/chunks/EXT_lights_image_based-1Sn4IFKs.esm.min.js.map +1 -0
- package/dist/chunks/EXT_lights_image_based-D3t-ue9C.esm.js +172 -0
- package/dist/chunks/EXT_lights_image_based-D3t-ue9C.esm.js.map +1 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-CzXou_C5.esm.min.js +2 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-CzXou_C5.esm.min.js.map +1 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-DNqfkZKe.esm.js +86 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-DNqfkZKe.esm.js.map +1 -0
- package/dist/chunks/EXT_meshopt_compression-BFcdcCqV.esm.js +134 -0
- package/dist/chunks/EXT_meshopt_compression-BFcdcCqV.esm.js.map +1 -0
- package/dist/chunks/EXT_meshopt_compression-ypfe6hxf.esm.min.js +2 -0
- package/dist/chunks/EXT_meshopt_compression-ypfe6hxf.esm.min.js.map +1 -0
- package/dist/chunks/EXT_texture_avif-BY8qfvRI.esm.min.js +2 -0
- package/dist/chunks/EXT_texture_avif-BY8qfvRI.esm.min.js.map +1 -0
- package/dist/chunks/EXT_texture_avif-Rv3zIg4n.esm.js +44 -0
- package/dist/chunks/EXT_texture_avif-Rv3zIg4n.esm.js.map +1 -0
- package/dist/chunks/EXT_texture_webp-D2O_CsAp.esm.js +43 -0
- package/dist/chunks/EXT_texture_webp-D2O_CsAp.esm.js.map +1 -0
- package/dist/chunks/EXT_texture_webp-oE-jrE0E.esm.min.js +2 -0
- package/dist/chunks/EXT_texture_webp-oE-jrE0E.esm.min.js.map +1 -0
- package/dist/chunks/ExtrasAsMetadata-BhuY0e54.esm.js +64 -0
- package/dist/chunks/ExtrasAsMetadata-BhuY0e54.esm.js.map +1 -0
- package/dist/chunks/ExtrasAsMetadata-qFEtoYbf.esm.min.js +2 -0
- package/dist/chunks/ExtrasAsMetadata-qFEtoYbf.esm.min.js.map +1 -0
- package/dist/chunks/KHR_animation_pointer-Bj6qGv9V.esm.min.js +2 -0
- package/dist/chunks/KHR_animation_pointer-Bj6qGv9V.esm.min.js.map +1 -0
- package/dist/chunks/KHR_animation_pointer-e5LnBZe7.esm.js +343 -0
- package/dist/chunks/KHR_animation_pointer-e5LnBZe7.esm.js.map +1 -0
- package/dist/chunks/KHR_draco_mesh_compression-BnFvVWE1.esm.js +610 -0
- package/dist/chunks/KHR_draco_mesh_compression-BnFvVWE1.esm.js.map +1 -0
- package/dist/chunks/KHR_draco_mesh_compression-CVQu_5W6.esm.min.js +2 -0
- package/dist/chunks/KHR_draco_mesh_compression-CVQu_5W6.esm.min.js.map +1 -0
- package/dist/chunks/KHR_interactivity-D7Zg2GDq.esm.js +4033 -0
- package/dist/chunks/KHR_interactivity-D7Zg2GDq.esm.js.map +1 -0
- package/dist/chunks/KHR_interactivity-xGH2Adpb.esm.min.js +2 -0
- package/dist/chunks/KHR_interactivity-xGH2Adpb.esm.min.js.map +1 -0
- package/dist/chunks/KHR_lights_punctual-BBAuDZDL.esm.js +1253 -0
- package/dist/chunks/KHR_lights_punctual-BBAuDZDL.esm.js.map +1 -0
- package/dist/chunks/KHR_lights_punctual-By9M6UVy.esm.min.js +2 -0
- package/dist/chunks/KHR_lights_punctual-By9M6UVy.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_anisotropy-Dkjoca14.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_anisotropy-Dkjoca14.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_anisotropy-qH3HobA9.esm.js +64 -0
- package/dist/chunks/KHR_materials_anisotropy-qH3HobA9.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_clearcoat-DAuJsTVp.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_clearcoat-DAuJsTVp.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_clearcoat-Rh6mwG6v.esm.js +96 -0
- package/dist/chunks/KHR_materials_clearcoat-Rh6mwG6v.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-CaxPwhcF.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-CaxPwhcF.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-jR3LYlsn.esm.js +97 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-jR3LYlsn.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_dispersion-BRhiELQt.esm.js +62 -0
- package/dist/chunks/KHR_materials_dispersion-BRhiELQt.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_dispersion-c6lYSa9v.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_dispersion-c6lYSa9v.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_emissive_strength-C4KADmHK.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_emissive_strength-C4KADmHK.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_emissive_strength-COLYrrO0.esm.js +55 -0
- package/dist/chunks/KHR_materials_emissive_strength-COLYrrO0.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_ior-9bOEUBVJ.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_ior-9bOEUBVJ.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_ior-CfRDQILO.esm.js +64 -0
- package/dist/chunks/KHR_materials_ior-CfRDQILO.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_iridescence-BK4vIyb6.esm.js +72 -0
- package/dist/chunks/KHR_materials_iridescence-BK4vIyb6.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_iridescence-DMeUVUvt.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_iridescence-DMeUVUvt.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CWS40ry_.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CWS40ry_.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-cT4jFxi_.esm.js +81 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-cT4jFxi_.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_sheen-BsgoALiy.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_sheen-BsgoALiy.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_sheen-CvenDbqD.esm.js +85 -0
- package/dist/chunks/KHR_materials_sheen-CvenDbqD.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_specular-BeN-G9hP.esm.js +75 -0
- package/dist/chunks/KHR_materials_specular-BeN-G9hP.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_specular-Czv7IKcP.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_specular-Czv7IKcP.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_transmission-Bak4NBR7.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_transmission-Bak4NBR7.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_transmission-heOgvXed.esm.js +307 -0
- package/dist/chunks/KHR_materials_transmission-heOgvXed.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_unlit-IBVAhMFj.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_unlit-IBVAhMFj.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_unlit-wxh2_v42.esm.js +74 -0
- package/dist/chunks/KHR_materials_unlit-wxh2_v42.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_variants-BsiSr1O-.esm.js +238 -0
- package/dist/chunks/KHR_materials_variants-BsiSr1O-.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_variants-Dj5fUGRW.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_variants-Dj5fUGRW.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_volume-CZH9egfT.esm.js +87 -0
- package/dist/chunks/KHR_materials_volume-CZH9egfT.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_volume-DfCuukn0.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_volume-DfCuukn0.esm.min.js.map +1 -0
- package/dist/chunks/KHR_mesh_quantization-BIobOHHb.esm.min.js +2 -0
- package/dist/chunks/KHR_mesh_quantization-BIobOHHb.esm.min.js.map +1 -0
- package/dist/chunks/KHR_mesh_quantization-QON7M_53.esm.js +26 -0
- package/dist/chunks/KHR_mesh_quantization-QON7M_53.esm.js.map +1 -0
- package/dist/chunks/KHR_texture_basisu-BoG2JtnT.esm.js +43 -0
- package/dist/chunks/KHR_texture_basisu-BoG2JtnT.esm.js.map +1 -0
- package/dist/chunks/KHR_texture_basisu-CzUzxtEH.esm.min.js +2 -0
- package/dist/chunks/KHR_texture_basisu-CzUzxtEH.esm.min.js.map +1 -0
- package/dist/chunks/KHR_texture_transform-B3PKgt19.esm.min.js +2 -0
- package/dist/chunks/KHR_texture_transform-B3PKgt19.esm.min.js.map +1 -0
- package/dist/chunks/KHR_texture_transform-Da8RjC5v.esm.js +63 -0
- package/dist/chunks/KHR_texture_transform-Da8RjC5v.esm.js.map +1 -0
- package/dist/chunks/KHR_xmp_json_ld-BXaa7VXe.esm.js +51 -0
- package/dist/chunks/KHR_xmp_json_ld-BXaa7VXe.esm.js.map +1 -0
- package/dist/chunks/KHR_xmp_json_ld-HVJ543WV.esm.min.js +2 -0
- package/dist/chunks/KHR_xmp_json_ld-HVJ543WV.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_audio_emitter-BYUSVj_s.esm.js +2207 -0
- package/dist/chunks/MSFT_audio_emitter-BYUSVj_s.esm.js.map +1 -0
- package/dist/chunks/MSFT_audio_emitter-Bf4t92OW.esm.min.js +2 -0
- package/dist/chunks/MSFT_audio_emitter-Bf4t92OW.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_lod-BTk5ksDE.esm.min.js +2 -0
- package/dist/chunks/MSFT_lod-BTk5ksDE.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_lod-D5456UFP.esm.js +337 -0
- package/dist/chunks/MSFT_lod-D5456UFP.esm.js.map +1 -0
- package/dist/chunks/MSFT_minecraftMesh-CCs8f9du.esm.js +46 -0
- package/dist/chunks/MSFT_minecraftMesh-CCs8f9du.esm.js.map +1 -0
- package/dist/chunks/MSFT_minecraftMesh-CgKnODjc.esm.min.js +2 -0
- package/dist/chunks/MSFT_minecraftMesh-CgKnODjc.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_sRGBFactors-BNCv6Gre.esm.min.js +2 -0
- package/dist/chunks/MSFT_sRGBFactors-BNCv6Gre.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_sRGBFactors-C3nCz417.esm.js +47 -0
- package/dist/chunks/MSFT_sRGBFactors-C3nCz417.esm.js.map +1 -0
- package/dist/chunks/animationGroup-B_FlMnip.esm.js +2479 -0
- package/dist/chunks/animationGroup-B_FlMnip.esm.js.map +1 -0
- package/dist/chunks/animationGroup-U_g242TE.esm.min.js +2 -0
- package/dist/chunks/animationGroup-U_g242TE.esm.min.js.map +1 -0
- package/dist/chunks/assetContainer-DJXgbG9e.esm.min.js +2 -0
- package/dist/chunks/assetContainer-DJXgbG9e.esm.min.js.map +1 -0
- package/dist/chunks/assetContainer-shLWEkis.esm.js +1720 -0
- package/dist/chunks/assetContainer-shLWEkis.esm.js.map +1 -0
- package/dist/chunks/audioEngine-BdqCvyFS.esm.min.js +2 -0
- package/dist/chunks/audioEngine-BdqCvyFS.esm.min.js.map +1 -0
- package/dist/chunks/audioEngine-CSl97t3Y.esm.js +305 -0
- package/dist/chunks/audioEngine-CSl97t3Y.esm.js.map +1 -0
- package/dist/chunks/bakedVertexAnimation-C225r8bl.esm.min.js +2 -0
- package/dist/chunks/bakedVertexAnimation-C225r8bl.esm.min.js.map +1 -0
- package/dist/chunks/bakedVertexAnimation-Dne6l1Oz.esm.js +119 -0
- package/dist/chunks/bakedVertexAnimation-Dne6l1Oz.esm.js.map +1 -0
- package/dist/chunks/basisTextureLoader-BfheE-xD.esm.min.js +2 -0
- package/dist/chunks/basisTextureLoader-BfheE-xD.esm.min.js.map +1 -0
- package/dist/chunks/basisTextureLoader-VQfGwMJX.esm.js +600 -0
- package/dist/chunks/basisTextureLoader-VQfGwMJX.esm.js.map +1 -0
- package/dist/chunks/dds-CPxH79qD.esm.min.js +2 -0
- package/dist/chunks/dds-CPxH79qD.esm.min.js.map +1 -0
- package/dist/chunks/dds-jupK5Xca.esm.js +540 -0
- package/dist/chunks/dds-jupK5Xca.esm.js.map +1 -0
- package/dist/chunks/ddsTextureLoader-CWwCoP7e.esm.js +88 -0
- package/dist/chunks/ddsTextureLoader-CWwCoP7e.esm.js.map +1 -0
- package/dist/chunks/ddsTextureLoader-ee9z1K7d.esm.min.js +2 -0
- package/dist/chunks/ddsTextureLoader-ee9z1K7d.esm.min.js.map +1 -0
- package/dist/chunks/decalFragment-Bgt_beL3.esm.min.js +2 -0
- package/dist/chunks/decalFragment-Bgt_beL3.esm.min.js.map +1 -0
- package/dist/chunks/decalFragment-U3dusC_b.esm.js +18 -0
- package/dist/chunks/decalFragment-U3dusC_b.esm.js.map +1 -0
- package/dist/chunks/default.fragment-755hWDS-.esm.min.js +2 -0
- package/dist/chunks/default.fragment-755hWDS-.esm.min.js.map +1 -0
- package/dist/chunks/default.fragment-D_6g-4FJ.esm.min.js +2 -0
- package/dist/chunks/default.fragment-D_6g-4FJ.esm.min.js.map +1 -0
- package/dist/chunks/default.fragment-gPrZWAN-.esm.js +515 -0
- package/dist/chunks/default.fragment-gPrZWAN-.esm.js.map +1 -0
- package/dist/chunks/default.fragment-nUN83GhL.esm.js +449 -0
- package/dist/chunks/default.fragment-nUN83GhL.esm.js.map +1 -0
- package/dist/chunks/default.vertex-DtF9_kYE.esm.min.js +2 -0
- package/dist/chunks/default.vertex-DtF9_kYE.esm.min.js.map +1 -0
- package/dist/chunks/default.vertex-DvTIJZKP.esm.min.js +2 -0
- package/dist/chunks/default.vertex-DvTIJZKP.esm.min.js.map +1 -0
- package/dist/chunks/default.vertex-F2GFvisP.esm.js +199 -0
- package/dist/chunks/default.vertex-F2GFvisP.esm.js.map +1 -0
- package/dist/chunks/default.vertex-OWU0h_CV.esm.js +180 -0
- package/dist/chunks/default.vertex-OWU0h_CV.esm.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-BaqLnFSv.esm.js +15 -0
- package/dist/chunks/defaultUboDeclaration-BaqLnFSv.esm.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-CUGFIA-Y.esm.min.js +2 -0
- package/dist/chunks/defaultUboDeclaration-CUGFIA-Y.esm.min.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-DbiYbpus.esm.min.js +2 -0
- package/dist/chunks/defaultUboDeclaration-DbiYbpus.esm.min.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-DlF6YqnH.esm.js +13 -0
- package/dist/chunks/defaultUboDeclaration-DlF6YqnH.esm.js.map +1 -0
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +11 -0
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +1 -0
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +2 -0
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +1 -0
- package/dist/chunks/dumpTools-CC7eSIIa.esm.min.js +2 -0
- package/dist/chunks/dumpTools-CC7eSIIa.esm.min.js.map +1 -0
- package/dist/chunks/dumpTools-CP5neapl.esm.js +402 -0
- package/dist/chunks/dumpTools-CP5neapl.esm.js.map +1 -0
- package/dist/chunks/engine-CXvt3UCI.esm.min.js +2 -0
- package/dist/chunks/engine-CXvt3UCI.esm.min.js.map +1 -0
- package/dist/chunks/engine-trgW7_81.esm.js +2174 -0
- package/dist/chunks/engine-trgW7_81.esm.js.map +1 -0
- package/dist/chunks/engine.common-BPl1llb8.esm.min.js +2 -0
- package/dist/chunks/engine.common-BPl1llb8.esm.min.js.map +1 -0
- package/dist/chunks/engine.common-GP9nuuba.esm.js +1088 -0
- package/dist/chunks/engine.common-GP9nuuba.esm.js.map +1 -0
- package/dist/chunks/envTextureLoader-1bAO1Mm5.esm.js +65 -0
- package/dist/chunks/envTextureLoader-1bAO1Mm5.esm.js.map +1 -0
- package/dist/chunks/envTextureLoader-ClAG0fvY.esm.min.js +2 -0
- package/dist/chunks/envTextureLoader-ClAG0fvY.esm.min.js.map +1 -0
- package/dist/chunks/environmentTextureTools-DObcbjyn.esm.js +382 -0
- package/dist/chunks/environmentTextureTools-DObcbjyn.esm.js.map +1 -0
- package/dist/chunks/environmentTextureTools-DSF9-gKd.esm.min.js +2 -0
- package/dist/chunks/environmentTextureTools-DSF9-gKd.esm.min.js.map +1 -0
- package/dist/chunks/exrTextureLoader-KLC0QCGj.esm.min.js +2 -0
- package/dist/chunks/exrTextureLoader-KLC0QCGj.esm.min.js.map +1 -0
- package/dist/chunks/exrTextureLoader-b9G_ErfI.esm.js +1682 -0
- package/dist/chunks/exrTextureLoader-b9G_ErfI.esm.js.map +1 -0
- package/dist/chunks/fogFragment-Cr8RDhS8.esm.min.js +2 -0
- package/dist/chunks/fogFragment-Cr8RDhS8.esm.min.js.map +1 -0
- package/dist/chunks/fogFragment-CxJJx6zN.esm.js +102 -0
- package/dist/chunks/fogFragment-CxJJx6zN.esm.js.map +1 -0
- package/dist/chunks/fresnelFunction-BbOBXKTe.esm.min.js +2 -0
- package/dist/chunks/fresnelFunction-BbOBXKTe.esm.min.js.map +1 -0
- package/dist/chunks/fresnelFunction-Cpph6xZu.esm.js +12 -0
- package/dist/chunks/fresnelFunction-Cpph6xZu.esm.js.map +1 -0
- package/dist/chunks/glTFLoader-BFTXjWeW.esm.js +7577 -0
- package/dist/chunks/glTFLoader-BFTXjWeW.esm.js.map +1 -0
- package/dist/chunks/glTFLoader-C1FQTJvU.esm.min.js +2 -0
- package/dist/chunks/glTFLoader-C1FQTJvU.esm.min.js.map +1 -0
- package/dist/chunks/glTFLoaderAnimation-BCVHkNQT.esm.js +77 -0
- package/dist/chunks/glTFLoaderAnimation-BCVHkNQT.esm.js.map +1 -0
- package/dist/chunks/glTFLoaderAnimation-ncwBNhw0.esm.min.js +2 -0
- package/dist/chunks/glTFLoaderAnimation-ncwBNhw0.esm.min.js.map +1 -0
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +2 -0
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +1 -0
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +67 -0
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-66G9hOzR.esm.js +35 -0
- package/dist/chunks/harmonicsFunctions-66G9hOzR.esm.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-Bvt11NHS.esm.js +34 -0
- package/dist/chunks/harmonicsFunctions-Bvt11NHS.esm.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-D0Re3qr9.esm.min.js +2 -0
- package/dist/chunks/harmonicsFunctions-D0Re3qr9.esm.min.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-D9bArd30.esm.min.js +2 -0
- package/dist/chunks/harmonicsFunctions-D9bArd30.esm.min.js.map +1 -0
- package/dist/chunks/hdrTextureLoader-BMnKRS4K.esm.min.js +2 -0
- package/dist/chunks/hdrTextureLoader-BMnKRS4K.esm.min.js.map +1 -0
- package/dist/chunks/hdrTextureLoader-ETVy5rPX.esm.js +252 -0
- package/dist/chunks/hdrTextureLoader-ETVy5rPX.esm.js.map +1 -0
- package/dist/chunks/helperFunctions-1Uut4KQI.esm.js +108 -0
- package/dist/chunks/helperFunctions-1Uut4KQI.esm.js.map +1 -0
- package/dist/chunks/helperFunctions-1x6PNrxE.esm.min.js +2 -0
- package/dist/chunks/helperFunctions-1x6PNrxE.esm.min.js.map +1 -0
- package/dist/chunks/helperFunctions-CJjw4iZI.esm.js +80 -0
- package/dist/chunks/helperFunctions-CJjw4iZI.esm.js.map +1 -0
- package/dist/chunks/helperFunctions-J9m3fJc_.esm.min.js +2 -0
- package/dist/chunks/helperFunctions-J9m3fJc_.esm.min.js.map +1 -0
- package/dist/chunks/index-Cb7zGjYe.esm.js +72045 -0
- package/dist/chunks/index-Cb7zGjYe.esm.js.map +1 -0
- package/dist/chunks/index-CkOp_ioW.esm.min.js +57 -0
- package/dist/chunks/index-CkOp_ioW.esm.min.js.map +1 -0
- package/dist/chunks/ktxTextureLoader-C4PPft8N.esm.min.js +2 -0
- package/dist/chunks/ktxTextureLoader-C4PPft8N.esm.min.js.map +1 -0
- package/dist/chunks/ktxTextureLoader-DLZDXIUP.esm.js +814 -0
- package/dist/chunks/ktxTextureLoader-DLZDXIUP.esm.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-BOGD7tpa.esm.min.js +2 -0
- package/dist/chunks/logDepthDeclaration-BOGD7tpa.esm.min.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-BRSEcIOm.esm.min.js +2 -0
- package/dist/chunks/logDepthDeclaration-BRSEcIOm.esm.min.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-Bix7HqfF.esm.js +20 -0
- package/dist/chunks/logDepthDeclaration-Bix7HqfF.esm.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-CvnYdiLu.esm.js +35 -0
- package/dist/chunks/logDepthDeclaration-CvnYdiLu.esm.js.map +1 -0
- package/dist/chunks/logDepthVertex-CwCjtdqq.esm.min.js +2 -0
- package/dist/chunks/logDepthVertex-CwCjtdqq.esm.min.js.map +1 -0
- package/dist/chunks/logDepthVertex-Nm8V7C0Z.esm.min.js +2 -0
- package/dist/chunks/logDepthVertex-Nm8V7C0Z.esm.min.js.map +1 -0
- package/dist/chunks/logDepthVertex-_i7_lZHr.esm.js +77 -0
- package/dist/chunks/logDepthVertex-_i7_lZHr.esm.js.map +1 -0
- package/dist/chunks/logDepthVertex-eenp9mns.esm.js +488 -0
- package/dist/chunks/logDepthVertex-eenp9mns.esm.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-HzWn5jph.esm.js +11 -0
- package/dist/chunks/mainUVVaryingDeclaration-HzWn5jph.esm.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-lsGkWAON.esm.min.js +2 -0
- package/dist/chunks/mainUVVaryingDeclaration-lsGkWAON.esm.min.js.map +1 -0
- package/dist/chunks/meshUboDeclaration-BmNS2VSX.esm.min.js +2 -0
- package/dist/chunks/meshUboDeclaration-BmNS2VSX.esm.min.js.map +1 -0
- package/dist/chunks/meshUboDeclaration-CEgHTdJe.esm.js +24 -0
- package/dist/chunks/meshUboDeclaration-CEgHTdJe.esm.js.map +1 -0
- package/dist/chunks/objFileLoader-8bz2-Jb0.esm.min.js +2 -0
- package/dist/chunks/objFileLoader-8bz2-Jb0.esm.min.js.map +1 -0
- package/dist/chunks/objFileLoader-BDQi-zCy.esm.js +1338 -0
- package/dist/chunks/objFileLoader-BDQi-zCy.esm.js.map +1 -0
- package/dist/chunks/oitFragment-Be6X-0NA.esm.js +1150 -0
- package/dist/chunks/oitFragment-Be6X-0NA.esm.js.map +1 -0
- package/dist/chunks/oitFragment-DWdtkgKQ.esm.min.js +2 -0
- package/dist/chunks/oitFragment-DWdtkgKQ.esm.min.js.map +1 -0
- package/dist/chunks/oitFragment-o6GCGw0X.esm.min.js +2 -0
- package/dist/chunks/oitFragment-o6GCGw0X.esm.min.js.map +1 -0
- package/dist/chunks/oitFragment-x42vz6VK.esm.js +1210 -0
- package/dist/chunks/oitFragment-x42vz6VK.esm.js.map +1 -0
- package/dist/chunks/pass.fragment-CMPjD56P.esm.js +15 -0
- package/dist/chunks/pass.fragment-CMPjD56P.esm.js.map +1 -0
- package/dist/chunks/pass.fragment-DeE_D_Ho.esm.min.js +2 -0
- package/dist/chunks/pass.fragment-DeE_D_Ho.esm.min.js.map +1 -0
- package/dist/chunks/pass.fragment-XFaFDzze.esm.min.js +2 -0
- package/dist/chunks/pass.fragment-XFaFDzze.esm.min.js.map +1 -0
- package/dist/chunks/pass.fragment-sInzyG4C.esm.js +15 -0
- package/dist/chunks/pass.fragment-sInzyG4C.esm.js.map +1 -0
- package/dist/chunks/pbr.fragment-B9NWhj7v.esm.min.js +2 -0
- package/dist/chunks/pbr.fragment-B9NWhj7v.esm.min.js.map +1 -0
- package/dist/chunks/pbr.fragment-BhRoKi7n.esm.min.js +2 -0
- package/dist/chunks/pbr.fragment-BhRoKi7n.esm.min.js.map +1 -0
- package/dist/chunks/pbr.fragment-CUczqvrb.esm.js +3219 -0
- package/dist/chunks/pbr.fragment-CUczqvrb.esm.js.map +1 -0
- package/dist/chunks/pbr.fragment-gKQNER09.esm.js +3165 -0
- package/dist/chunks/pbr.fragment-gKQNER09.esm.js.map +1 -0
- package/dist/chunks/pbr.vertex-C4dWKPQ3.esm.js +335 -0
- package/dist/chunks/pbr.vertex-C4dWKPQ3.esm.js.map +1 -0
- package/dist/chunks/pbr.vertex-CATY0wtz.esm.js +210 -0
- package/dist/chunks/pbr.vertex-CATY0wtz.esm.js.map +1 -0
- package/dist/chunks/pbr.vertex-CeQL7NsJ.esm.min.js +2 -0
- package/dist/chunks/pbr.vertex-CeQL7NsJ.esm.min.js.map +1 -0
- package/dist/chunks/pbr.vertex-D74kRBI7.esm.min.js +2 -0
- package/dist/chunks/pbr.vertex-D74kRBI7.esm.min.js.map +1 -0
- package/dist/chunks/postprocess.vertex-D9sxQJT6.esm.js +18 -0
- package/dist/chunks/postprocess.vertex-D9sxQJT6.esm.js.map +1 -0
- package/dist/chunks/postprocess.vertex-DdMLiNeD.esm.min.js +2 -0
- package/dist/chunks/postprocess.vertex-DdMLiNeD.esm.min.js.map +1 -0
- package/dist/chunks/postprocess.vertex-DdSrvJuP.esm.min.js +2 -0
- package/dist/chunks/postprocess.vertex-DdSrvJuP.esm.min.js.map +1 -0
- package/dist/chunks/postprocess.vertex-EjDuDs7l.esm.js +20 -0
- package/dist/chunks/postprocess.vertex-EjDuDs7l.esm.js.map +1 -0
- package/dist/chunks/rawTexture-Bo4-e4rx.esm.js +191 -0
- package/dist/chunks/rawTexture-Bo4-e4rx.esm.js.map +1 -0
- package/dist/chunks/rawTexture-WJAHgyBM.esm.min.js +2 -0
- package/dist/chunks/rawTexture-WJAHgyBM.esm.min.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-BsO7SzGw.esm.js +17 -0
- package/dist/chunks/rgbdDecode.fragment-BsO7SzGw.esm.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-CXGWY_Zq.esm.js +17 -0
- package/dist/chunks/rgbdDecode.fragment-CXGWY_Zq.esm.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-DHrGqYGx.esm.min.js +2 -0
- package/dist/chunks/rgbdDecode.fragment-DHrGqYGx.esm.min.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-M48plJKv.esm.min.js +2 -0
- package/dist/chunks/rgbdDecode.fragment-M48plJKv.esm.min.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-72S9TLT4.esm.js +17 -0
- package/dist/chunks/rgbdEncode.fragment-72S9TLT4.esm.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-BUON0ZNd.esm.min.js +2 -0
- package/dist/chunks/rgbdEncode.fragment-BUON0ZNd.esm.min.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-CNl9WQUM.esm.min.js +2 -0
- package/dist/chunks/rgbdEncode.fragment-CNl9WQUM.esm.min.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-DtRf0vhW.esm.js +17 -0
- package/dist/chunks/rgbdEncode.fragment-DtRf0vhW.esm.js.map +1 -0
- package/dist/chunks/splatFileLoader-1QbSvkNp.esm.min.js +2 -0
- package/dist/chunks/splatFileLoader-1QbSvkNp.esm.min.js.map +1 -0
- package/dist/chunks/splatFileLoader-BLSQsIhb.esm.js +3534 -0
- package/dist/chunks/splatFileLoader-BLSQsIhb.esm.js.map +1 -0
- package/dist/chunks/standardMaterial-4sW8n3MU.esm.min.js +2 -0
- package/dist/chunks/standardMaterial-4sW8n3MU.esm.min.js.map +1 -0
- package/dist/chunks/standardMaterial-BMVfbLzg.esm.js +1800 -0
- package/dist/chunks/standardMaterial-BMVfbLzg.esm.js.map +1 -0
- package/dist/chunks/stlFileLoader-BsbF7xOo.esm.js +238 -0
- package/dist/chunks/stlFileLoader-BsbF7xOo.esm.js.map +1 -0
- package/dist/chunks/stlFileLoader-CIEDAEkS.esm.min.js +2 -0
- package/dist/chunks/stlFileLoader-CIEDAEkS.esm.min.js.map +1 -0
- package/dist/chunks/tgaTextureLoader-BbTIdrAk.esm.min.js +2 -0
- package/dist/chunks/tgaTextureLoader-BbTIdrAk.esm.min.js.map +1 -0
- package/dist/chunks/tgaTextureLoader-Dzknjg7w.esm.js +349 -0
- package/dist/chunks/tgaTextureLoader-Dzknjg7w.esm.js.map +1 -0
- package/dist/chunks/thinEngine-D9PVgBpS.esm.min.js +2 -0
- package/dist/chunks/thinEngine-D9PVgBpS.esm.min.js.map +1 -0
- package/dist/chunks/thinEngine-DGKggD4b.esm.js +3721 -0
- package/dist/chunks/thinEngine-DGKggD4b.esm.js.map +1 -0
- package/dist/chunks/thinInstanceMesh-Cm7oVt83.esm.js +314 -0
- package/dist/chunks/thinInstanceMesh-Cm7oVt83.esm.js.map +1 -0
- package/dist/chunks/thinInstanceMesh-CpMngBy7.esm.min.js +2 -0
- package/dist/chunks/thinInstanceMesh-CpMngBy7.esm.min.js.map +1 -0
- package/dist/chunks/vertexColorMixing-DH0rI910.esm.min.js +2 -0
- package/dist/chunks/vertexColorMixing-DH0rI910.esm.min.js.map +1 -0
- package/dist/chunks/vertexColorMixing-U49ClqLL.esm.js +528 -0
- package/dist/chunks/vertexColorMixing-U49ClqLL.esm.js.map +1 -0
- package/dist/chunks/webgpuEngine-BL-YuOoY.esm.min.js +2 -0
- package/dist/chunks/webgpuEngine-BL-YuOoY.esm.min.js.map +1 -0
- package/dist/chunks/webgpuEngine-DPV5C2k5.esm.js +11191 -0
- package/dist/chunks/webgpuEngine-DPV5C2k5.esm.js.map +1 -0
- package/dist/chunks/workerPool-BUOov2K1.esm.js +122 -0
- package/dist/chunks/workerPool-BUOov2K1.esm.js.map +1 -0
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +2 -0
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +1 -0
- 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 +325 -0
- package/lib/index.js +1116 -0
- package/lib/index.js.map +1 -0
- package/package.json +18 -27
- package/readme.md +145 -21
- package/configuration/configuration.d.ts +0 -107
- package/configuration/configuration.js +0 -16
- package/configuration/configuration.js.map +0 -1
- package/configuration/configurationCompatibility.d.ts +0 -8
- package/configuration/configurationCompatibility.js +0 -66
- package/configuration/configurationCompatibility.js.map +0 -1
- package/configuration/configurationContainer.d.ts +0 -10
- package/configuration/configurationContainer.js +0 -10
- package/configuration/configurationContainer.js.map +0 -1
- package/configuration/globals.d.ts +0 -6
- package/configuration/globals.js +0 -18
- package/configuration/globals.js.map +0 -1
- package/configuration/index.d.ts +0 -2
- package/configuration/index.js +0 -4
- package/configuration/index.js.map +0 -1
- package/configuration/interfaces/cameraConfiguration.d.ts +0 -31
- package/configuration/interfaces/cameraConfiguration.js +0 -2
- package/configuration/interfaces/cameraConfiguration.js.map +0 -1
- package/configuration/interfaces/colorGradingConfiguration.d.ts +0 -81
- package/configuration/interfaces/colorGradingConfiguration.js +0 -2
- package/configuration/interfaces/colorGradingConfiguration.js.map +0 -1
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +0 -20
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +0 -2
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +0 -1
- package/configuration/interfaces/environmentMapConfiguration.d.ts +0 -22
- package/configuration/interfaces/environmentMapConfiguration.js +0 -2
- package/configuration/interfaces/environmentMapConfiguration.js.map +0 -1
- package/configuration/interfaces/groundConfiguration.d.ts +0 -24
- package/configuration/interfaces/groundConfiguration.js +0 -2
- package/configuration/interfaces/groundConfiguration.js.map +0 -1
- package/configuration/interfaces/imageProcessingConfiguration.d.ts +0 -45
- package/configuration/interfaces/imageProcessingConfiguration.js +0 -2
- package/configuration/interfaces/imageProcessingConfiguration.js.map +0 -1
- package/configuration/interfaces/index.d.ts +0 -15
- package/configuration/interfaces/index.js +0 -16
- package/configuration/interfaces/index.js.map +0 -1
- package/configuration/interfaces/lightConfiguration.d.ts +0 -60
- package/configuration/interfaces/lightConfiguration.js +0 -2
- package/configuration/interfaces/lightConfiguration.js.map +0 -1
- package/configuration/interfaces/modelAnimationConfiguration.d.ts +0 -26
- package/configuration/interfaces/modelAnimationConfiguration.js +0 -2
- package/configuration/interfaces/modelAnimationConfiguration.js.map +0 -1
- package/configuration/interfaces/modelConfiguration.d.ts +0 -65
- package/configuration/interfaces/modelConfiguration.js +0 -2
- package/configuration/interfaces/modelConfiguration.js.map +0 -1
- package/configuration/interfaces/observersConfiguration.d.ts +0 -5
- package/configuration/interfaces/observersConfiguration.js +0 -2
- package/configuration/interfaces/observersConfiguration.js.map +0 -1
- package/configuration/interfaces/sceneConfiguration.d.ts +0 -48
- package/configuration/interfaces/sceneConfiguration.js +0 -2
- package/configuration/interfaces/sceneConfiguration.js.map +0 -1
- package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +0 -23
- package/configuration/interfaces/sceneOptimizerConfiguration.js +0 -2
- package/configuration/interfaces/sceneOptimizerConfiguration.js.map +0 -1
- package/configuration/interfaces/skyboxConfiguration.d.ts +0 -21
- package/configuration/interfaces/skyboxConfiguration.js +0 -2
- package/configuration/interfaces/skyboxConfiguration.js.map +0 -1
- package/configuration/interfaces/templateConfiguration.d.ts +0 -67
- package/configuration/interfaces/templateConfiguration.js +0 -2
- package/configuration/interfaces/templateConfiguration.js.map +0 -1
- package/configuration/interfaces/vrConfiguration.d.ts +0 -16
- package/configuration/interfaces/vrConfiguration.js +0 -2
- package/configuration/interfaces/vrConfiguration.js.map +0 -1
- package/configuration/loader.d.ts +0 -4
- package/configuration/loader.js +0 -17
- package/configuration/loader.js.map +0 -1
- package/configuration/mappers.d.ts +0 -43
- package/configuration/mappers.js +0 -192
- package/configuration/mappers.js.map +0 -1
- package/configuration/renderOnlyLoader.d.ts +0 -33
- package/configuration/renderOnlyLoader.js +0 -162
- package/configuration/renderOnlyLoader.js.map +0 -1
- package/configuration/types/default.d.ts +0 -6
- package/configuration/types/default.js +0 -121
- package/configuration/types/default.js.map +0 -1
- package/configuration/types/environmentMap.d.ts +0 -5
- package/configuration/types/environmentMap.js +0 -14
- package/configuration/types/environmentMap.js.map +0 -1
- package/configuration/types/extended.d.ts +0 -6
- package/configuration/types/extended.js +0 -317
- package/configuration/types/extended.js.map +0 -1
- package/configuration/types/index.d.ts +0 -14
- package/configuration/types/index.js +0 -51
- package/configuration/types/index.js.map +0 -1
- package/configuration/types/minimal.d.ts +0 -6
- package/configuration/types/minimal.js +0 -43
- package/configuration/types/minimal.js.map +0 -1
- package/configuration/types/renderOnlyDefault.d.ts +0 -30
- package/configuration/types/renderOnlyDefault.js +0 -31
- package/configuration/types/renderOnlyDefault.js.map +0 -1
- package/configuration/types/shadowLight.d.ts +0 -9
- package/configuration/types/shadowLight.js +0 -64
- package/configuration/types/shadowLight.js.map +0 -1
- package/helper/index.d.ts +0 -29
- package/helper/index.js +0 -66
- package/helper/index.js.map +0 -1
- package/index.d.ts +0 -30
- package/index.js +0 -46
- package/index.js.map +0 -1
- package/initializer.d.ts +0 -11
- package/initializer.js +0 -35
- package/initializer.js.map +0 -1
- package/interfaces.d.ts +0 -5
- package/interfaces.js +0 -7
- package/interfaces.js.map +0 -1
- package/labs/environmentSerializer.d.ts +0 -126
- package/labs/environmentSerializer.js +0 -191
- package/labs/environmentSerializer.js.map +0 -1
- package/labs/texture.d.ts +0 -183
- package/labs/texture.js +0 -350
- package/labs/texture.js.map +0 -1
- package/labs/viewerLabs.d.ts +0 -51
- package/labs/viewerLabs.js +0 -134
- package/labs/viewerLabs.js.map +0 -1
- package/loader/modelLoader.d.ts +0 -56
- package/loader/modelLoader.js +0 -199
- package/loader/modelLoader.js.map +0 -1
- package/loader/plugins/applyMaterialConfig.d.ts +0 -12
- package/loader/plugins/applyMaterialConfig.js +0 -16
- package/loader/plugins/applyMaterialConfig.js.map +0 -1
- package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +0 -9
- package/loader/plugins/extendedMaterialLoaderPlugin.js +0 -16
- package/loader/plugins/extendedMaterialLoaderPlugin.js.map +0 -1
- package/loader/plugins/index.d.ts +0 -19
- package/loader/plugins/index.js +0 -44
- package/loader/plugins/index.js.map +0 -1
- package/loader/plugins/loaderPlugin.d.ts +0 -24
- package/loader/plugins/loaderPlugin.js +0 -2
- package/loader/plugins/loaderPlugin.js.map +0 -1
- package/loader/plugins/msftLodLoaderPlugin.d.ts +0 -12
- package/loader/plugins/msftLodLoaderPlugin.js +0 -21
- package/loader/plugins/msftLodLoaderPlugin.js.map +0 -1
- package/loader/plugins/telemetryLoaderPlugin.d.ts +0 -12
- package/loader/plugins/telemetryLoaderPlugin.js +0 -36
- package/loader/plugins/telemetryLoaderPlugin.js.map +0 -1
- package/managers/observablesManager.d.ts +0 -66
- package/managers/observablesManager.js +0 -35
- package/managers/observablesManager.js.map +0 -1
- package/managers/sceneManager.d.ts +0 -245
- package/managers/sceneManager.js +0 -1375
- package/managers/sceneManager.js.map +0 -1
- package/managers/telemetryManager.d.ts +0 -78
- package/managers/telemetryManager.js +0 -117
- package/managers/telemetryManager.js.map +0 -1
- package/model/modelAnimation.d.ts +0 -215
- package/model/modelAnimation.js +0 -237
- package/model/modelAnimation.js.map +0 -1
- package/model/viewerModel.d.ts +0 -233
- package/model/viewerModel.js +0 -673
- package/model/viewerModel.js.map +0 -1
- package/optimizer/custom/extended.d.ts +0 -13
- package/optimizer/custom/extended.js +0 -101
- package/optimizer/custom/extended.js.map +0 -1
- package/optimizer/custom/index.d.ts +0 -9
- package/optimizer/custom/index.js +0 -26
- package/optimizer/custom/index.js.map +0 -1
- package/renderOnlyIndex.d.ts +0 -11
- package/renderOnlyIndex.js +0 -18
- package/renderOnlyIndex.js.map +0 -1
- package/templating/eventManager.d.ts +0 -35
- package/templating/eventManager.js +0 -66
- package/templating/eventManager.js.map +0 -1
- package/templating/plugins/hdButtonPlugin.d.ts +0 -9
- package/templating/plugins/hdButtonPlugin.js +0 -21
- package/templating/plugins/hdButtonPlugin.js.map +0 -1
- package/templating/plugins/printButton.d.ts +0 -9
- package/templating/plugins/printButton.js +0 -40
- package/templating/plugins/printButton.js.map +0 -1
- package/templating/templateManager.d.ts +0 -197
- package/templating/templateManager.js +0 -561
- package/templating/templateManager.js.map +0 -1
- package/templating/viewerTemplatePlugin.d.ts +0 -21
- package/templating/viewerTemplatePlugin.js +0 -69
- package/templating/viewerTemplatePlugin.js.map +0 -1
- package/viewer/defaultViewer.d.ts +0 -130
- package/viewer/defaultViewer.js +0 -672
- package/viewer/defaultViewer.js.map +0 -1
- package/viewer/renderOnlyViewer.d.ts +0 -9
- package/viewer/renderOnlyViewer.js +0 -46
- package/viewer/renderOnlyViewer.js.map +0 -1
- package/viewer/viewer.d.ts +0 -258
- package/viewer/viewer.js +0 -783
- package/viewer/viewer.js.map +0 -1
- package/viewer/viewerManager.d.ts +0 -58
- package/viewer/viewerManager.js +0 -91
- package/viewer/viewerManager.js.map +0 -1
- package/viewer/viewerWithTemplate.d.ts +0 -9
- package/viewer/viewerWithTemplate.js +0 -20
- package/viewer/viewerWithTemplate.js.map +0 -1
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { G as GLTFLoader, A as ArrayItem } from './glTFLoader-BFTXjWeW.esm.js';
|
|
2
|
+
import { M as Mesh, aI as unregisterGLTFExtension, aJ as registerGLTFExtension } from './index-Cb7zGjYe.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_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-BsiSr1O-.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_materials_variants-BsiSr1O-.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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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{G as t,A as a}from"./glTFLoader-C1FQTJvU.esm.min.js";import{M as e,aI as n,aJ as s}from"./index-CkOp_ioW.esm.min.js";import"./rawTexture-WJAHgyBM.esm.min.js";import"./assetContainer-DJXgbG9e.esm.min.js";import"./glTFLoaderAnimation-ncwBNhw0.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-Dj5fUGRW.esm.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_materials_variants-Dj5fUGRW.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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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { aU as PBRMaterial, 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_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-CZH9egfT.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_materials_volume-CZH9egfT.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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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{aU as e,aI as s,aJ as t}from"./index-CkOp_ioW.esm.min.js";import{G as n}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 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-DfCuukn0.esm.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_materials_volume-DfCuukn0.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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{aI as s,aJ as e}from"./index-CkOp_ioW.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-BIobOHHb.esm.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_mesh_quantization-BIobOHHb.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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { aI as unregisterGLTFExtension, aJ as registerGLTFExtension } from './index-Cb7zGjYe.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-QON7M_53.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_mesh_quantization-QON7M_53.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;;;;"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { G as GLTFLoader, A as ArrayItem } from './glTFLoader-BFTXjWeW.esm.js';
|
|
2
|
+
import { aI as unregisterGLTFExtension, aJ as registerGLTFExtension } from './index-Cb7zGjYe.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_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-BoG2JtnT.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_texture_basisu-BoG2JtnT.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;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{G as e,A as s}from"./glTFLoader-C1FQTJvU.esm.min.js";import{aI as t,aJ as r}from"./index-CkOp_ioW.esm.min.js";import"./rawTexture-WJAHgyBM.esm.min.js";import"./assetContainer-DJXgbG9e.esm.min.js";import"./glTFLoaderAnimation-ncwBNhw0.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-CzUzxtEH.esm.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_texture_basisu-CzUzxtEH.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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{q as e,aI as t,aJ as o}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 n="KHR_texture_transform";class r{constructor(e){this.name=n,this._loader=e,this.enabled=this._loader.isExtensionUsed(n)}dispose(){this._loader=null}loadTextureInfoAsync(t,o,n){return s.LoadExtensionAsync(t,o,this.name,((s,r)=>this._loader.loadTextureInfoAsync(t,o,(t=>{if(!(t instanceof e))throw new Error(`${s}: Texture type not supported`);r.offset&&(t.uOffset=r.offset[0],t.vOffset=r.offset[1]),t.uRotationCenter=0,t.vRotationCenter=0,r.rotation&&(t.wAng=-r.rotation),r.scale&&(t.uScale=r.scale[0],t.vScale=r.scale[1]),null!=r.texCoord&&(t.coordinatesIndex=r.texCoord),n(t)}))))}}t(n),o(n,!0,(e=>new r(e)));export{r as KHR_texture_transform};
|
|
2
|
+
//# sourceMappingURL=KHR_texture_transform-B3PKgt19.esm.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_texture_transform-B3PKgt19.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_texture_transform.js"],"sourcesContent":["import { Texture } from \"core/Materials/Textures/texture\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_texture_transform\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_transform/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_texture_transform {\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 * @internal\n */\n loadTextureInfoAsync(context, textureInfo, assign) {\n return GLTFLoader.LoadExtensionAsync(context, textureInfo, this.name, (extensionContext, extension) => {\n return this._loader.loadTextureInfoAsync(context, textureInfo, (babylonTexture) => {\n if (!(babylonTexture instanceof Texture)) {\n throw new Error(`${extensionContext}: Texture type not supported`);\n }\n if (extension.offset) {\n babylonTexture.uOffset = extension.offset[0];\n babylonTexture.vOffset = extension.offset[1];\n }\n // Always rotate around the origin.\n babylonTexture.uRotationCenter = 0;\n babylonTexture.vRotationCenter = 0;\n if (extension.rotation) {\n babylonTexture.wAng = -extension.rotation;\n }\n if (extension.scale) {\n babylonTexture.uScale = extension.scale[0];\n babylonTexture.vScale = extension.scale[1];\n }\n if (extension.texCoord != undefined) {\n babylonTexture.coordinatesIndex = extension.texCoord;\n }\n assign(babylonTexture);\n });\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_texture_transform(loader));\n//# sourceMappingURL=KHR_texture_transform.js.map"],"names":["NAME","KHR_texture_transform","constructor","loader","this","name","_loader","enabled","isExtensionUsed","dispose","loadTextureInfoAsync","context","textureInfo","assign","GLTFLoader","LoadExtensionAsync","extensionContext","extension","babylonTexture","Texture","Error","offset","uOffset","vOffset","uRotationCenter","vRotationCenter","rotation","wAng","scale","uScale","vScale","undefined","texCoord","coordinatesIndex","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"6PAGA,MAAMA,EAAO,wBAKN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EACZI,KAAKE,QAAUH,EACfC,KAAKG,QAAUH,KAAKE,QAAQE,gBAAgBR,EAC/C,CAED,OAAAS,GACIL,KAAKE,QAAU,IAClB,CAID,oBAAAI,CAAqBC,EAASC,EAAaC,GACvC,OAAOC,EAAWC,mBAAmBJ,EAASC,EAAaR,KAAKC,MAAM,CAACW,EAAkBC,IAC9Eb,KAAKE,QAAQI,qBAAqBC,EAASC,GAAcM,IAC5D,KAAMA,aAA0BC,GAC5B,MAAM,IAAIC,MAAM,GAAGJ,iCAEnBC,EAAUI,SACVH,EAAeI,QAAUL,EAAUI,OAAO,GAC1CH,EAAeK,QAAUN,EAAUI,OAAO,IAG9CH,EAAeM,gBAAkB,EACjCN,EAAeO,gBAAkB,EAC7BR,EAAUS,WACVR,EAAeS,MAAQV,EAAUS,UAEjCT,EAAUW,QACVV,EAAeW,OAASZ,EAAUW,MAAM,GACxCV,EAAeY,OAASb,EAAUW,MAAM,IAElBG,MAAtBd,EAAUe,WACVd,EAAee,iBAAmBhB,EAAUe,UAEhDnB,EAAOK,EAAe,KAGjC,EAELgB,EAAwBlC,GACxBmC,EAAsBnC,GAAM,GAAOG,GAAW,IAAIF,EAAsBE"}
|