@babylonjs/viewer 7.40.4 → 7.41.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_ies-CFzvmxxg.esm.min.js +2 -0
- package/dist/chunks/EXT_lights_ies-CFzvmxxg.esm.min.js.map +1 -0
- package/dist/chunks/EXT_lights_ies-cyFdY7yl.esm.js +84 -0
- package/dist/chunks/EXT_lights_ies-cyFdY7yl.esm.js.map +1 -0
- package/dist/chunks/EXT_lights_image_based-BNmSqx40.esm.min.js +2 -0
- package/dist/chunks/EXT_lights_image_based-BNmSqx40.esm.min.js.map +1 -0
- package/dist/chunks/EXT_lights_image_based-CC48JVU0.esm.js +171 -0
- package/dist/chunks/EXT_lights_image_based-CC48JVU0.esm.js.map +1 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-B2qj3kQu.esm.js +86 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-B2qj3kQu.esm.js.map +1 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-lanrAAoi.esm.min.js +2 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-lanrAAoi.esm.min.js.map +1 -0
- package/dist/chunks/EXT_meshopt_compression-DjvHx7gJ.esm.js +134 -0
- package/dist/chunks/EXT_meshopt_compression-DjvHx7gJ.esm.js.map +1 -0
- package/dist/chunks/EXT_meshopt_compression-oH6HzGir.esm.min.js +2 -0
- package/dist/chunks/EXT_meshopt_compression-oH6HzGir.esm.min.js.map +1 -0
- package/dist/chunks/EXT_texture_avif-BYWETW7-.esm.min.js +2 -0
- package/dist/chunks/EXT_texture_avif-BYWETW7-.esm.min.js.map +1 -0
- package/dist/chunks/EXT_texture_avif-CKXEq29h.esm.js +44 -0
- package/dist/chunks/EXT_texture_avif-CKXEq29h.esm.js.map +1 -0
- package/dist/chunks/EXT_texture_webp-Dl4GPoEU.esm.min.js +2 -0
- package/dist/chunks/EXT_texture_webp-Dl4GPoEU.esm.min.js.map +1 -0
- package/dist/chunks/EXT_texture_webp-fAiSgaNl.esm.js +43 -0
- package/dist/chunks/EXT_texture_webp-fAiSgaNl.esm.js.map +1 -0
- package/dist/chunks/ExtrasAsMetadata-BUQ3X3M6.esm.js +64 -0
- package/dist/chunks/ExtrasAsMetadata-BUQ3X3M6.esm.js.map +1 -0
- package/dist/chunks/ExtrasAsMetadata-C_M9nxb4.esm.min.js +2 -0
- package/dist/chunks/ExtrasAsMetadata-C_M9nxb4.esm.min.js.map +1 -0
- package/dist/chunks/KHR_animation_pointer-BdFZyLUq.esm.js +352 -0
- package/dist/chunks/KHR_animation_pointer-BdFZyLUq.esm.js.map +1 -0
- package/dist/chunks/KHR_animation_pointer-CBqZcURZ.esm.min.js +2 -0
- package/dist/chunks/KHR_animation_pointer-CBqZcURZ.esm.min.js.map +1 -0
- package/dist/chunks/KHR_draco_mesh_compression-DU2Rk2nj.esm.min.js +2 -0
- package/dist/chunks/KHR_draco_mesh_compression-DU2Rk2nj.esm.min.js.map +1 -0
- package/dist/chunks/KHR_draco_mesh_compression-hVF9XuFz.esm.js +610 -0
- package/dist/chunks/KHR_draco_mesh_compression-hVF9XuFz.esm.js.map +1 -0
- package/dist/chunks/KHR_interactivity-COE1p684.esm.min.js +2 -0
- package/dist/chunks/KHR_interactivity-COE1p684.esm.min.js.map +1 -0
- package/dist/chunks/KHR_interactivity-Cv1s_pea.esm.js +4033 -0
- package/dist/chunks/KHR_interactivity-Cv1s_pea.esm.js.map +1 -0
- package/dist/chunks/KHR_lights_punctual-CHf5kbKi.esm.js +581 -0
- package/dist/chunks/KHR_lights_punctual-CHf5kbKi.esm.js.map +1 -0
- package/dist/chunks/KHR_lights_punctual-DIEAP5SG.esm.min.js +2 -0
- package/dist/chunks/KHR_lights_punctual-DIEAP5SG.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_anisotropy-CU-xxV6y.esm.js +65 -0
- package/dist/chunks/KHR_materials_anisotropy-CU-xxV6y.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_anisotropy-Cq6CU4qW.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_anisotropy-Cq6CU4qW.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_clearcoat-BSjcmIju.esm.js +96 -0
- package/dist/chunks/KHR_materials_clearcoat-BSjcmIju.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_clearcoat-CVNNhJRE.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_clearcoat-CVNNhJRE.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-BDuGIkOh.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-BDuGIkOh.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-BZ-9rJUf.esm.js +97 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-BZ-9rJUf.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_dispersion-BxiGElVU.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_dispersion-BxiGElVU.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_dispersion-UI4zH1V_.esm.js +62 -0
- package/dist/chunks/KHR_materials_dispersion-UI4zH1V_.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_emissive_strength-BT-Nu60T.esm.js +55 -0
- package/dist/chunks/KHR_materials_emissive_strength-BT-Nu60T.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_emissive_strength-CwkVNmN7.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_emissive_strength-CwkVNmN7.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_ior-BGUUe5AW.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_ior-BGUUe5AW.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_ior-BbBQF-yw.esm.js +64 -0
- package/dist/chunks/KHR_materials_ior-BbBQF-yw.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_iridescence-IFN2ewvr.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_iridescence-IFN2ewvr.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_iridescence-nLZDN7sc.esm.js +72 -0
- package/dist/chunks/KHR_materials_iridescence-nLZDN7sc.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CyNVQC-W.esm.js +81 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CyNVQC-W.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-zxcydJdp.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-zxcydJdp.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_sheen-BWL9yo8Z.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_sheen-BWL9yo8Z.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_sheen-DSThWwq2.esm.js +85 -0
- package/dist/chunks/KHR_materials_sheen-DSThWwq2.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_specular-B96NRFEV.esm.js +75 -0
- package/dist/chunks/KHR_materials_specular-B96NRFEV.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_specular-D2JwOdxw.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_specular-D2JwOdxw.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_transmission-BvqtJXfD.esm.js +307 -0
- package/dist/chunks/KHR_materials_transmission-BvqtJXfD.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_transmission-ljXN4y_0.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_transmission-ljXN4y_0.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_unlit-CjGTXU3z.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_unlit-CjGTXU3z.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_unlit-ww00IloC.esm.js +74 -0
- package/dist/chunks/KHR_materials_unlit-ww00IloC.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_variants-D0pVU1lm.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_variants-D0pVU1lm.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_variants-D3IDOJfB.esm.js +262 -0
- package/dist/chunks/KHR_materials_variants-D3IDOJfB.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_volume-BfZR8rbr.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_volume-BfZR8rbr.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_volume-CLkC_Bvi.esm.js +87 -0
- package/dist/chunks/KHR_materials_volume-CLkC_Bvi.esm.js.map +1 -0
- package/dist/chunks/KHR_mesh_quantization-BJv1P2Wt.esm.js +26 -0
- package/dist/chunks/KHR_mesh_quantization-BJv1P2Wt.esm.js.map +1 -0
- package/dist/chunks/KHR_mesh_quantization-D69X_5bR.esm.min.js +2 -0
- package/dist/chunks/KHR_mesh_quantization-D69X_5bR.esm.min.js.map +1 -0
- package/dist/chunks/KHR_node_hoverability-CG6s7hhs.esm.min.js +2 -0
- package/dist/chunks/KHR_node_hoverability-CG6s7hhs.esm.min.js.map +1 -0
- package/dist/chunks/KHR_node_hoverability-xgvyZ_r-.esm.js +39 -0
- package/dist/chunks/KHR_node_hoverability-xgvyZ_r-.esm.js.map +1 -0
- package/dist/chunks/KHR_node_visibility-DUozjXRR.esm.min.js +2 -0
- package/dist/chunks/KHR_node_visibility-DUozjXRR.esm.min.js.map +1 -0
- package/dist/chunks/KHR_node_visibility-aAs5Kkey.esm.js +46 -0
- package/dist/chunks/KHR_node_visibility-aAs5Kkey.esm.js.map +1 -0
- package/dist/chunks/KHR_texture_basisu-Bjw0jG1d.esm.js +43 -0
- package/dist/chunks/KHR_texture_basisu-Bjw0jG1d.esm.js.map +1 -0
- package/dist/chunks/KHR_texture_basisu-FWm46QOj.esm.min.js +2 -0
- package/dist/chunks/KHR_texture_basisu-FWm46QOj.esm.min.js.map +1 -0
- package/dist/chunks/KHR_texture_transform-BZYr2brj.esm.min.js +2 -0
- package/dist/chunks/KHR_texture_transform-BZYr2brj.esm.min.js.map +1 -0
- package/dist/chunks/KHR_texture_transform-DdsN6SA_.esm.js +63 -0
- package/dist/chunks/KHR_texture_transform-DdsN6SA_.esm.js.map +1 -0
- package/dist/chunks/KHR_xmp_json_ld-DhFD64vh.esm.min.js +2 -0
- package/dist/chunks/KHR_xmp_json_ld-DhFD64vh.esm.min.js.map +1 -0
- package/dist/chunks/KHR_xmp_json_ld-sTn6N13E.esm.js +51 -0
- package/dist/chunks/KHR_xmp_json_ld-sTn6N13E.esm.js.map +1 -0
- package/dist/chunks/MSFT_audio_emitter-5lrNj8-c.esm.min.js +2 -0
- package/dist/chunks/MSFT_audio_emitter-5lrNj8-c.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_audio_emitter-B7RJSCaF.esm.js +2201 -0
- package/dist/chunks/MSFT_audio_emitter-B7RJSCaF.esm.js.map +1 -0
- package/dist/chunks/MSFT_lod-BJBjM7Gp.esm.js +337 -0
- package/dist/chunks/MSFT_lod-BJBjM7Gp.esm.js.map +1 -0
- package/dist/chunks/MSFT_lod-DpEZMnoU.esm.min.js +2 -0
- package/dist/chunks/MSFT_lod-DpEZMnoU.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_minecraftMesh-CXHPdyar.esm.min.js +2 -0
- package/dist/chunks/MSFT_minecraftMesh-CXHPdyar.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_minecraftMesh-DRC2tMvY.esm.js +46 -0
- package/dist/chunks/MSFT_minecraftMesh-DRC2tMvY.esm.js.map +1 -0
- package/dist/chunks/MSFT_sRGBFactors-Db1asZRk.esm.js +47 -0
- package/dist/chunks/MSFT_sRGBFactors-Db1asZRk.esm.js.map +1 -0
- package/dist/chunks/MSFT_sRGBFactors-RhAtY3q7.esm.min.js +2 -0
- package/dist/chunks/MSFT_sRGBFactors-RhAtY3q7.esm.min.js.map +1 -0
- package/dist/chunks/animationGroup-CjaFhT87.esm.min.js +2 -0
- package/dist/chunks/animationGroup-CjaFhT87.esm.min.js.map +1 -0
- package/dist/chunks/animationGroup-Ctc6BUYh.esm.js +2482 -0
- package/dist/chunks/animationGroup-Ctc6BUYh.esm.js.map +1 -0
- package/dist/chunks/assetContainer-DDEska5G.esm.min.js +2 -0
- package/dist/chunks/assetContainer-DDEska5G.esm.min.js.map +1 -0
- package/dist/chunks/assetContainer-QD3gUzyx.esm.js +1720 -0
- package/dist/chunks/assetContainer-QD3gUzyx.esm.js.map +1 -0
- package/dist/chunks/audioEngine-C6R2Ow6e.esm.js +305 -0
- package/dist/chunks/audioEngine-C6R2Ow6e.esm.js.map +1 -0
- package/dist/chunks/audioEngine-FKYFzzDb.esm.min.js +2 -0
- package/dist/chunks/audioEngine-FKYFzzDb.esm.min.js.map +1 -0
- package/dist/chunks/bakedVertexAnimation-DKR6lpIg.esm.min.js +2 -0
- package/dist/chunks/bakedVertexAnimation-DKR6lpIg.esm.min.js.map +1 -0
- package/dist/chunks/bakedVertexAnimation-Hxn22qoJ.esm.js +114 -0
- package/dist/chunks/bakedVertexAnimation-Hxn22qoJ.esm.js.map +1 -0
- package/dist/chunks/basisTextureLoader-BcNAHqjw.esm.min.js +2 -0
- package/dist/chunks/basisTextureLoader-BcNAHqjw.esm.min.js.map +1 -0
- package/dist/chunks/basisTextureLoader-Dr2d0ez5.esm.js +600 -0
- package/dist/chunks/basisTextureLoader-Dr2d0ez5.esm.js.map +1 -0
- package/dist/chunks/dds-CFrq_XFM.esm.js +540 -0
- package/dist/chunks/dds-CFrq_XFM.esm.js.map +1 -0
- package/dist/chunks/dds-D1NTXLIL.esm.min.js +2 -0
- package/dist/chunks/dds-D1NTXLIL.esm.min.js.map +1 -0
- package/dist/chunks/ddsTextureLoader-DbvffCUa.esm.min.js +2 -0
- package/dist/chunks/ddsTextureLoader-DbvffCUa.esm.min.js.map +1 -0
- package/dist/chunks/ddsTextureLoader-wyjUdBoO.esm.js +88 -0
- package/dist/chunks/ddsTextureLoader-wyjUdBoO.esm.js.map +1 -0
- package/dist/chunks/decalFragment-CGto5zyq.esm.js +18 -0
- package/dist/chunks/decalFragment-CGto5zyq.esm.js.map +1 -0
- package/dist/chunks/decalFragment-CU64C8uG.esm.min.js +2 -0
- package/dist/chunks/decalFragment-CU64C8uG.esm.min.js.map +1 -0
- package/dist/chunks/default.fragment-B2bhCC4E.esm.js +446 -0
- package/dist/chunks/default.fragment-B2bhCC4E.esm.js.map +1 -0
- package/dist/chunks/default.fragment-Boq79lom.esm.min.js +2 -0
- package/dist/chunks/default.fragment-Boq79lom.esm.min.js.map +1 -0
- package/dist/chunks/default.fragment-CluFtXFp.esm.min.js +2 -0
- package/dist/chunks/default.fragment-CluFtXFp.esm.min.js.map +1 -0
- package/dist/chunks/default.fragment-Dshl5Uqc.esm.js +515 -0
- package/dist/chunks/default.fragment-Dshl5Uqc.esm.js.map +1 -0
- package/dist/chunks/default.vertex-BAAgCiYo.esm.min.js +2 -0
- package/dist/chunks/default.vertex-BAAgCiYo.esm.min.js.map +1 -0
- package/dist/chunks/default.vertex-BhOIicZW.esm.min.js +2 -0
- package/dist/chunks/default.vertex-BhOIicZW.esm.min.js.map +1 -0
- package/dist/chunks/default.vertex-DL7IogGB.esm.js +211 -0
- package/dist/chunks/default.vertex-DL7IogGB.esm.js.map +1 -0
- package/dist/chunks/default.vertex-DOXcZEQ0.esm.js +190 -0
- package/dist/chunks/default.vertex-DOXcZEQ0.esm.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-1qBz6EuF.esm.js +15 -0
- package/dist/chunks/defaultUboDeclaration-1qBz6EuF.esm.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-B9LzMzlw.esm.min.js +2 -0
- package/dist/chunks/defaultUboDeclaration-B9LzMzlw.esm.min.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-CXdodf7i.esm.js +13 -0
- package/dist/chunks/defaultUboDeclaration-CXdodf7i.esm.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-CZlCaxgu.esm.min.js +2 -0
- package/dist/chunks/defaultUboDeclaration-CZlCaxgu.esm.min.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-C3vcqEdz.esm.js +200 -0
- package/dist/chunks/dumpTools-C3vcqEdz.esm.js.map +1 -0
- package/dist/chunks/dumpTools-C8ZzlWEh.esm.min.js +2 -0
- package/dist/chunks/dumpTools-C8ZzlWEh.esm.min.js.map +1 -0
- package/dist/chunks/engine-_wVL12I1.esm.js +2213 -0
- package/dist/chunks/engine-_wVL12I1.esm.js.map +1 -0
- package/dist/chunks/engine-nCWszV_w.esm.min.js +2 -0
- package/dist/chunks/engine-nCWszV_w.esm.min.js.map +1 -0
- package/dist/chunks/engine.common-BuPfo1Wj.esm.min.js +2 -0
- package/dist/chunks/engine.common-BuPfo1Wj.esm.min.js.map +1 -0
- package/dist/chunks/engine.common-CT5iq3ZT.esm.js +1162 -0
- package/dist/chunks/engine.common-CT5iq3ZT.esm.js.map +1 -0
- package/dist/chunks/envTextureLoader-D7L0fVXR.esm.min.js +2 -0
- package/dist/chunks/envTextureLoader-D7L0fVXR.esm.min.js.map +1 -0
- package/dist/chunks/envTextureLoader-PtuRNDrr.esm.js +64 -0
- package/dist/chunks/envTextureLoader-PtuRNDrr.esm.js.map +1 -0
- package/dist/chunks/environmentTextureTools-BjmCbfSf.esm.min.js +2 -0
- package/dist/chunks/environmentTextureTools-BjmCbfSf.esm.min.js.map +1 -0
- package/dist/chunks/environmentTextureTools-DYbFmR95.esm.js +382 -0
- package/dist/chunks/environmentTextureTools-DYbFmR95.esm.js.map +1 -0
- package/dist/chunks/exrTextureLoader-BIPK0bPG.esm.min.js +2 -0
- package/dist/chunks/exrTextureLoader-BIPK0bPG.esm.min.js.map +1 -0
- package/dist/chunks/exrTextureLoader-CEhv_7O9.esm.js +1683 -0
- package/dist/chunks/exrTextureLoader-CEhv_7O9.esm.js.map +1 -0
- package/dist/chunks/fogFragment-B7_evZbY.esm.js +102 -0
- package/dist/chunks/fogFragment-B7_evZbY.esm.js.map +1 -0
- package/dist/chunks/fogFragment-CoZPb7oI.esm.min.js +2 -0
- package/dist/chunks/fogFragment-CoZPb7oI.esm.min.js.map +1 -0
- package/dist/chunks/fogFragment-DSO97-dc.esm.min.js +2 -0
- package/dist/chunks/fogFragment-DSO97-dc.esm.min.js.map +1 -0
- package/dist/chunks/fogFragment-wY2jQ7fb.esm.js +101 -0
- package/dist/chunks/fogFragment-wY2jQ7fb.esm.js.map +1 -0
- package/dist/chunks/fresnelFunction-BSEp5SCT.esm.js +12 -0
- package/dist/chunks/fresnelFunction-BSEp5SCT.esm.js.map +1 -0
- package/dist/chunks/fresnelFunction-Cg-NNSrz.esm.min.js +2 -0
- package/dist/chunks/fresnelFunction-Cg-NNSrz.esm.min.js.map +1 -0
- package/dist/chunks/glTFLoader-3ZUBWawQ.esm.min.js +2 -0
- package/dist/chunks/glTFLoader-3ZUBWawQ.esm.min.js.map +1 -0
- package/dist/chunks/glTFLoader-DVoAJl_A.esm.js +7658 -0
- package/dist/chunks/glTFLoader-DVoAJl_A.esm.js.map +1 -0
- package/dist/chunks/glTFLoaderAnimation-By7yP8sQ.esm.js +77 -0
- package/dist/chunks/glTFLoaderAnimation-By7yP8sQ.esm.js.map +1 -0
- package/dist/chunks/glTFLoaderAnimation-C9g-SHaJ.esm.min.js +2 -0
- package/dist/chunks/glTFLoaderAnimation-C9g-SHaJ.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-B8pgRSdd.esm.min.js +2 -0
- package/dist/chunks/harmonicsFunctions-B8pgRSdd.esm.min.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-BcfkM4gb.esm.js +35 -0
- package/dist/chunks/harmonicsFunctions-BcfkM4gb.esm.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-DF1x585z.esm.min.js +2 -0
- package/dist/chunks/harmonicsFunctions-DF1x585z.esm.min.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-a48Ki58F.esm.js +34 -0
- package/dist/chunks/harmonicsFunctions-a48Ki58F.esm.js.map +1 -0
- package/dist/chunks/hdrTextureLoader-BWnO8u1r.esm.js +253 -0
- package/dist/chunks/hdrTextureLoader-BWnO8u1r.esm.js.map +1 -0
- package/dist/chunks/hdrTextureLoader-Bii9QpYI.esm.min.js +2 -0
- package/dist/chunks/hdrTextureLoader-Bii9QpYI.esm.min.js.map +1 -0
- package/dist/chunks/helperFunctions-BinFB44e.esm.js +110 -0
- package/dist/chunks/helperFunctions-BinFB44e.esm.js.map +1 -0
- package/dist/chunks/helperFunctions-CZAyJNTJ.esm.min.js +2 -0
- package/dist/chunks/helperFunctions-CZAyJNTJ.esm.min.js.map +1 -0
- package/dist/chunks/helperFunctions-DjoUVhI2.esm.min.js +2 -0
- package/dist/chunks/helperFunctions-DjoUVhI2.esm.min.js.map +1 -0
- package/dist/chunks/helperFunctions-Ds3-3-tu.esm.js +83 -0
- package/dist/chunks/helperFunctions-Ds3-3-tu.esm.js.map +1 -0
- package/dist/chunks/iesTextureLoader-CsnjIN7M.esm.js +189 -0
- package/dist/chunks/iesTextureLoader-CsnjIN7M.esm.js.map +1 -0
- package/dist/chunks/iesTextureLoader-DkmTomCD.esm.min.js +2 -0
- package/dist/chunks/iesTextureLoader-DkmTomCD.esm.min.js.map +1 -0
- package/dist/chunks/index-Cw2FZpYY.esm.js +74870 -0
- package/dist/chunks/index-Cw2FZpYY.esm.js.map +1 -0
- package/dist/chunks/index-DRbhrB0j.esm.min.js +57 -0
- package/dist/chunks/index-DRbhrB0j.esm.min.js.map +1 -0
- package/dist/chunks/ktxTextureLoader-B4pmAFQl.esm.js +814 -0
- package/dist/chunks/ktxTextureLoader-B4pmAFQl.esm.js.map +1 -0
- package/dist/chunks/ktxTextureLoader-B8Rlj2T0.esm.min.js +2 -0
- package/dist/chunks/ktxTextureLoader-B8Rlj2T0.esm.min.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-CGz2sG_K.esm.js +11 -0
- package/dist/chunks/logDepthDeclaration-CGz2sG_K.esm.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-CfVFs2QC.esm.min.js +2 -0
- package/dist/chunks/logDepthDeclaration-CfVFs2QC.esm.min.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-CzVshpad.esm.min.js +2 -0
- package/dist/chunks/logDepthDeclaration-CzVshpad.esm.min.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-xOwnAKtd.esm.js +35 -0
- package/dist/chunks/logDepthDeclaration-xOwnAKtd.esm.js.map +1 -0
- package/dist/chunks/logDepthVertex-BRgUZAsw.esm.js +81 -0
- package/dist/chunks/logDepthVertex-BRgUZAsw.esm.js.map +1 -0
- package/dist/chunks/logDepthVertex-CWfPfN9-.esm.min.js +2 -0
- package/dist/chunks/logDepthVertex-CWfPfN9-.esm.min.js.map +1 -0
- package/dist/chunks/logDepthVertex-HDlt7vTP.esm.min.js +2 -0
- package/dist/chunks/logDepthVertex-HDlt7vTP.esm.min.js.map +1 -0
- package/dist/chunks/logDepthVertex-l0uEG89p.esm.js +77 -0
- package/dist/chunks/logDepthVertex-l0uEG89p.esm.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-B72zV2P9.esm.min.js +2 -0
- package/dist/chunks/mainUVVaryingDeclaration-B72zV2P9.esm.min.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-BDogjZrz.esm.js +11 -0
- package/dist/chunks/mainUVVaryingDeclaration-BDogjZrz.esm.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-DO5HJKyl.esm.min.js +2 -0
- package/dist/chunks/mainUVVaryingDeclaration-DO5HJKyl.esm.min.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-DqzNajlu.esm.js +11 -0
- package/dist/chunks/mainUVVaryingDeclaration-DqzNajlu.esm.js.map +1 -0
- package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js +119 -0
- package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js.map +1 -0
- package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js +2 -0
- package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js.map +1 -0
- package/dist/chunks/meshUboDeclaration-BCO87lfZ.esm.js +26 -0
- package/dist/chunks/meshUboDeclaration-BCO87lfZ.esm.js.map +1 -0
- package/dist/chunks/meshUboDeclaration-o4Xf2fwW.esm.min.js +2 -0
- package/dist/chunks/meshUboDeclaration-o4Xf2fwW.esm.min.js.map +1 -0
- package/dist/chunks/objFileLoader-BfPYM2Sh.esm.min.js +2 -0
- package/dist/chunks/objFileLoader-BfPYM2Sh.esm.min.js.map +1 -0
- package/dist/chunks/objFileLoader-D1emf4Qh.esm.js +1338 -0
- package/dist/chunks/objFileLoader-D1emf4Qh.esm.js.map +1 -0
- package/dist/chunks/oitFragment-B92YpEfj.esm.min.js +2 -0
- package/dist/chunks/oitFragment-B92YpEfj.esm.min.js.map +1 -0
- package/dist/chunks/oitFragment-BoFKkDNv.esm.js +1078 -0
- package/dist/chunks/oitFragment-BoFKkDNv.esm.js.map +1 -0
- package/dist/chunks/oitFragment-Cfx3g0iX.esm.js +1240 -0
- package/dist/chunks/oitFragment-Cfx3g0iX.esm.js.map +1 -0
- package/dist/chunks/oitFragment-CiA7gld-.esm.min.js +2 -0
- package/dist/chunks/oitFragment-CiA7gld-.esm.min.js.map +1 -0
- package/dist/chunks/pass.fragment-BLbIViJ7.esm.js +15 -0
- package/dist/chunks/pass.fragment-BLbIViJ7.esm.js.map +1 -0
- package/dist/chunks/pass.fragment-BqMk9ouF.esm.min.js +2 -0
- package/dist/chunks/pass.fragment-BqMk9ouF.esm.min.js.map +1 -0
- package/dist/chunks/pass.fragment-BuVDFNSR.esm.js +15 -0
- package/dist/chunks/pass.fragment-BuVDFNSR.esm.js.map +1 -0
- package/dist/chunks/pass.fragment-cM5FBHLm.esm.min.js +2 -0
- package/dist/chunks/pass.fragment-cM5FBHLm.esm.min.js.map +1 -0
- package/dist/chunks/pbr.fragment-5L_F7nGn.esm.js +3222 -0
- package/dist/chunks/pbr.fragment-5L_F7nGn.esm.js.map +1 -0
- package/dist/chunks/pbr.fragment-BJNPHSa-.esm.min.js +2 -0
- package/dist/chunks/pbr.fragment-BJNPHSa-.esm.min.js.map +1 -0
- package/dist/chunks/pbr.fragment-CTLrOzV2.esm.js +3269 -0
- package/dist/chunks/pbr.fragment-CTLrOzV2.esm.js.map +1 -0
- package/dist/chunks/pbr.fragment-D9MJFOr2.esm.min.js +2 -0
- package/dist/chunks/pbr.fragment-D9MJFOr2.esm.min.js.map +1 -0
- package/dist/chunks/pbr.vertex-BJyjq_fb.esm.js +223 -0
- package/dist/chunks/pbr.vertex-BJyjq_fb.esm.js.map +1 -0
- package/dist/chunks/pbr.vertex-Bm8Ng4Sx.esm.min.js +2 -0
- package/dist/chunks/pbr.vertex-Bm8Ng4Sx.esm.min.js.map +1 -0
- package/dist/chunks/pbr.vertex-CAKPUhfb.esm.min.js +2 -0
- package/dist/chunks/pbr.vertex-CAKPUhfb.esm.min.js.map +1 -0
- package/dist/chunks/pbr.vertex-DJd_-MvE.esm.js +348 -0
- package/dist/chunks/pbr.vertex-DJd_-MvE.esm.js.map +1 -0
- package/dist/chunks/postprocess.vertex-BjRX5eGi.esm.min.js +2 -0
- package/dist/chunks/postprocess.vertex-BjRX5eGi.esm.min.js.map +1 -0
- package/dist/chunks/postprocess.vertex-CFaKNIU-.esm.js +20 -0
- package/dist/chunks/postprocess.vertex-CFaKNIU-.esm.js.map +1 -0
- package/dist/chunks/rawTexture-ByD8l28R.esm.min.js +2 -0
- package/dist/chunks/rawTexture-ByD8l28R.esm.min.js.map +1 -0
- package/dist/chunks/rawTexture-DGz22uaX.esm.js +191 -0
- package/dist/chunks/rawTexture-DGz22uaX.esm.js.map +1 -0
- package/dist/chunks/ray-ByafiITx.esm.js +946 -0
- package/dist/chunks/ray-ByafiITx.esm.js.map +1 -0
- package/dist/chunks/ray-ChSTYrPm.esm.min.js +2 -0
- package/dist/chunks/ray-ChSTYrPm.esm.min.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-CJ7PpH1N.esm.js +13 -0
- package/dist/chunks/rgbdDecode.fragment-CJ7PpH1N.esm.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-DJ9crbPP.esm.js +13 -0
- package/dist/chunks/rgbdDecode.fragment-DJ9crbPP.esm.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-DLpb3z18.esm.min.js +2 -0
- package/dist/chunks/rgbdDecode.fragment-DLpb3z18.esm.min.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-ygeOUzIi.esm.min.js +2 -0
- package/dist/chunks/rgbdDecode.fragment-ygeOUzIi.esm.min.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-BTG_wbck.esm.min.js +2 -0
- package/dist/chunks/rgbdEncode.fragment-BTG_wbck.esm.min.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-C2s4AQaM.esm.js +13 -0
- package/dist/chunks/rgbdEncode.fragment-C2s4AQaM.esm.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-C6LKySQH.esm.js +13 -0
- package/dist/chunks/rgbdEncode.fragment-C6LKySQH.esm.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-CKB2lpgL.esm.min.js +2 -0
- package/dist/chunks/rgbdEncode.fragment-CKB2lpgL.esm.min.js.map +1 -0
- package/dist/chunks/splatFileLoader-BtSUlfZs.esm.min.js +2 -0
- package/dist/chunks/splatFileLoader-BtSUlfZs.esm.min.js.map +1 -0
- package/dist/chunks/splatFileLoader-Wn5sDtLq.esm.js +3379 -0
- package/dist/chunks/splatFileLoader-Wn5sDtLq.esm.js.map +1 -0
- package/dist/chunks/spotLight-CmDQEB8V.esm.js +701 -0
- package/dist/chunks/spotLight-CmDQEB8V.esm.js.map +1 -0
- package/dist/chunks/spotLight-hg94aMJD.esm.min.js +2 -0
- package/dist/chunks/spotLight-hg94aMJD.esm.min.js.map +1 -0
- package/dist/chunks/standardMaterial-BhIiLn1_.esm.js +1806 -0
- package/dist/chunks/standardMaterial-BhIiLn1_.esm.js.map +1 -0
- package/dist/chunks/standardMaterial-DQii8fRL.esm.min.js +2 -0
- package/dist/chunks/standardMaterial-DQii8fRL.esm.min.js.map +1 -0
- package/dist/chunks/stlFileLoader-D83u9BOr.esm.js +238 -0
- package/dist/chunks/stlFileLoader-D83u9BOr.esm.js.map +1 -0
- package/dist/chunks/stlFileLoader-DkXWqjZo.esm.min.js +2 -0
- package/dist/chunks/stlFileLoader-DkXWqjZo.esm.min.js.map +1 -0
- package/dist/chunks/tgaTextureLoader-C9xl6cvE.esm.js +349 -0
- package/dist/chunks/tgaTextureLoader-C9xl6cvE.esm.js.map +1 -0
- package/dist/chunks/tgaTextureLoader-DfzjGulW.esm.min.js +2 -0
- package/dist/chunks/tgaTextureLoader-DfzjGulW.esm.min.js.map +1 -0
- package/dist/chunks/thinEngine-Cu21aOSC.esm.min.js +2 -0
- package/dist/chunks/thinEngine-Cu21aOSC.esm.min.js.map +1 -0
- package/dist/chunks/thinEngine-IzS60pqU.esm.js +3853 -0
- package/dist/chunks/thinEngine-IzS60pqU.esm.js.map +1 -0
- package/dist/chunks/thinInstanceMesh-BN8Ev-h8.esm.js +314 -0
- package/dist/chunks/thinInstanceMesh-BN8Ev-h8.esm.js.map +1 -0
- package/dist/chunks/thinInstanceMesh-Bm9vmKU4.esm.min.js +2 -0
- package/dist/chunks/thinInstanceMesh-Bm9vmKU4.esm.min.js.map +1 -0
- package/dist/chunks/vertexColorMixing-Cazf4vEl.esm.min.js +2 -0
- package/dist/chunks/vertexColorMixing-Cazf4vEl.esm.min.js.map +1 -0
- package/dist/chunks/vertexColorMixing-DGvq3Fju.esm.js +421 -0
- package/dist/chunks/vertexColorMixing-DGvq3Fju.esm.js.map +1 -0
- package/dist/chunks/vertexColorMixing-D_6ZvivZ.esm.min.js +2 -0
- package/dist/chunks/vertexColorMixing-D_6ZvivZ.esm.min.js.map +1 -0
- package/dist/chunks/vertexColorMixing-DuYHnuUm.esm.js +531 -0
- package/dist/chunks/vertexColorMixing-DuYHnuUm.esm.js.map +1 -0
- package/dist/chunks/webgpuEngine-DHaXinU4.esm.min.js +2 -0
- package/dist/chunks/webgpuEngine-DHaXinU4.esm.min.js.map +1 -0
- package/dist/chunks/webgpuEngine-Dxev7pbz.esm.js +11538 -0
- package/dist/chunks/webgpuEngine-Dxev7pbz.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/lib/index.d.ts +591 -0
- package/lib/index.js +2165 -0
- package/lib/index.js.map +1 -0
- package/package.json +19 -28
- package/readme.md +28 -28
- 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 -193
- 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 -351
- 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 -202
- 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 -22
- package/templating/plugins/hdButtonPlugin.js.map +0 -1
- package/templating/plugins/printButton.d.ts +0 -9
- package/templating/plugins/printButton.js +0 -41
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"dds-CFrq_XFM.esm.js","sources":["../../../../../dev/core/dist/Misc/dds.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { Clamp } from \"../Maths/math.scalar.functions\";\nimport { Constants } from \"../Engines/constants\";\nimport { Logger } from \"../Misc/logger\";\nimport { CubeMapToSphericalPolynomialTools } from \"../Misc/HighDynamicRange/cubemapToSphericalPolynomial\";\nimport { FromHalfFloat, ToHalfFloat } from \"./textureTools\";\nimport \"../Engines/AbstractEngine/abstractEngine.cubeTexture\";\n// Based on demo done by Brandon Jones - http://media.tojicode.com/webgl-samples/dds.html\n// All values and structures referenced from:\n// http://msdn.microsoft.com/en-us/library/bb943991.aspx/\nconst DDS_MAGIC = 0x20534444;\nconst //DDSD_CAPS = 0x1,\n//DDSD_HEIGHT = 0x2,\n//DDSD_WIDTH = 0x4,\n//DDSD_PITCH = 0x8,\n//DDSD_PIXELFORMAT = 0x1000,\nDDSD_MIPMAPCOUNT = 0x20000;\n//DDSD_LINEARSIZE = 0x80000,\n//DDSD_DEPTH = 0x800000;\n// var DDSCAPS_COMPLEX = 0x8,\n// DDSCAPS_MIPMAP = 0x400000,\n// DDSCAPS_TEXTURE = 0x1000;\nconst DDSCAPS2_CUBEMAP = 0x200;\n// DDSCAPS2_CUBEMAP_POSITIVEX = 0x400,\n// DDSCAPS2_CUBEMAP_NEGATIVEX = 0x800,\n// DDSCAPS2_CUBEMAP_POSITIVEY = 0x1000,\n// DDSCAPS2_CUBEMAP_NEGATIVEY = 0x2000,\n// DDSCAPS2_CUBEMAP_POSITIVEZ = 0x4000,\n// DDSCAPS2_CUBEMAP_NEGATIVEZ = 0x8000,\n// DDSCAPS2_VOLUME = 0x200000;\nconst //DDPF_ALPHAPIXELS = 0x1,\n//DDPF_ALPHA = 0x2,\nDDPF_FOURCC = 0x4, DDPF_RGB = 0x40, \n//DDPF_YUV = 0x200,\nDDPF_LUMINANCE = 0x20000;\nfunction FourCCToInt32(value) {\n return value.charCodeAt(0) + (value.charCodeAt(1) << 8) + (value.charCodeAt(2) << 16) + (value.charCodeAt(3) << 24);\n}\nfunction Int32ToFourCC(value) {\n return String.fromCharCode(value & 0xff, (value >> 8) & 0xff, (value >> 16) & 0xff, (value >> 24) & 0xff);\n}\nconst FOURCC_DXT1 = FourCCToInt32(\"DXT1\");\nconst FOURCC_DXT3 = FourCCToInt32(\"DXT3\");\nconst FOURCC_DXT5 = FourCCToInt32(\"DXT5\");\nconst FOURCC_DX10 = FourCCToInt32(\"DX10\");\nconst FOURCC_D3DFMT_R16G16B16A16F = 113;\nconst FOURCC_D3DFMT_R32G32B32A32F = 116;\nconst DXGI_FORMAT_R32G32B32A32_FLOAT = 2;\nconst DXGI_FORMAT_R16G16B16A16_FLOAT = 10;\nconst DXGI_FORMAT_B8G8R8X8_UNORM = 88;\nconst headerLengthInt = 31; // The header length in 32 bit ints\n// Offsets into the header array\nconst off_magic = 0;\nconst off_size = 1;\nconst off_flags = 2;\nconst off_height = 3;\nconst off_width = 4;\nconst off_mipmapCount = 7;\nconst off_pfFlags = 20;\nconst off_pfFourCC = 21;\nconst off_RGBbpp = 22;\nconst off_RMask = 23;\nconst off_GMask = 24;\nconst off_BMask = 25;\nconst off_AMask = 26;\n// var off_caps1 = 27;\nconst off_caps2 = 28;\n// var off_caps3 = 29;\n// var off_caps4 = 30;\nconst off_dxgiFormat = 32;\n/**\n * Class used to provide DDS decompression tools\n */\nexport class DDSTools {\n /**\n * Gets DDS information from an array buffer\n * @param data defines the array buffer view to read data from\n * @returns the DDS information\n */\n static GetDDSInfo(data) {\n const header = new Int32Array(data.buffer, data.byteOffset, headerLengthInt);\n const extendedHeader = new Int32Array(data.buffer, data.byteOffset, headerLengthInt + 4);\n let mipmapCount = 1;\n if (header[off_flags] & DDSD_MIPMAPCOUNT) {\n mipmapCount = Math.max(1, header[off_mipmapCount]);\n }\n const fourCC = header[off_pfFourCC];\n const dxgiFormat = fourCC === FOURCC_DX10 ? extendedHeader[off_dxgiFormat] : 0;\n let textureType = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n switch (fourCC) {\n case FOURCC_D3DFMT_R16G16B16A16F:\n textureType = Constants.TEXTURETYPE_HALF_FLOAT;\n break;\n case FOURCC_D3DFMT_R32G32B32A32F:\n textureType = Constants.TEXTURETYPE_FLOAT;\n break;\n case FOURCC_DX10:\n if (dxgiFormat === DXGI_FORMAT_R16G16B16A16_FLOAT) {\n textureType = Constants.TEXTURETYPE_HALF_FLOAT;\n break;\n }\n if (dxgiFormat === DXGI_FORMAT_R32G32B32A32_FLOAT) {\n textureType = Constants.TEXTURETYPE_FLOAT;\n break;\n }\n }\n return {\n width: header[off_width],\n height: header[off_height],\n mipmapCount: mipmapCount,\n isFourCC: (header[off_pfFlags] & DDPF_FOURCC) === DDPF_FOURCC,\n isRGB: (header[off_pfFlags] & DDPF_RGB) === DDPF_RGB,\n isLuminance: (header[off_pfFlags] & DDPF_LUMINANCE) === DDPF_LUMINANCE,\n isCube: (header[off_caps2] & DDSCAPS2_CUBEMAP) === DDSCAPS2_CUBEMAP,\n isCompressed: fourCC === FOURCC_DXT1 || fourCC === FOURCC_DXT3 || fourCC === FOURCC_DXT5,\n dxgiFormat: dxgiFormat,\n textureType: textureType,\n };\n }\n static _GetHalfFloatAsFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n const destArray = new Float32Array(dataLength);\n const srcData = new Uint16Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = FromHalfFloat(srcData[srcPos]);\n destArray[index + 1] = FromHalfFloat(srcData[srcPos + 1]);\n destArray[index + 2] = FromHalfFloat(srcData[srcPos + 2]);\n if (DDSTools.StoreLODInAlphaChannel) {\n destArray[index + 3] = lod;\n }\n else {\n destArray[index + 3] = FromHalfFloat(srcData[srcPos + 3]);\n }\n index += 4;\n }\n }\n return destArray;\n }\n static _GetHalfFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n if (DDSTools.StoreLODInAlphaChannel) {\n const destArray = new Uint16Array(dataLength);\n const srcData = new Uint16Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = srcData[srcPos];\n destArray[index + 1] = srcData[srcPos + 1];\n destArray[index + 2] = srcData[srcPos + 2];\n destArray[index + 3] = ToHalfFloat(lod);\n index += 4;\n }\n }\n return destArray;\n }\n return new Uint16Array(arrayBuffer, dataOffset, dataLength);\n }\n static _GetFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n if (DDSTools.StoreLODInAlphaChannel) {\n const destArray = new Float32Array(dataLength);\n const srcData = new Float32Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = srcData[srcPos];\n destArray[index + 1] = srcData[srcPos + 1];\n destArray[index + 2] = srcData[srcPos + 2];\n destArray[index + 3] = lod;\n index += 4;\n }\n }\n return destArray;\n }\n return new Float32Array(arrayBuffer, dataOffset, dataLength);\n }\n static _GetFloatAsHalfFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n const destArray = new Uint16Array(dataLength);\n const srcData = new Float32Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n destArray[index] = ToHalfFloat(srcData[index]);\n destArray[index + 1] = ToHalfFloat(srcData[index + 1]);\n destArray[index + 2] = ToHalfFloat(srcData[index + 2]);\n if (DDSTools.StoreLODInAlphaChannel) {\n destArray[index + 3] = ToHalfFloat(lod);\n }\n else {\n destArray[index + 3] = ToHalfFloat(srcData[index + 3]);\n }\n index += 4;\n }\n }\n return destArray;\n }\n static _GetFloatAsUIntRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n const destArray = new Uint8Array(dataLength);\n const srcData = new Float32Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = Clamp(srcData[srcPos]) * 255;\n destArray[index + 1] = Clamp(srcData[srcPos + 1]) * 255;\n destArray[index + 2] = Clamp(srcData[srcPos + 2]) * 255;\n if (DDSTools.StoreLODInAlphaChannel) {\n destArray[index + 3] = lod;\n }\n else {\n destArray[index + 3] = Clamp(srcData[srcPos + 3]) * 255;\n }\n index += 4;\n }\n }\n return destArray;\n }\n static _GetHalfFloatAsUIntRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n const destArray = new Uint8Array(dataLength);\n const srcData = new Uint16Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = Clamp(FromHalfFloat(srcData[srcPos])) * 255;\n destArray[index + 1] = Clamp(FromHalfFloat(srcData[srcPos + 1])) * 255;\n destArray[index + 2] = Clamp(FromHalfFloat(srcData[srcPos + 2])) * 255;\n if (DDSTools.StoreLODInAlphaChannel) {\n destArray[index + 3] = lod;\n }\n else {\n destArray[index + 3] = Clamp(FromHalfFloat(srcData[srcPos + 3])) * 255;\n }\n index += 4;\n }\n }\n return destArray;\n }\n static _GetRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, rOffset, gOffset, bOffset, aOffset) {\n const byteArray = new Uint8Array(dataLength);\n const srcData = new Uint8Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n byteArray[index] = srcData[srcPos + rOffset];\n byteArray[index + 1] = srcData[srcPos + gOffset];\n byteArray[index + 2] = srcData[srcPos + bOffset];\n byteArray[index + 3] = srcData[srcPos + aOffset];\n index += 4;\n }\n }\n return byteArray;\n }\n static _ExtractLongWordOrder(value) {\n if (value === 0 || value === 255 || value === -16777216) {\n return 0;\n }\n return 1 + DDSTools._ExtractLongWordOrder(value >> 8);\n }\n static _GetRGBArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, rOffset, gOffset, bOffset) {\n const byteArray = new Uint8Array(dataLength);\n const srcData = new Uint8Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 3;\n byteArray[index] = srcData[srcPos + rOffset];\n byteArray[index + 1] = srcData[srcPos + gOffset];\n byteArray[index + 2] = srcData[srcPos + bOffset];\n index += 3;\n }\n }\n return byteArray;\n }\n static _GetLuminanceArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer) {\n const byteArray = new Uint8Array(dataLength);\n const srcData = new Uint8Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = x + y * width;\n byteArray[index] = srcData[srcPos];\n index++;\n }\n }\n return byteArray;\n }\n /**\n * Uploads DDS Levels to a Babylon Texture\n * @internal\n */\n static UploadDDSLevels(engine, texture, data, info, loadMipmaps, faces, lodIndex = -1, currentFace, destTypeMustBeFilterable = true) {\n let sphericalPolynomialFaces = null;\n if (info.sphericalPolynomial) {\n sphericalPolynomialFaces = [];\n }\n const ext = !!engine.getCaps().s3tc;\n // TODO WEBGPU Once generateMipMaps is split into generateMipMaps + hasMipMaps in InternalTexture this line can be removed\n texture.generateMipMaps = loadMipmaps;\n const header = new Int32Array(data.buffer, data.byteOffset, headerLengthInt);\n let fourCC, width, height, dataLength = 0, dataOffset;\n let byteArray, mipmapCount, mip;\n let internalCompressedFormat = 0;\n let blockBytes = 1;\n if (header[off_magic] !== DDS_MAGIC) {\n Logger.Error(\"Invalid magic number in DDS header\");\n return;\n }\n if (!info.isFourCC && !info.isRGB && !info.isLuminance) {\n Logger.Error(\"Unsupported format, must contain a FourCC, RGB or LUMINANCE code\");\n return;\n }\n if (info.isCompressed && !ext) {\n Logger.Error(\"Compressed textures are not supported on this platform.\");\n return;\n }\n let bpp = header[off_RGBbpp];\n dataOffset = header[off_size] + 4;\n let computeFormats = false;\n if (info.isFourCC) {\n fourCC = header[off_pfFourCC];\n switch (fourCC) {\n case FOURCC_DXT1:\n blockBytes = 8;\n internalCompressedFormat = Constants.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT1;\n break;\n case FOURCC_DXT3:\n blockBytes = 16;\n internalCompressedFormat = Constants.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT3;\n break;\n case FOURCC_DXT5:\n blockBytes = 16;\n internalCompressedFormat = Constants.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT5;\n break;\n case FOURCC_D3DFMT_R16G16B16A16F:\n computeFormats = true;\n bpp = 64;\n break;\n case FOURCC_D3DFMT_R32G32B32A32F:\n computeFormats = true;\n bpp = 128;\n break;\n case FOURCC_DX10: {\n // There is an additionnal header so dataOffset need to be changed\n dataOffset += 5 * 4; // 5 uints\n let supported = false;\n switch (info.dxgiFormat) {\n case DXGI_FORMAT_R16G16B16A16_FLOAT:\n computeFormats = true;\n bpp = 64;\n supported = true;\n break;\n case DXGI_FORMAT_R32G32B32A32_FLOAT:\n computeFormats = true;\n bpp = 128;\n supported = true;\n break;\n case DXGI_FORMAT_B8G8R8X8_UNORM:\n info.isRGB = true;\n info.isFourCC = false;\n bpp = 32;\n supported = true;\n break;\n }\n if (supported) {\n break;\n }\n }\n // eslint-disable-next-line no-fallthrough\n default:\n Logger.Error([\"Unsupported FourCC code:\", Int32ToFourCC(fourCC)]);\n return;\n }\n }\n const rOffset = DDSTools._ExtractLongWordOrder(header[off_RMask]);\n const gOffset = DDSTools._ExtractLongWordOrder(header[off_GMask]);\n const bOffset = DDSTools._ExtractLongWordOrder(header[off_BMask]);\n const aOffset = DDSTools._ExtractLongWordOrder(header[off_AMask]);\n if (computeFormats) {\n internalCompressedFormat = engine._getRGBABufferInternalSizedFormat(info.textureType);\n }\n mipmapCount = 1;\n if (header[off_flags] & DDSD_MIPMAPCOUNT && loadMipmaps !== false) {\n mipmapCount = Math.max(1, header[off_mipmapCount]);\n }\n const startFace = currentFace || 0;\n const caps = engine.getCaps();\n for (let face = startFace; face < faces; face++) {\n width = header[off_width];\n height = header[off_height];\n for (mip = 0; mip < mipmapCount; ++mip) {\n if (lodIndex === -1 || lodIndex === mip) {\n // In case of fixed LOD, if the lod has just been uploaded, early exit.\n const i = lodIndex === -1 ? mip : 0;\n if (!info.isCompressed && info.isFourCC) {\n texture.format = Constants.TEXTUREFORMAT_RGBA;\n dataLength = width * height * 4;\n let floatArray = null;\n if (engine._badOS || engine._badDesktopOS || (!caps.textureHalfFloat && !caps.textureFloat)) {\n // Required because iOS has many issues with float and half float generation\n if (bpp === 128) {\n floatArray = DDSTools._GetFloatAsUIntRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i);\n if (sphericalPolynomialFaces && i == 0) {\n sphericalPolynomialFaces.push(DDSTools._GetFloatRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i));\n }\n }\n else if (bpp === 64) {\n floatArray = DDSTools._GetHalfFloatAsUIntRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i);\n if (sphericalPolynomialFaces && i == 0) {\n sphericalPolynomialFaces.push(DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i));\n }\n }\n texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n }\n else {\n const floatAvailable = caps.textureFloat && ((destTypeMustBeFilterable && caps.textureFloatLinearFiltering) || !destTypeMustBeFilterable);\n const halfFloatAvailable = caps.textureHalfFloat && ((destTypeMustBeFilterable && caps.textureHalfFloatLinearFiltering) || !destTypeMustBeFilterable);\n const destType = (bpp === 128 || (bpp === 64 && !halfFloatAvailable)) && floatAvailable\n ? Constants.TEXTURETYPE_FLOAT\n : (bpp === 64 || (bpp === 128 && !floatAvailable)) && halfFloatAvailable\n ? Constants.TEXTURETYPE_HALF_FLOAT\n : Constants.TEXTURETYPE_UNSIGNED_BYTE;\n let dataGetter;\n let dataGetterPolynomial = null;\n switch (bpp) {\n case 128: {\n switch (destType) {\n case Constants.TEXTURETYPE_FLOAT:\n dataGetter = DDSTools._GetFloatRGBAArrayBuffer;\n dataGetterPolynomial = null;\n break;\n case Constants.TEXTURETYPE_HALF_FLOAT:\n dataGetter = DDSTools._GetFloatAsHalfFloatRGBAArrayBuffer;\n dataGetterPolynomial = DDSTools._GetFloatRGBAArrayBuffer;\n break;\n case Constants.TEXTURETYPE_UNSIGNED_BYTE:\n dataGetter = DDSTools._GetFloatAsUIntRGBAArrayBuffer;\n dataGetterPolynomial = DDSTools._GetFloatRGBAArrayBuffer;\n break;\n }\n break;\n }\n default: {\n // 64 bpp\n switch (destType) {\n case Constants.TEXTURETYPE_FLOAT:\n dataGetter = DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer;\n dataGetterPolynomial = null;\n break;\n case Constants.TEXTURETYPE_HALF_FLOAT:\n dataGetter = DDSTools._GetHalfFloatRGBAArrayBuffer;\n dataGetterPolynomial = DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer;\n break;\n case Constants.TEXTURETYPE_UNSIGNED_BYTE:\n dataGetter = DDSTools._GetHalfFloatAsUIntRGBAArrayBuffer;\n dataGetterPolynomial = DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer;\n break;\n }\n break;\n }\n }\n texture.type = destType;\n floatArray = dataGetter(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i);\n if (sphericalPolynomialFaces && i == 0) {\n sphericalPolynomialFaces.push(dataGetterPolynomial ? dataGetterPolynomial(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i) : floatArray);\n }\n }\n if (floatArray) {\n engine._uploadDataToTextureDirectly(texture, floatArray, face, i);\n }\n }\n else if (info.isRGB) {\n texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n if (bpp === 24) {\n texture.format = Constants.TEXTUREFORMAT_RGB;\n dataLength = width * height * 3;\n byteArray = DDSTools._GetRGBArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, rOffset, gOffset, bOffset);\n engine._uploadDataToTextureDirectly(texture, byteArray, face, i);\n }\n else {\n // 32\n texture.format = Constants.TEXTUREFORMAT_RGBA;\n dataLength = width * height * 4;\n byteArray = DDSTools._GetRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, rOffset, gOffset, bOffset, aOffset);\n engine._uploadDataToTextureDirectly(texture, byteArray, face, i);\n }\n }\n else if (info.isLuminance) {\n const unpackAlignment = engine._getUnpackAlignement();\n const unpaddedRowSize = width;\n const paddedRowSize = Math.floor((width + unpackAlignment - 1) / unpackAlignment) * unpackAlignment;\n dataLength = paddedRowSize * (height - 1) + unpaddedRowSize;\n byteArray = DDSTools._GetLuminanceArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer);\n texture.format = Constants.TEXTUREFORMAT_LUMINANCE;\n texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n engine._uploadDataToTextureDirectly(texture, byteArray, face, i);\n }\n else {\n dataLength = (((Math.max(4, width) / 4) * Math.max(4, height)) / 4) * blockBytes;\n byteArray = new Uint8Array(data.buffer, data.byteOffset + dataOffset, dataLength);\n texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n engine._uploadCompressedDataToTextureDirectly(texture, internalCompressedFormat, width, height, byteArray, face, i);\n }\n }\n dataOffset += bpp ? width * height * (bpp / 8) : dataLength;\n width *= 0.5;\n height *= 0.5;\n width = Math.max(1.0, width);\n height = Math.max(1.0, height);\n }\n if (currentFace !== undefined) {\n // Loading a single face\n break;\n }\n }\n if (sphericalPolynomialFaces && sphericalPolynomialFaces.length > 0) {\n info.sphericalPolynomial = CubeMapToSphericalPolynomialTools.ConvertCubeMapToSphericalPolynomial({\n size: header[off_width],\n right: sphericalPolynomialFaces[0],\n left: sphericalPolynomialFaces[1],\n up: sphericalPolynomialFaces[2],\n down: sphericalPolynomialFaces[3],\n front: sphericalPolynomialFaces[4],\n back: sphericalPolynomialFaces[5],\n format: Constants.TEXTUREFORMAT_RGBA,\n type: Constants.TEXTURETYPE_FLOAT,\n gammaSpace: false,\n });\n }\n else {\n info.sphericalPolynomial = undefined;\n }\n }\n}\n/**\n * Gets or sets a boolean indicating that LOD info is stored in alpha channel (false by default)\n */\nDDSTools.StoreLODInAlphaChannel = false;\n//# sourceMappingURL=dds.js.map"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{f as e,a9 as t,bz as r,L as a,C as o,bG as f}from"./index-DRbhrB0j.esm.min.js";const n=131072,l=131072;function s(e){return e.charCodeAt(0)+(e.charCodeAt(1)<<8)+(e.charCodeAt(2)<<16)+(e.charCodeAt(3)<<24)}const A=s("DXT1"),T=s("DXT3"),i=s("DXT5"),u=s("DX10");class E{static GetDDSInfo(e){const t=new Int32Array(e.buffer,e.byteOffset,31),r=new Int32Array(e.buffer,e.byteOffset,35);let a=1;t[2]&n&&(a=Math.max(1,t[7]));const f=t[21],s=f===u?r[32]:0;let E=o.TEXTURETYPE_UNSIGNED_BYTE;switch(f){case 113:E=o.TEXTURETYPE_HALF_FLOAT;break;case 116:E=o.TEXTURETYPE_FLOAT;break;case u:if(10===s){E=o.TEXTURETYPE_HALF_FLOAT;break}if(2===s){E=o.TEXTURETYPE_FLOAT;break}}return{width:t[4],height:t[3],mipmapCount:a,isFourCC:!(4&~t[20]),isRGB:!(64&~t[20]),isLuminance:(t[20]&l)===l,isCube:!(512&~t[28]),isCompressed:f===A||f===T||f===i,dxgiFormat:s,textureType:E}}static _GetHalfFloatAsFloatRGBAArrayBuffer(t,r,a,o,f,n){const l=new Float32Array(o),s=new Uint16Array(f,a);let A=0;for(let a=0;a<r;a++)for(let r=0;r<t;r++){const o=4*(r+a*t);l[A]=e(s[o]),l[A+1]=e(s[o+1]),l[A+2]=e(s[o+2]),E.StoreLODInAlphaChannel?l[A+3]=n:l[A+3]=e(s[o+3]),A+=4}return l}static _GetHalfFloatRGBAArrayBuffer(e,r,a,o,f,n){if(E.StoreLODInAlphaChannel){const l=new Uint16Array(o),s=new Uint16Array(f,a);let A=0;for(let a=0;a<r;a++)for(let r=0;r<e;r++){const o=4*(r+a*e);l[A]=s[o],l[A+1]=s[o+1],l[A+2]=s[o+2],l[A+3]=t(n),A+=4}return l}return new Uint16Array(f,a,o)}static _GetFloatRGBAArrayBuffer(e,t,r,a,o,f){if(E.StoreLODInAlphaChannel){const n=new Float32Array(a),l=new Float32Array(o,r);let s=0;for(let r=0;r<t;r++)for(let t=0;t<e;t++){const a=4*(t+r*e);n[s]=l[a],n[s+1]=l[a+1],n[s+2]=l[a+2],n[s+3]=f,s+=4}return n}return new Float32Array(o,r,a)}static _GetFloatAsHalfFloatRGBAArrayBuffer(e,r,a,o,f,n){const l=new Uint16Array(o),s=new Float32Array(f,a);let A=0;for(let a=0;a<r;a++)for(let r=0;r<e;r++)l[A]=t(s[A]),l[A+1]=t(s[A+1]),l[A+2]=t(s[A+2]),E.StoreLODInAlphaChannel?l[A+3]=t(n):l[A+3]=t(s[A+3]),A+=4;return l}static _GetFloatAsUIntRGBAArrayBuffer(e,t,a,o,f,n){const l=new Uint8Array(o),s=new Float32Array(f,a);let A=0;for(let a=0;a<t;a++)for(let t=0;t<e;t++){const o=4*(t+a*e);l[A]=255*r(s[o]),l[A+1]=255*r(s[o+1]),l[A+2]=255*r(s[o+2]),E.StoreLODInAlphaChannel?l[A+3]=n:l[A+3]=255*r(s[o+3]),A+=4}return l}static _GetHalfFloatAsUIntRGBAArrayBuffer(t,a,o,f,n,l){const s=new Uint8Array(f),A=new Uint16Array(n,o);let T=0;for(let o=0;o<a;o++)for(let a=0;a<t;a++){const f=4*(a+o*t);s[T]=255*r(e(A[f])),s[T+1]=255*r(e(A[f+1])),s[T+2]=255*r(e(A[f+2])),E.StoreLODInAlphaChannel?s[T+3]=l:s[T+3]=255*r(e(A[f+3])),T+=4}return s}static _GetRGBAArrayBuffer(e,t,r,a,o,f,n,l,s){const A=new Uint8Array(a),T=new Uint8Array(o,r);let i=0;for(let r=0;r<t;r++)for(let t=0;t<e;t++){const a=4*(t+r*e);A[i]=T[a+f],A[i+1]=T[a+n],A[i+2]=T[a+l],A[i+3]=T[a+s],i+=4}return A}static _ExtractLongWordOrder(e){return 0===e||255===e||-16777216===e?0:1+E._ExtractLongWordOrder(e>>8)}static _GetRGBArrayBuffer(e,t,r,a,o,f,n,l){const s=new Uint8Array(a),A=new Uint8Array(o,r);let T=0;for(let r=0;r<t;r++)for(let t=0;t<e;t++){const a=3*(t+r*e);s[T]=A[a+f],s[T+1]=A[a+n],s[T+2]=A[a+l],T+=3}return s}static _GetLuminanceArrayBuffer(e,t,r,a,o){const f=new Uint8Array(a),n=new Uint8Array(o,r);let l=0;for(let r=0;r<t;r++)for(let t=0;t<e;t++){const a=t+r*e;f[l]=n[a],l++}return f}static UploadDDSLevels(e,t,r,l,s,c,_=-1,y,F=!0){let R=null;l.sphericalPolynomial&&(R=[]);const G=!!e.getCaps().s3tc;t.generateMipMaps=s;const B=new Int32Array(r.buffer,r.byteOffset,31);let U,p,b,d,O,C,h,m=0,D=0,L=1;if(542327876!==B[0])return void a.Error("Invalid magic number in DDS header");if(!l.isFourCC&&!l.isRGB&&!l.isLuminance)return void a.Error("Unsupported format, must contain a FourCC, RGB or LUMINANCE code");if(l.isCompressed&&!G)return void a.Error("Compressed textures are not supported on this platform.");let X=B[22];d=B[1]+4;let S=!1;if(l.isFourCC)switch(U=B[21],U){case A:L=8,D=o.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT1;break;case T:L=16,D=o.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT3;break;case i:L=16,D=o.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT5;break;case 113:S=!0,X=64;break;case 116:S=!0,X=128;break;case u:{d+=20;let e=!1;switch(l.dxgiFormat){case 10:S=!0,X=64,e=!0;break;case 2:S=!0,X=128,e=!0;break;case 88:l.isRGB=!0,l.isFourCC=!1,X=32,e=!0}if(e)break}default:return void a.Error(["Unsupported FourCC code:",(w=U,String.fromCharCode(255&w,w>>8&255,w>>16&255,w>>24&255))])}var w;const x=E._ExtractLongWordOrder(B[23]),I=E._ExtractLongWordOrder(B[24]),Y=E._ExtractLongWordOrder(B[25]),P=E._ExtractLongWordOrder(B[26]);S&&(D=e._getRGBABufferInternalSizedFormat(l.textureType)),C=1,B[2]&n&&!1!==s&&(C=Math.max(1,B[7]));const M=y||0,g=e.getCaps();for(let a=M;a<c;a++){for(p=B[4],b=B[3],h=0;h<C;++h){if(-1===_||_===h){const f=-1===_?h:0;if(!l.isCompressed&&l.isFourCC){t.format=o.TEXTUREFORMAT_RGBA,m=p*b*4;let n=null;if(e._badOS||e._badDesktopOS||!g.textureHalfFloat&&!g.textureFloat)128===X?(n=E._GetFloatAsUIntRGBAArrayBuffer(p,b,r.byteOffset+d,m,r.buffer,f),R&&0==f&&R.push(E._GetFloatRGBAArrayBuffer(p,b,r.byteOffset+d,m,r.buffer,f))):64===X&&(n=E._GetHalfFloatAsUIntRGBAArrayBuffer(p,b,r.byteOffset+d,m,r.buffer,f),R&&0==f&&R.push(E._GetHalfFloatAsFloatRGBAArrayBuffer(p,b,r.byteOffset+d,m,r.buffer,f))),t.type=o.TEXTURETYPE_UNSIGNED_BYTE;else{const e=g.textureFloat&&(F&&g.textureFloatLinearFiltering||!F),a=g.textureHalfFloat&&(F&&g.textureHalfFloatLinearFiltering||!F),l=(128===X||64===X&&!a)&&e?o.TEXTURETYPE_FLOAT:(64===X||128===X&&!e)&&a?o.TEXTURETYPE_HALF_FLOAT:o.TEXTURETYPE_UNSIGNED_BYTE;let s,A=null;if(128===X)switch(l){case o.TEXTURETYPE_FLOAT:s=E._GetFloatRGBAArrayBuffer,A=null;break;case o.TEXTURETYPE_HALF_FLOAT:s=E._GetFloatAsHalfFloatRGBAArrayBuffer,A=E._GetFloatRGBAArrayBuffer;break;case o.TEXTURETYPE_UNSIGNED_BYTE:s=E._GetFloatAsUIntRGBAArrayBuffer,A=E._GetFloatRGBAArrayBuffer}else switch(l){case o.TEXTURETYPE_FLOAT:s=E._GetHalfFloatAsFloatRGBAArrayBuffer,A=null;break;case o.TEXTURETYPE_HALF_FLOAT:s=E._GetHalfFloatRGBAArrayBuffer,A=E._GetHalfFloatAsFloatRGBAArrayBuffer;break;case o.TEXTURETYPE_UNSIGNED_BYTE:s=E._GetHalfFloatAsUIntRGBAArrayBuffer,A=E._GetHalfFloatAsFloatRGBAArrayBuffer}t.type=l,n=s(p,b,r.byteOffset+d,m,r.buffer,f),R&&0==f&&R.push(A?A(p,b,r.byteOffset+d,m,r.buffer,f):n)}n&&e._uploadDataToTextureDirectly(t,n,a,f)}else if(l.isRGB)t.type=o.TEXTURETYPE_UNSIGNED_BYTE,24===X?(t.format=o.TEXTUREFORMAT_RGB,m=p*b*3,O=E._GetRGBArrayBuffer(p,b,r.byteOffset+d,m,r.buffer,x,I,Y),e._uploadDataToTextureDirectly(t,O,a,f)):(t.format=o.TEXTUREFORMAT_RGBA,m=p*b*4,O=E._GetRGBAArrayBuffer(p,b,r.byteOffset+d,m,r.buffer,x,I,Y,P),e._uploadDataToTextureDirectly(t,O,a,f));else if(l.isLuminance){const n=e._getUnpackAlignement(),l=p;m=Math.floor((p+n-1)/n)*n*(b-1)+l,O=E._GetLuminanceArrayBuffer(p,b,r.byteOffset+d,m,r.buffer),t.format=o.TEXTUREFORMAT_LUMINANCE,t.type=o.TEXTURETYPE_UNSIGNED_BYTE,e._uploadDataToTextureDirectly(t,O,a,f)}else m=Math.max(4,p)/4*Math.max(4,b)/4*L,O=new Uint8Array(r.buffer,r.byteOffset+d,m),t.type=o.TEXTURETYPE_UNSIGNED_BYTE,e._uploadCompressedDataToTextureDirectly(t,D,p,b,O,a,f)}d+=X?p*b*(X/8):m,p*=.5,b*=.5,p=Math.max(1,p),b=Math.max(1,b)}if(void 0!==y)break}R&&R.length>0?l.sphericalPolynomial=f.ConvertCubeMapToSphericalPolynomial({size:B[4],right:R[0],left:R[1],up:R[2],down:R[3],front:R[4],back:R[5],format:o.TEXTUREFORMAT_RGBA,type:o.TEXTURETYPE_FLOAT,gammaSpace:!1}):l.sphericalPolynomial=void 0}}E.StoreLODInAlphaChannel=!1;export{E as DDSTools};
|
|
2
|
+
//# sourceMappingURL=dds-D1NTXLIL.esm.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dds-D1NTXLIL.esm.min.js","sources":["../../../../../dev/core/dist/Misc/dds.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { Clamp } from \"../Maths/math.scalar.functions\";\nimport { Constants } from \"../Engines/constants\";\nimport { Logger } from \"../Misc/logger\";\nimport { CubeMapToSphericalPolynomialTools } from \"../Misc/HighDynamicRange/cubemapToSphericalPolynomial\";\nimport { FromHalfFloat, ToHalfFloat } from \"./textureTools\";\nimport \"../Engines/AbstractEngine/abstractEngine.cubeTexture\";\n// Based on demo done by Brandon Jones - http://media.tojicode.com/webgl-samples/dds.html\n// All values and structures referenced from:\n// http://msdn.microsoft.com/en-us/library/bb943991.aspx/\nconst DDS_MAGIC = 0x20534444;\nconst //DDSD_CAPS = 0x1,\n//DDSD_HEIGHT = 0x2,\n//DDSD_WIDTH = 0x4,\n//DDSD_PITCH = 0x8,\n//DDSD_PIXELFORMAT = 0x1000,\nDDSD_MIPMAPCOUNT = 0x20000;\n//DDSD_LINEARSIZE = 0x80000,\n//DDSD_DEPTH = 0x800000;\n// var DDSCAPS_COMPLEX = 0x8,\n// DDSCAPS_MIPMAP = 0x400000,\n// DDSCAPS_TEXTURE = 0x1000;\nconst DDSCAPS2_CUBEMAP = 0x200;\n// DDSCAPS2_CUBEMAP_POSITIVEX = 0x400,\n// DDSCAPS2_CUBEMAP_NEGATIVEX = 0x800,\n// DDSCAPS2_CUBEMAP_POSITIVEY = 0x1000,\n// DDSCAPS2_CUBEMAP_NEGATIVEY = 0x2000,\n// DDSCAPS2_CUBEMAP_POSITIVEZ = 0x4000,\n// DDSCAPS2_CUBEMAP_NEGATIVEZ = 0x8000,\n// DDSCAPS2_VOLUME = 0x200000;\nconst //DDPF_ALPHAPIXELS = 0x1,\n//DDPF_ALPHA = 0x2,\nDDPF_FOURCC = 0x4, DDPF_RGB = 0x40, \n//DDPF_YUV = 0x200,\nDDPF_LUMINANCE = 0x20000;\nfunction FourCCToInt32(value) {\n return value.charCodeAt(0) + (value.charCodeAt(1) << 8) + (value.charCodeAt(2) << 16) + (value.charCodeAt(3) << 24);\n}\nfunction Int32ToFourCC(value) {\n return String.fromCharCode(value & 0xff, (value >> 8) & 0xff, (value >> 16) & 0xff, (value >> 24) & 0xff);\n}\nconst FOURCC_DXT1 = FourCCToInt32(\"DXT1\");\nconst FOURCC_DXT3 = FourCCToInt32(\"DXT3\");\nconst FOURCC_DXT5 = FourCCToInt32(\"DXT5\");\nconst FOURCC_DX10 = FourCCToInt32(\"DX10\");\nconst FOURCC_D3DFMT_R16G16B16A16F = 113;\nconst FOURCC_D3DFMT_R32G32B32A32F = 116;\nconst DXGI_FORMAT_R32G32B32A32_FLOAT = 2;\nconst DXGI_FORMAT_R16G16B16A16_FLOAT = 10;\nconst DXGI_FORMAT_B8G8R8X8_UNORM = 88;\nconst headerLengthInt = 31; // The header length in 32 bit ints\n// Offsets into the header array\nconst off_magic = 0;\nconst off_size = 1;\nconst off_flags = 2;\nconst off_height = 3;\nconst off_width = 4;\nconst off_mipmapCount = 7;\nconst off_pfFlags = 20;\nconst off_pfFourCC = 21;\nconst off_RGBbpp = 22;\nconst off_RMask = 23;\nconst off_GMask = 24;\nconst off_BMask = 25;\nconst off_AMask = 26;\n// var off_caps1 = 27;\nconst off_caps2 = 28;\n// var off_caps3 = 29;\n// var off_caps4 = 30;\nconst off_dxgiFormat = 32;\n/**\n * Class used to provide DDS decompression tools\n */\nexport class DDSTools {\n /**\n * Gets DDS information from an array buffer\n * @param data defines the array buffer view to read data from\n * @returns the DDS information\n */\n static GetDDSInfo(data) {\n const header = new Int32Array(data.buffer, data.byteOffset, headerLengthInt);\n const extendedHeader = new Int32Array(data.buffer, data.byteOffset, headerLengthInt + 4);\n let mipmapCount = 1;\n if (header[off_flags] & DDSD_MIPMAPCOUNT) {\n mipmapCount = Math.max(1, header[off_mipmapCount]);\n }\n const fourCC = header[off_pfFourCC];\n const dxgiFormat = fourCC === FOURCC_DX10 ? extendedHeader[off_dxgiFormat] : 0;\n let textureType = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n switch (fourCC) {\n case FOURCC_D3DFMT_R16G16B16A16F:\n textureType = Constants.TEXTURETYPE_HALF_FLOAT;\n break;\n case FOURCC_D3DFMT_R32G32B32A32F:\n textureType = Constants.TEXTURETYPE_FLOAT;\n break;\n case FOURCC_DX10:\n if (dxgiFormat === DXGI_FORMAT_R16G16B16A16_FLOAT) {\n textureType = Constants.TEXTURETYPE_HALF_FLOAT;\n break;\n }\n if (dxgiFormat === DXGI_FORMAT_R32G32B32A32_FLOAT) {\n textureType = Constants.TEXTURETYPE_FLOAT;\n break;\n }\n }\n return {\n width: header[off_width],\n height: header[off_height],\n mipmapCount: mipmapCount,\n isFourCC: (header[off_pfFlags] & DDPF_FOURCC) === DDPF_FOURCC,\n isRGB: (header[off_pfFlags] & DDPF_RGB) === DDPF_RGB,\n isLuminance: (header[off_pfFlags] & DDPF_LUMINANCE) === DDPF_LUMINANCE,\n isCube: (header[off_caps2] & DDSCAPS2_CUBEMAP) === DDSCAPS2_CUBEMAP,\n isCompressed: fourCC === FOURCC_DXT1 || fourCC === FOURCC_DXT3 || fourCC === FOURCC_DXT5,\n dxgiFormat: dxgiFormat,\n textureType: textureType,\n };\n }\n static _GetHalfFloatAsFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n const destArray = new Float32Array(dataLength);\n const srcData = new Uint16Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = FromHalfFloat(srcData[srcPos]);\n destArray[index + 1] = FromHalfFloat(srcData[srcPos + 1]);\n destArray[index + 2] = FromHalfFloat(srcData[srcPos + 2]);\n if (DDSTools.StoreLODInAlphaChannel) {\n destArray[index + 3] = lod;\n }\n else {\n destArray[index + 3] = FromHalfFloat(srcData[srcPos + 3]);\n }\n index += 4;\n }\n }\n return destArray;\n }\n static _GetHalfFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n if (DDSTools.StoreLODInAlphaChannel) {\n const destArray = new Uint16Array(dataLength);\n const srcData = new Uint16Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = srcData[srcPos];\n destArray[index + 1] = srcData[srcPos + 1];\n destArray[index + 2] = srcData[srcPos + 2];\n destArray[index + 3] = ToHalfFloat(lod);\n index += 4;\n }\n }\n return destArray;\n }\n return new Uint16Array(arrayBuffer, dataOffset, dataLength);\n }\n static _GetFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n if (DDSTools.StoreLODInAlphaChannel) {\n const destArray = new Float32Array(dataLength);\n const srcData = new Float32Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = srcData[srcPos];\n destArray[index + 1] = srcData[srcPos + 1];\n destArray[index + 2] = srcData[srcPos + 2];\n destArray[index + 3] = lod;\n index += 4;\n }\n }\n return destArray;\n }\n return new Float32Array(arrayBuffer, dataOffset, dataLength);\n }\n static _GetFloatAsHalfFloatRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n const destArray = new Uint16Array(dataLength);\n const srcData = new Float32Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n destArray[index] = ToHalfFloat(srcData[index]);\n destArray[index + 1] = ToHalfFloat(srcData[index + 1]);\n destArray[index + 2] = ToHalfFloat(srcData[index + 2]);\n if (DDSTools.StoreLODInAlphaChannel) {\n destArray[index + 3] = ToHalfFloat(lod);\n }\n else {\n destArray[index + 3] = ToHalfFloat(srcData[index + 3]);\n }\n index += 4;\n }\n }\n return destArray;\n }\n static _GetFloatAsUIntRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n const destArray = new Uint8Array(dataLength);\n const srcData = new Float32Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = Clamp(srcData[srcPos]) * 255;\n destArray[index + 1] = Clamp(srcData[srcPos + 1]) * 255;\n destArray[index + 2] = Clamp(srcData[srcPos + 2]) * 255;\n if (DDSTools.StoreLODInAlphaChannel) {\n destArray[index + 3] = lod;\n }\n else {\n destArray[index + 3] = Clamp(srcData[srcPos + 3]) * 255;\n }\n index += 4;\n }\n }\n return destArray;\n }\n static _GetHalfFloatAsUIntRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, lod) {\n const destArray = new Uint8Array(dataLength);\n const srcData = new Uint16Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n destArray[index] = Clamp(FromHalfFloat(srcData[srcPos])) * 255;\n destArray[index + 1] = Clamp(FromHalfFloat(srcData[srcPos + 1])) * 255;\n destArray[index + 2] = Clamp(FromHalfFloat(srcData[srcPos + 2])) * 255;\n if (DDSTools.StoreLODInAlphaChannel) {\n destArray[index + 3] = lod;\n }\n else {\n destArray[index + 3] = Clamp(FromHalfFloat(srcData[srcPos + 3])) * 255;\n }\n index += 4;\n }\n }\n return destArray;\n }\n static _GetRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, rOffset, gOffset, bOffset, aOffset) {\n const byteArray = new Uint8Array(dataLength);\n const srcData = new Uint8Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 4;\n byteArray[index] = srcData[srcPos + rOffset];\n byteArray[index + 1] = srcData[srcPos + gOffset];\n byteArray[index + 2] = srcData[srcPos + bOffset];\n byteArray[index + 3] = srcData[srcPos + aOffset];\n index += 4;\n }\n }\n return byteArray;\n }\n static _ExtractLongWordOrder(value) {\n if (value === 0 || value === 255 || value === -16777216) {\n return 0;\n }\n return 1 + DDSTools._ExtractLongWordOrder(value >> 8);\n }\n static _GetRGBArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer, rOffset, gOffset, bOffset) {\n const byteArray = new Uint8Array(dataLength);\n const srcData = new Uint8Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = (x + y * width) * 3;\n byteArray[index] = srcData[srcPos + rOffset];\n byteArray[index + 1] = srcData[srcPos + gOffset];\n byteArray[index + 2] = srcData[srcPos + bOffset];\n index += 3;\n }\n }\n return byteArray;\n }\n static _GetLuminanceArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer) {\n const byteArray = new Uint8Array(dataLength);\n const srcData = new Uint8Array(arrayBuffer, dataOffset);\n let index = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const srcPos = x + y * width;\n byteArray[index] = srcData[srcPos];\n index++;\n }\n }\n return byteArray;\n }\n /**\n * Uploads DDS Levels to a Babylon Texture\n * @internal\n */\n static UploadDDSLevels(engine, texture, data, info, loadMipmaps, faces, lodIndex = -1, currentFace, destTypeMustBeFilterable = true) {\n let sphericalPolynomialFaces = null;\n if (info.sphericalPolynomial) {\n sphericalPolynomialFaces = [];\n }\n const ext = !!engine.getCaps().s3tc;\n // TODO WEBGPU Once generateMipMaps is split into generateMipMaps + hasMipMaps in InternalTexture this line can be removed\n texture.generateMipMaps = loadMipmaps;\n const header = new Int32Array(data.buffer, data.byteOffset, headerLengthInt);\n let fourCC, width, height, dataLength = 0, dataOffset;\n let byteArray, mipmapCount, mip;\n let internalCompressedFormat = 0;\n let blockBytes = 1;\n if (header[off_magic] !== DDS_MAGIC) {\n Logger.Error(\"Invalid magic number in DDS header\");\n return;\n }\n if (!info.isFourCC && !info.isRGB && !info.isLuminance) {\n Logger.Error(\"Unsupported format, must contain a FourCC, RGB or LUMINANCE code\");\n return;\n }\n if (info.isCompressed && !ext) {\n Logger.Error(\"Compressed textures are not supported on this platform.\");\n return;\n }\n let bpp = header[off_RGBbpp];\n dataOffset = header[off_size] + 4;\n let computeFormats = false;\n if (info.isFourCC) {\n fourCC = header[off_pfFourCC];\n switch (fourCC) {\n case FOURCC_DXT1:\n blockBytes = 8;\n internalCompressedFormat = Constants.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT1;\n break;\n case FOURCC_DXT3:\n blockBytes = 16;\n internalCompressedFormat = Constants.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT3;\n break;\n case FOURCC_DXT5:\n blockBytes = 16;\n internalCompressedFormat = Constants.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT5;\n break;\n case FOURCC_D3DFMT_R16G16B16A16F:\n computeFormats = true;\n bpp = 64;\n break;\n case FOURCC_D3DFMT_R32G32B32A32F:\n computeFormats = true;\n bpp = 128;\n break;\n case FOURCC_DX10: {\n // There is an additionnal header so dataOffset need to be changed\n dataOffset += 5 * 4; // 5 uints\n let supported = false;\n switch (info.dxgiFormat) {\n case DXGI_FORMAT_R16G16B16A16_FLOAT:\n computeFormats = true;\n bpp = 64;\n supported = true;\n break;\n case DXGI_FORMAT_R32G32B32A32_FLOAT:\n computeFormats = true;\n bpp = 128;\n supported = true;\n break;\n case DXGI_FORMAT_B8G8R8X8_UNORM:\n info.isRGB = true;\n info.isFourCC = false;\n bpp = 32;\n supported = true;\n break;\n }\n if (supported) {\n break;\n }\n }\n // eslint-disable-next-line no-fallthrough\n default:\n Logger.Error([\"Unsupported FourCC code:\", Int32ToFourCC(fourCC)]);\n return;\n }\n }\n const rOffset = DDSTools._ExtractLongWordOrder(header[off_RMask]);\n const gOffset = DDSTools._ExtractLongWordOrder(header[off_GMask]);\n const bOffset = DDSTools._ExtractLongWordOrder(header[off_BMask]);\n const aOffset = DDSTools._ExtractLongWordOrder(header[off_AMask]);\n if (computeFormats) {\n internalCompressedFormat = engine._getRGBABufferInternalSizedFormat(info.textureType);\n }\n mipmapCount = 1;\n if (header[off_flags] & DDSD_MIPMAPCOUNT && loadMipmaps !== false) {\n mipmapCount = Math.max(1, header[off_mipmapCount]);\n }\n const startFace = currentFace || 0;\n const caps = engine.getCaps();\n for (let face = startFace; face < faces; face++) {\n width = header[off_width];\n height = header[off_height];\n for (mip = 0; mip < mipmapCount; ++mip) {\n if (lodIndex === -1 || lodIndex === mip) {\n // In case of fixed LOD, if the lod has just been uploaded, early exit.\n const i = lodIndex === -1 ? mip : 0;\n if (!info.isCompressed && info.isFourCC) {\n texture.format = Constants.TEXTUREFORMAT_RGBA;\n dataLength = width * height * 4;\n let floatArray = null;\n if (engine._badOS || engine._badDesktopOS || (!caps.textureHalfFloat && !caps.textureFloat)) {\n // Required because iOS has many issues with float and half float generation\n if (bpp === 128) {\n floatArray = DDSTools._GetFloatAsUIntRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i);\n if (sphericalPolynomialFaces && i == 0) {\n sphericalPolynomialFaces.push(DDSTools._GetFloatRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i));\n }\n }\n else if (bpp === 64) {\n floatArray = DDSTools._GetHalfFloatAsUIntRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i);\n if (sphericalPolynomialFaces && i == 0) {\n sphericalPolynomialFaces.push(DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i));\n }\n }\n texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n }\n else {\n const floatAvailable = caps.textureFloat && ((destTypeMustBeFilterable && caps.textureFloatLinearFiltering) || !destTypeMustBeFilterable);\n const halfFloatAvailable = caps.textureHalfFloat && ((destTypeMustBeFilterable && caps.textureHalfFloatLinearFiltering) || !destTypeMustBeFilterable);\n const destType = (bpp === 128 || (bpp === 64 && !halfFloatAvailable)) && floatAvailable\n ? Constants.TEXTURETYPE_FLOAT\n : (bpp === 64 || (bpp === 128 && !floatAvailable)) && halfFloatAvailable\n ? Constants.TEXTURETYPE_HALF_FLOAT\n : Constants.TEXTURETYPE_UNSIGNED_BYTE;\n let dataGetter;\n let dataGetterPolynomial = null;\n switch (bpp) {\n case 128: {\n switch (destType) {\n case Constants.TEXTURETYPE_FLOAT:\n dataGetter = DDSTools._GetFloatRGBAArrayBuffer;\n dataGetterPolynomial = null;\n break;\n case Constants.TEXTURETYPE_HALF_FLOAT:\n dataGetter = DDSTools._GetFloatAsHalfFloatRGBAArrayBuffer;\n dataGetterPolynomial = DDSTools._GetFloatRGBAArrayBuffer;\n break;\n case Constants.TEXTURETYPE_UNSIGNED_BYTE:\n dataGetter = DDSTools._GetFloatAsUIntRGBAArrayBuffer;\n dataGetterPolynomial = DDSTools._GetFloatRGBAArrayBuffer;\n break;\n }\n break;\n }\n default: {\n // 64 bpp\n switch (destType) {\n case Constants.TEXTURETYPE_FLOAT:\n dataGetter = DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer;\n dataGetterPolynomial = null;\n break;\n case Constants.TEXTURETYPE_HALF_FLOAT:\n dataGetter = DDSTools._GetHalfFloatRGBAArrayBuffer;\n dataGetterPolynomial = DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer;\n break;\n case Constants.TEXTURETYPE_UNSIGNED_BYTE:\n dataGetter = DDSTools._GetHalfFloatAsUIntRGBAArrayBuffer;\n dataGetterPolynomial = DDSTools._GetHalfFloatAsFloatRGBAArrayBuffer;\n break;\n }\n break;\n }\n }\n texture.type = destType;\n floatArray = dataGetter(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i);\n if (sphericalPolynomialFaces && i == 0) {\n sphericalPolynomialFaces.push(dataGetterPolynomial ? dataGetterPolynomial(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, i) : floatArray);\n }\n }\n if (floatArray) {\n engine._uploadDataToTextureDirectly(texture, floatArray, face, i);\n }\n }\n else if (info.isRGB) {\n texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n if (bpp === 24) {\n texture.format = Constants.TEXTUREFORMAT_RGB;\n dataLength = width * height * 3;\n byteArray = DDSTools._GetRGBArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, rOffset, gOffset, bOffset);\n engine._uploadDataToTextureDirectly(texture, byteArray, face, i);\n }\n else {\n // 32\n texture.format = Constants.TEXTUREFORMAT_RGBA;\n dataLength = width * height * 4;\n byteArray = DDSTools._GetRGBAArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer, rOffset, gOffset, bOffset, aOffset);\n engine._uploadDataToTextureDirectly(texture, byteArray, face, i);\n }\n }\n else if (info.isLuminance) {\n const unpackAlignment = engine._getUnpackAlignement();\n const unpaddedRowSize = width;\n const paddedRowSize = Math.floor((width + unpackAlignment - 1) / unpackAlignment) * unpackAlignment;\n dataLength = paddedRowSize * (height - 1) + unpaddedRowSize;\n byteArray = DDSTools._GetLuminanceArrayBuffer(width, height, data.byteOffset + dataOffset, dataLength, data.buffer);\n texture.format = Constants.TEXTUREFORMAT_LUMINANCE;\n texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n engine._uploadDataToTextureDirectly(texture, byteArray, face, i);\n }\n else {\n dataLength = (((Math.max(4, width) / 4) * Math.max(4, height)) / 4) * blockBytes;\n byteArray = new Uint8Array(data.buffer, data.byteOffset + dataOffset, dataLength);\n texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;\n engine._uploadCompressedDataToTextureDirectly(texture, internalCompressedFormat, width, height, byteArray, face, i);\n }\n }\n dataOffset += bpp ? width * height * (bpp / 8) : dataLength;\n width *= 0.5;\n height *= 0.5;\n width = Math.max(1.0, width);\n height = Math.max(1.0, height);\n }\n if (currentFace !== undefined) {\n // Loading a single face\n break;\n }\n }\n if (sphericalPolynomialFaces && sphericalPolynomialFaces.length > 0) {\n info.sphericalPolynomial = CubeMapToSphericalPolynomialTools.ConvertCubeMapToSphericalPolynomial({\n size: header[off_width],\n right: sphericalPolynomialFaces[0],\n left: sphericalPolynomialFaces[1],\n up: sphericalPolynomialFaces[2],\n down: sphericalPolynomialFaces[3],\n front: sphericalPolynomialFaces[4],\n back: sphericalPolynomialFaces[5],\n format: Constants.TEXTUREFORMAT_RGBA,\n type: Constants.TEXTURETYPE_FLOAT,\n gammaSpace: false,\n });\n }\n else {\n info.sphericalPolynomial = undefined;\n }\n }\n}\n/**\n * Gets or sets a boolean indicating that LOD info is stored in alpha channel (false by default)\n */\nDDSTools.StoreLODInAlphaChannel = false;\n//# sourceMappingURL=dds.js.map"],"names":["DDSD_MIPMAPCOUNT","DDPF_LUMINANCE","FourCCToInt32","value","charCodeAt","FOURCC_DXT1","FOURCC_DXT3","FOURCC_DXT5","FOURCC_DX10","DDSTools","GetDDSInfo","data","header","Int32Array","buffer","byteOffset","extendedHeader","headerLengthInt","mipmapCount","Math","max","fourCC","dxgiFormat","textureType","Constants","TEXTURETYPE_UNSIGNED_BYTE","TEXTURETYPE_HALF_FLOAT","TEXTURETYPE_FLOAT","width","height","isFourCC","isRGB","isLuminance","isCube","isCompressed","_GetHalfFloatAsFloatRGBAArrayBuffer","dataOffset","dataLength","arrayBuffer","lod","destArray","Float32Array","srcData","Uint16Array","index","y","x","srcPos","FromHalfFloat","StoreLODInAlphaChannel","_GetHalfFloatRGBAArrayBuffer","ToHalfFloat","_GetFloatRGBAArrayBuffer","_GetFloatAsHalfFloatRGBAArrayBuffer","_GetFloatAsUIntRGBAArrayBuffer","Uint8Array","Clamp","_GetHalfFloatAsUIntRGBAArrayBuffer","_GetRGBAArrayBuffer","rOffset","gOffset","bOffset","aOffset","byteArray","_ExtractLongWordOrder","_GetRGBArrayBuffer","_GetLuminanceArrayBuffer","UploadDDSLevels","engine","texture","info","loadMipmaps","faces","lodIndex","currentFace","destTypeMustBeFilterable","sphericalPolynomialFaces","sphericalPolynomial","ext","getCaps","s3tc","generateMipMaps","mip","internalCompressedFormat","blockBytes","Logger","Error","bpp","computeFormats","TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT1","TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT3","TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT5","supported","String","fromCharCode","_getRGBABufferInternalSizedFormat","startFace","caps","face","i","format","TEXTUREFORMAT_RGBA","floatArray","_badOS","_badDesktopOS","textureHalfFloat","textureFloat","push","type","floatAvailable","textureFloatLinearFiltering","halfFloatAvailable","textureHalfFloatLinearFiltering","destType","dataGetter","dataGetterPolynomial","_uploadDataToTextureDirectly","TEXTUREFORMAT_RGB","unpackAlignment","_getUnpackAlignement","unpaddedRowSize","floor","TEXTUREFORMAT_LUMINANCE","_uploadCompressedDataToTextureDirectly","undefined","length","CubeMapToSphericalPolynomialTools","ConvertCubeMapToSphericalPolynomial","size","right","left","up","down","front","back","gammaSpace"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{S as e}from"./index-DRbhrB0j.esm.min.js";import{DDSTools as i}from"./dds-D1NTXLIL.esm.min.js";class a{constructor(){this.supportCascades=!0}loadCubeData(a,t,s,o){const p=t.getEngine();let n,m=!1,r=1e3;if(Array.isArray(a))for(let e=0;e<a.length;e++){const s=a[e];n=i.GetDDSInfo(s),t.width=n.width,t.height=n.height,m=(n.isRGB||n.isLuminance||n.mipmapCount>1)&&t.generateMipMaps,p._unpackFlipY(n.isCompressed),i.UploadDDSLevels(p,t,s,n,m,6,-1,e),n.isFourCC||1!==n.mipmapCount?r=n.mipmapCount-1:p.generateMipMapsForCubemap(t)}else{const o=a;n=i.GetDDSInfo(o),t.width=n.width,t.height=n.height,s&&(n.sphericalPolynomial=new e),m=(n.isRGB||n.isLuminance||n.mipmapCount>1)&&t.generateMipMaps,p._unpackFlipY(n.isCompressed),i.UploadDDSLevels(p,t,o,n,m,6),n.isFourCC||1!==n.mipmapCount?r=n.mipmapCount-1:p.generateMipMapsForCubemap(t,!1)}p._setCubeMapTextureParams(t,m,r),t.isReady=!0,t.onLoadedObservable.notifyObservers(t),t.onLoadedObservable.clear(),o&&o({isDDS:!0,width:t.width,info:n,data:a,texture:t})}loadData(e,a,t){const s=i.GetDDSInfo(e),o=(s.isRGB||s.isLuminance||s.mipmapCount>1)&&a.generateMipMaps&&Math.max(s.width,s.height)>>s.mipmapCount-1==1;t(s.width,s.height,o,s.isFourCC,(()=>{i.UploadDDSLevels(a.getEngine(),a,e,s,o,1)}))}}export{a as _DDSTextureLoader};
|
|
2
|
+
//# sourceMappingURL=ddsTextureLoader-DbvffCUa.esm.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ddsTextureLoader-DbvffCUa.esm.min.js","sources":["../../../../../dev/core/dist/Materials/Textures/Loaders/ddsTextureLoader.js"],"sourcesContent":["import { SphericalPolynomial } from \"../../../Maths/sphericalPolynomial\";\nimport { DDSTools } from \"../../../Misc/dds\";\n/**\n * Implementation of the DDS Texture Loader.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class _DDSTextureLoader {\n constructor() {\n /**\n * Defines whether the loader supports cascade loading the different faces.\n */\n this.supportCascades = true;\n }\n /**\n * Uploads the cube texture data to the WebGL texture. It has already been bound.\n * @param imgs contains the cube maps\n * @param texture defines the BabylonJS internal texture\n * @param createPolynomials will be true if polynomials have been requested\n * @param onLoad defines the callback to trigger once the texture is ready\n */\n loadCubeData(imgs, texture, createPolynomials, onLoad) {\n const engine = texture.getEngine();\n let info;\n let loadMipmap = false;\n let maxLevel = 1000;\n if (Array.isArray(imgs)) {\n for (let index = 0; index < imgs.length; index++) {\n const data = imgs[index];\n info = DDSTools.GetDDSInfo(data);\n texture.width = info.width;\n texture.height = info.height;\n loadMipmap = (info.isRGB || info.isLuminance || info.mipmapCount > 1) && texture.generateMipMaps;\n engine._unpackFlipY(info.isCompressed);\n DDSTools.UploadDDSLevels(engine, texture, data, info, loadMipmap, 6, -1, index);\n if (!info.isFourCC && info.mipmapCount === 1) {\n engine.generateMipMapsForCubemap(texture);\n }\n else {\n maxLevel = info.mipmapCount - 1;\n }\n }\n }\n else {\n const data = imgs;\n info = DDSTools.GetDDSInfo(data);\n texture.width = info.width;\n texture.height = info.height;\n if (createPolynomials) {\n info.sphericalPolynomial = new SphericalPolynomial();\n }\n loadMipmap = (info.isRGB || info.isLuminance || info.mipmapCount > 1) && texture.generateMipMaps;\n engine._unpackFlipY(info.isCompressed);\n DDSTools.UploadDDSLevels(engine, texture, data, info, loadMipmap, 6);\n if (!info.isFourCC && info.mipmapCount === 1) {\n // Do not unbind as we still need to set the parameters.\n engine.generateMipMapsForCubemap(texture, false);\n }\n else {\n maxLevel = info.mipmapCount - 1;\n }\n }\n engine._setCubeMapTextureParams(texture, loadMipmap, maxLevel);\n texture.isReady = true;\n texture.onLoadedObservable.notifyObservers(texture);\n texture.onLoadedObservable.clear();\n if (onLoad) {\n onLoad({ isDDS: true, width: texture.width, info, data: imgs, texture });\n }\n }\n /**\n * Uploads the 2D texture data to the WebGL texture. It has already been bound once in the callback.\n * @param data contains the texture data\n * @param texture defines the BabylonJS internal texture\n * @param callback defines the method to call once ready to upload\n */\n loadData(data, texture, callback) {\n const info = DDSTools.GetDDSInfo(data);\n const loadMipmap = (info.isRGB || info.isLuminance || info.mipmapCount > 1) && texture.generateMipMaps && Math.max(info.width, info.height) >> (info.mipmapCount - 1) === 1;\n callback(info.width, info.height, loadMipmap, info.isFourCC, () => {\n DDSTools.UploadDDSLevels(texture.getEngine(), texture, data, info, loadMipmap, 1);\n });\n }\n}\n//# sourceMappingURL=ddsTextureLoader.js.map"],"names":["_DDSTextureLoader","constructor","this","supportCascades","loadCubeData","imgs","texture","createPolynomials","onLoad","engine","getEngine","info","loadMipmap","maxLevel","Array","isArray","index","length","data","DDSTools","GetDDSInfo","width","height","isRGB","isLuminance","mipmapCount","generateMipMaps","_unpackFlipY","isCompressed","UploadDDSLevels","isFourCC","generateMipMapsForCubemap","sphericalPolynomial","SphericalPolynomial","_setCubeMapTextureParams","isReady","onLoadedObservable","notifyObservers","clear","isDDS","loadData","callback","Math","max"],"mappings":"qGAOO,MAAMA,EACT,WAAAC,GAIIC,KAAKC,iBAAkB,CAC/B,CAQI,YAAAC,CAAaC,EAAMC,EAASC,EAAmBC,GAC3C,MAAMC,EAASH,EAAQI,YACvB,IAAIC,EACAC,GAAa,EACbC,EAAW,IACf,GAAIC,MAAMC,QAAQV,GACd,IAAK,IAAIW,EAAQ,EAAGA,EAAQX,EAAKY,OAAQD,IAAS,CAC9C,MAAME,EAAOb,EAAKW,GAClBL,EAAOQ,EAASC,WAAWF,GAC3BZ,EAAQe,MAAQV,EAAKU,MACrBf,EAAQgB,OAASX,EAAKW,OACtBV,GAAcD,EAAKY,OAASZ,EAAKa,aAAeb,EAAKc,YAAc,IAAMnB,EAAQoB,gBACjFjB,EAAOkB,aAAahB,EAAKiB,cACzBT,EAASU,gBAAgBpB,EAAQH,EAASY,EAAMP,EAAMC,EAAY,GAAI,EAAGI,GACpEL,EAAKmB,UAAiC,IAArBnB,EAAKc,YAIvBZ,EAAWF,EAAKc,YAAc,EAH9BhB,EAAOsB,0BAA0BzB,EAKrD,KAEa,CACD,MAAMY,EAAOb,EACbM,EAAOQ,EAASC,WAAWF,GAC3BZ,EAAQe,MAAQV,EAAKU,MACrBf,EAAQgB,OAASX,EAAKW,OAClBf,IACAI,EAAKqB,oBAAsB,IAAIC,GAEnCrB,GAAcD,EAAKY,OAASZ,EAAKa,aAAeb,EAAKc,YAAc,IAAMnB,EAAQoB,gBACjFjB,EAAOkB,aAAahB,EAAKiB,cACzBT,EAASU,gBAAgBpB,EAAQH,EAASY,EAAMP,EAAMC,EAAY,GAC7DD,EAAKmB,UAAiC,IAArBnB,EAAKc,YAKvBZ,EAAWF,EAAKc,YAAc,EAH9BhB,EAAOsB,0BAA0BzB,GAAS,EAK1D,CACQG,EAAOyB,yBAAyB5B,EAASM,EAAYC,GACrDP,EAAQ6B,SAAU,EAClB7B,EAAQ8B,mBAAmBC,gBAAgB/B,GAC3CA,EAAQ8B,mBAAmBE,QACvB9B,GACAA,EAAO,CAAE+B,OAAO,EAAMlB,MAAOf,EAAQe,MAAOV,OAAMO,KAAMb,EAAMC,WAE1E,CAOI,QAAAkC,CAAStB,EAAMZ,EAASmC,GACpB,MAAM9B,EAAOQ,EAASC,WAAWF,GAC3BN,GAAcD,EAAKY,OAASZ,EAAKa,aAAeb,EAAKc,YAAc,IAAMnB,EAAQoB,iBAAmBgB,KAAKC,IAAIhC,EAAKU,MAAOV,EAAKW,SAAYX,EAAKc,YAAc,GAAO,EAC1KgB,EAAS9B,EAAKU,MAAOV,EAAKW,OAAQV,EAAYD,EAAKmB,UAAU,KACzDX,EAASU,gBAAgBvB,EAAQI,YAAaJ,EAASY,EAAMP,EAAMC,EAAY,EAAE,GAE7F"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { S as SphericalPolynomial } from './index-Cw2FZpYY.esm.js';
|
|
2
|
+
import { DDSTools } from './dds-CFrq_XFM.esm.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Implementation of the DDS Texture Loader.
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
9
|
+
class _DDSTextureLoader {
|
|
10
|
+
constructor() {
|
|
11
|
+
/**
|
|
12
|
+
* Defines whether the loader supports cascade loading the different faces.
|
|
13
|
+
*/
|
|
14
|
+
this.supportCascades = true;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Uploads the cube texture data to the WebGL texture. It has already been bound.
|
|
18
|
+
* @param imgs contains the cube maps
|
|
19
|
+
* @param texture defines the BabylonJS internal texture
|
|
20
|
+
* @param createPolynomials will be true if polynomials have been requested
|
|
21
|
+
* @param onLoad defines the callback to trigger once the texture is ready
|
|
22
|
+
*/
|
|
23
|
+
loadCubeData(imgs, texture, createPolynomials, onLoad) {
|
|
24
|
+
const engine = texture.getEngine();
|
|
25
|
+
let info;
|
|
26
|
+
let loadMipmap = false;
|
|
27
|
+
let maxLevel = 1000;
|
|
28
|
+
if (Array.isArray(imgs)) {
|
|
29
|
+
for (let index = 0; index < imgs.length; index++) {
|
|
30
|
+
const data = imgs[index];
|
|
31
|
+
info = DDSTools.GetDDSInfo(data);
|
|
32
|
+
texture.width = info.width;
|
|
33
|
+
texture.height = info.height;
|
|
34
|
+
loadMipmap = (info.isRGB || info.isLuminance || info.mipmapCount > 1) && texture.generateMipMaps;
|
|
35
|
+
engine._unpackFlipY(info.isCompressed);
|
|
36
|
+
DDSTools.UploadDDSLevels(engine, texture, data, info, loadMipmap, 6, -1, index);
|
|
37
|
+
if (!info.isFourCC && info.mipmapCount === 1) {
|
|
38
|
+
engine.generateMipMapsForCubemap(texture);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
maxLevel = info.mipmapCount - 1;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
const data = imgs;
|
|
47
|
+
info = DDSTools.GetDDSInfo(data);
|
|
48
|
+
texture.width = info.width;
|
|
49
|
+
texture.height = info.height;
|
|
50
|
+
if (createPolynomials) {
|
|
51
|
+
info.sphericalPolynomial = new SphericalPolynomial();
|
|
52
|
+
}
|
|
53
|
+
loadMipmap = (info.isRGB || info.isLuminance || info.mipmapCount > 1) && texture.generateMipMaps;
|
|
54
|
+
engine._unpackFlipY(info.isCompressed);
|
|
55
|
+
DDSTools.UploadDDSLevels(engine, texture, data, info, loadMipmap, 6);
|
|
56
|
+
if (!info.isFourCC && info.mipmapCount === 1) {
|
|
57
|
+
// Do not unbind as we still need to set the parameters.
|
|
58
|
+
engine.generateMipMapsForCubemap(texture, false);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
maxLevel = info.mipmapCount - 1;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
engine._setCubeMapTextureParams(texture, loadMipmap, maxLevel);
|
|
65
|
+
texture.isReady = true;
|
|
66
|
+
texture.onLoadedObservable.notifyObservers(texture);
|
|
67
|
+
texture.onLoadedObservable.clear();
|
|
68
|
+
if (onLoad) {
|
|
69
|
+
onLoad({ isDDS: true, width: texture.width, info, data: imgs, texture });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Uploads the 2D texture data to the WebGL texture. It has already been bound once in the callback.
|
|
74
|
+
* @param data contains the texture data
|
|
75
|
+
* @param texture defines the BabylonJS internal texture
|
|
76
|
+
* @param callback defines the method to call once ready to upload
|
|
77
|
+
*/
|
|
78
|
+
loadData(data, texture, callback) {
|
|
79
|
+
const info = DDSTools.GetDDSInfo(data);
|
|
80
|
+
const loadMipmap = (info.isRGB || info.isLuminance || info.mipmapCount > 1) && texture.generateMipMaps && Math.max(info.width, info.height) >> (info.mipmapCount - 1) === 1;
|
|
81
|
+
callback(info.width, info.height, loadMipmap, info.isFourCC, () => {
|
|
82
|
+
DDSTools.UploadDDSLevels(texture.getEngine(), texture, data, info, loadMipmap, 1);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export { _DDSTextureLoader };
|
|
88
|
+
//# sourceMappingURL=ddsTextureLoader-wyjUdBoO.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ddsTextureLoader-wyjUdBoO.esm.js","sources":["../../../../../dev/core/dist/Materials/Textures/Loaders/ddsTextureLoader.js"],"sourcesContent":["import { SphericalPolynomial } from \"../../../Maths/sphericalPolynomial\";\nimport { DDSTools } from \"../../../Misc/dds\";\n/**\n * Implementation of the DDS Texture Loader.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class _DDSTextureLoader {\n constructor() {\n /**\n * Defines whether the loader supports cascade loading the different faces.\n */\n this.supportCascades = true;\n }\n /**\n * Uploads the cube texture data to the WebGL texture. It has already been bound.\n * @param imgs contains the cube maps\n * @param texture defines the BabylonJS internal texture\n * @param createPolynomials will be true if polynomials have been requested\n * @param onLoad defines the callback to trigger once the texture is ready\n */\n loadCubeData(imgs, texture, createPolynomials, onLoad) {\n const engine = texture.getEngine();\n let info;\n let loadMipmap = false;\n let maxLevel = 1000;\n if (Array.isArray(imgs)) {\n for (let index = 0; index < imgs.length; index++) {\n const data = imgs[index];\n info = DDSTools.GetDDSInfo(data);\n texture.width = info.width;\n texture.height = info.height;\n loadMipmap = (info.isRGB || info.isLuminance || info.mipmapCount > 1) && texture.generateMipMaps;\n engine._unpackFlipY(info.isCompressed);\n DDSTools.UploadDDSLevels(engine, texture, data, info, loadMipmap, 6, -1, index);\n if (!info.isFourCC && info.mipmapCount === 1) {\n engine.generateMipMapsForCubemap(texture);\n }\n else {\n maxLevel = info.mipmapCount - 1;\n }\n }\n }\n else {\n const data = imgs;\n info = DDSTools.GetDDSInfo(data);\n texture.width = info.width;\n texture.height = info.height;\n if (createPolynomials) {\n info.sphericalPolynomial = new SphericalPolynomial();\n }\n loadMipmap = (info.isRGB || info.isLuminance || info.mipmapCount > 1) && texture.generateMipMaps;\n engine._unpackFlipY(info.isCompressed);\n DDSTools.UploadDDSLevels(engine, texture, data, info, loadMipmap, 6);\n if (!info.isFourCC && info.mipmapCount === 1) {\n // Do not unbind as we still need to set the parameters.\n engine.generateMipMapsForCubemap(texture, false);\n }\n else {\n maxLevel = info.mipmapCount - 1;\n }\n }\n engine._setCubeMapTextureParams(texture, loadMipmap, maxLevel);\n texture.isReady = true;\n texture.onLoadedObservable.notifyObservers(texture);\n texture.onLoadedObservable.clear();\n if (onLoad) {\n onLoad({ isDDS: true, width: texture.width, info, data: imgs, texture });\n }\n }\n /**\n * Uploads the 2D texture data to the WebGL texture. It has already been bound once in the callback.\n * @param data contains the texture data\n * @param texture defines the BabylonJS internal texture\n * @param callback defines the method to call once ready to upload\n */\n loadData(data, texture, callback) {\n const info = DDSTools.GetDDSInfo(data);\n const loadMipmap = (info.isRGB || info.isLuminance || info.mipmapCount > 1) && texture.generateMipMaps && Math.max(info.width, info.height) >> (info.mipmapCount - 1) === 1;\n callback(info.width, info.height, loadMipmap, info.isFourCC, () => {\n DDSTools.UploadDDSLevels(texture.getEngine(), texture, data, info, loadMipmap, 1);\n });\n }\n}\n//# sourceMappingURL=ddsTextureLoader.js.map"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { i as ShaderStore } from './index-Cw2FZpYY.esm.js';
|
|
2
|
+
|
|
3
|
+
// Do not edit.
|
|
4
|
+
const name = "decalFragment";
|
|
5
|
+
const shader = `#ifdef DECAL
|
|
6
|
+
var decalTempColor=decalColor.rgb;var decalTempAlpha=decalColor.a;
|
|
7
|
+
#ifdef GAMMADECAL
|
|
8
|
+
decalTempColor=toLinearSpaceVec3(decalColor.rgb);
|
|
9
|
+
#endif
|
|
10
|
+
#ifdef DECAL_SMOOTHALPHA
|
|
11
|
+
decalTempAlpha=decalColor.a*decalColor.a;
|
|
12
|
+
#endif
|
|
13
|
+
surfaceAlbedo=mix(surfaceAlbedo.rgb,decalTempColor,decalTempAlpha);
|
|
14
|
+
#endif
|
|
15
|
+
`;
|
|
16
|
+
// Sideeffect
|
|
17
|
+
ShaderStore.IncludesShadersStoreWGSL[name] = shader;
|
|
18
|
+
//# sourceMappingURL=decalFragment-CGto5zyq.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decalFragment-CGto5zyq.esm.js","sources":["../../../../../dev/core/dist/ShadersWGSL/ShadersInclude/decalFragment.js"],"sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"decalFragment\";\nconst shader = `#ifdef DECAL\nvar decalTempColor=decalColor.rgb;var decalTempAlpha=decalColor.a;\n#ifdef GAMMADECAL\ndecalTempColor=toLinearSpaceVec3(decalColor.rgb);\n#endif\n#ifdef DECAL_SMOOTHALPHA\ndecalTempAlpha=decalColor.a*decalColor.a;\n#endif\nsurfaceAlbedo=mix(surfaceAlbedo.rgb,decalTempColor,decalTempAlpha);\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const decalFragmentWGSL = { name, shader };\n//# sourceMappingURL=decalFragment.js.map"],"names":[],"mappings":";;AAAA;AAEA,MAAM,IAAI,GAAG,eAAe;AAC5B,MAAM,MAAM,GAAG,CAAC;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,MAAM"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e}from"./index-DRbhrB0j.esm.min.js";e.IncludesShadersStoreWGSL.decalFragment="#ifdef DECAL\nvar decalTempColor=decalColor.rgb;var decalTempAlpha=decalColor.a;\n#ifdef GAMMADECAL\ndecalTempColor=toLinearSpaceVec3(decalColor.rgb);\n#endif\n#ifdef DECAL_SMOOTHALPHA\ndecalTempAlpha=decalColor.a*decalColor.a;\n#endif\nsurfaceAlbedo=mix(surfaceAlbedo.rgb,decalTempColor,decalTempAlpha);\n#endif\n";
|
|
2
|
+
//# sourceMappingURL=decalFragment-CU64C8uG.esm.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decalFragment-CU64C8uG.esm.min.js","sources":["../../../../../dev/core/dist/ShadersWGSL/ShadersInclude/decalFragment.js"],"sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"decalFragment\";\nconst shader = `#ifdef DECAL\nvar decalTempColor=decalColor.rgb;var decalTempAlpha=decalColor.a;\n#ifdef GAMMADECAL\ndecalTempColor=toLinearSpaceVec3(decalColor.rgb);\n#endif\n#ifdef DECAL_SMOOTHALPHA\ndecalTempAlpha=decalColor.a*decalColor.a;\n#endif\nsurfaceAlbedo=mix(surfaceAlbedo.rgb,decalTempColor,decalTempAlpha);\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const decalFragmentWGSL = { name, shader };\n//# sourceMappingURL=decalFragment.js.map"],"names":["ShaderStore","IncludesShadersStoreWGSL"],"mappings":"gDAeAA,EAAYC,yBAA6B,cAZ1B"}
|