@babylonjs/viewer 7.41.0-alpha → 7.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configuration/configuration.d.ts +107 -0
- package/configuration/configuration.js +16 -0
- package/configuration/configuration.js.map +1 -0
- package/configuration/configurationCompatibility.d.ts +8 -0
- package/configuration/configurationCompatibility.js +66 -0
- package/configuration/configurationCompatibility.js.map +1 -0
- package/configuration/configurationContainer.d.ts +10 -0
- package/configuration/configurationContainer.js +10 -0
- package/configuration/configurationContainer.js.map +1 -0
- package/configuration/globals.d.ts +6 -0
- package/configuration/globals.js +18 -0
- package/configuration/globals.js.map +1 -0
- package/configuration/index.d.ts +2 -0
- package/configuration/index.js +4 -0
- package/configuration/index.js.map +1 -0
- package/configuration/interfaces/cameraConfiguration.d.ts +31 -0
- package/configuration/interfaces/cameraConfiguration.js +2 -0
- package/configuration/interfaces/cameraConfiguration.js.map +1 -0
- package/configuration/interfaces/colorGradingConfiguration.d.ts +81 -0
- package/configuration/interfaces/colorGradingConfiguration.js +2 -0
- package/configuration/interfaces/colorGradingConfiguration.js.map +1 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +20 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +2 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +1 -0
- package/configuration/interfaces/environmentMapConfiguration.d.ts +22 -0
- package/configuration/interfaces/environmentMapConfiguration.js +2 -0
- package/configuration/interfaces/environmentMapConfiguration.js.map +1 -0
- package/configuration/interfaces/groundConfiguration.d.ts +24 -0
- package/configuration/interfaces/groundConfiguration.js +2 -0
- package/configuration/interfaces/groundConfiguration.js.map +1 -0
- package/configuration/interfaces/imageProcessingConfiguration.d.ts +45 -0
- package/configuration/interfaces/imageProcessingConfiguration.js +2 -0
- package/configuration/interfaces/imageProcessingConfiguration.js.map +1 -0
- package/configuration/interfaces/index.d.ts +15 -0
- package/configuration/interfaces/index.js +16 -0
- package/configuration/interfaces/index.js.map +1 -0
- package/configuration/interfaces/lightConfiguration.d.ts +60 -0
- package/configuration/interfaces/lightConfiguration.js +2 -0
- package/configuration/interfaces/lightConfiguration.js.map +1 -0
- package/configuration/interfaces/modelAnimationConfiguration.d.ts +26 -0
- package/configuration/interfaces/modelAnimationConfiguration.js +2 -0
- package/configuration/interfaces/modelAnimationConfiguration.js.map +1 -0
- package/configuration/interfaces/modelConfiguration.d.ts +65 -0
- package/configuration/interfaces/modelConfiguration.js +2 -0
- package/configuration/interfaces/modelConfiguration.js.map +1 -0
- package/configuration/interfaces/observersConfiguration.d.ts +5 -0
- package/configuration/interfaces/observersConfiguration.js +2 -0
- package/configuration/interfaces/observersConfiguration.js.map +1 -0
- package/configuration/interfaces/sceneConfiguration.d.ts +48 -0
- package/configuration/interfaces/sceneConfiguration.js +2 -0
- package/configuration/interfaces/sceneConfiguration.js.map +1 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +23 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.js +2 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.js.map +1 -0
- package/configuration/interfaces/skyboxConfiguration.d.ts +21 -0
- package/configuration/interfaces/skyboxConfiguration.js +2 -0
- package/configuration/interfaces/skyboxConfiguration.js.map +1 -0
- package/configuration/interfaces/templateConfiguration.d.ts +67 -0
- package/configuration/interfaces/templateConfiguration.js +2 -0
- package/configuration/interfaces/templateConfiguration.js.map +1 -0
- package/configuration/interfaces/vrConfiguration.d.ts +16 -0
- package/configuration/interfaces/vrConfiguration.js +2 -0
- package/configuration/interfaces/vrConfiguration.js.map +1 -0
- package/configuration/loader.d.ts +4 -0
- package/configuration/loader.js +17 -0
- package/configuration/loader.js.map +1 -0
- package/configuration/mappers.d.ts +43 -0
- package/configuration/mappers.js +193 -0
- package/configuration/mappers.js.map +1 -0
- package/configuration/renderOnlyLoader.d.ts +33 -0
- package/configuration/renderOnlyLoader.js +162 -0
- package/configuration/renderOnlyLoader.js.map +1 -0
- package/configuration/types/default.d.ts +6 -0
- package/configuration/types/default.js +121 -0
- package/configuration/types/default.js.map +1 -0
- package/configuration/types/environmentMap.d.ts +5 -0
- package/configuration/types/environmentMap.js +14 -0
- package/configuration/types/environmentMap.js.map +1 -0
- package/configuration/types/extended.d.ts +6 -0
- package/configuration/types/extended.js +317 -0
- package/configuration/types/extended.js.map +1 -0
- package/configuration/types/index.d.ts +14 -0
- package/configuration/types/index.js +51 -0
- package/configuration/types/index.js.map +1 -0
- package/configuration/types/minimal.d.ts +6 -0
- package/configuration/types/minimal.js +43 -0
- package/configuration/types/minimal.js.map +1 -0
- package/configuration/types/renderOnlyDefault.d.ts +30 -0
- package/configuration/types/renderOnlyDefault.js +31 -0
- package/configuration/types/renderOnlyDefault.js.map +1 -0
- package/configuration/types/shadowLight.d.ts +9 -0
- package/configuration/types/shadowLight.js +64 -0
- package/configuration/types/shadowLight.js.map +1 -0
- package/helper/index.d.ts +29 -0
- package/helper/index.js +66 -0
- package/helper/index.js.map +1 -0
- package/index.d.ts +30 -0
- package/index.js +46 -0
- package/index.js.map +1 -0
- package/initializer.d.ts +11 -0
- package/initializer.js +35 -0
- package/initializer.js.map +1 -0
- package/interfaces.d.ts +5 -0
- package/interfaces.js +7 -0
- package/interfaces.js.map +1 -0
- package/labs/environmentSerializer.d.ts +126 -0
- package/labs/environmentSerializer.js +191 -0
- package/labs/environmentSerializer.js.map +1 -0
- package/labs/texture.d.ts +183 -0
- package/labs/texture.js +351 -0
- package/labs/texture.js.map +1 -0
- package/labs/viewerLabs.d.ts +51 -0
- package/labs/viewerLabs.js +134 -0
- package/labs/viewerLabs.js.map +1 -0
- package/loader/modelLoader.d.ts +56 -0
- package/loader/modelLoader.js +202 -0
- package/loader/modelLoader.js.map +1 -0
- package/loader/plugins/applyMaterialConfig.d.ts +12 -0
- package/loader/plugins/applyMaterialConfig.js +16 -0
- package/loader/plugins/applyMaterialConfig.js.map +1 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +9 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.js +16 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.js.map +1 -0
- package/loader/plugins/index.d.ts +19 -0
- package/loader/plugins/index.js +44 -0
- package/loader/plugins/index.js.map +1 -0
- package/loader/plugins/loaderPlugin.d.ts +24 -0
- package/loader/plugins/loaderPlugin.js +2 -0
- package/loader/plugins/loaderPlugin.js.map +1 -0
- package/loader/plugins/msftLodLoaderPlugin.d.ts +12 -0
- package/loader/plugins/msftLodLoaderPlugin.js +21 -0
- package/loader/plugins/msftLodLoaderPlugin.js.map +1 -0
- package/loader/plugins/telemetryLoaderPlugin.d.ts +12 -0
- package/loader/plugins/telemetryLoaderPlugin.js +36 -0
- package/loader/plugins/telemetryLoaderPlugin.js.map +1 -0
- package/managers/observablesManager.d.ts +66 -0
- package/managers/observablesManager.js +35 -0
- package/managers/observablesManager.js.map +1 -0
- package/managers/sceneManager.d.ts +245 -0
- package/managers/sceneManager.js +1375 -0
- package/managers/sceneManager.js.map +1 -0
- package/managers/telemetryManager.d.ts +78 -0
- package/managers/telemetryManager.js +117 -0
- package/managers/telemetryManager.js.map +1 -0
- package/model/modelAnimation.d.ts +215 -0
- package/model/modelAnimation.js +237 -0
- package/model/modelAnimation.js.map +1 -0
- package/model/viewerModel.d.ts +233 -0
- package/model/viewerModel.js +673 -0
- package/model/viewerModel.js.map +1 -0
- package/optimizer/custom/extended.d.ts +13 -0
- package/optimizer/custom/extended.js +101 -0
- package/optimizer/custom/extended.js.map +1 -0
- package/optimizer/custom/index.d.ts +9 -0
- package/optimizer/custom/index.js +26 -0
- package/optimizer/custom/index.js.map +1 -0
- package/package.json +28 -19
- package/readme.md +28 -28
- package/renderOnlyIndex.d.ts +11 -0
- package/renderOnlyIndex.js +18 -0
- package/renderOnlyIndex.js.map +1 -0
- package/templating/eventManager.d.ts +35 -0
- package/templating/eventManager.js +66 -0
- package/templating/eventManager.js.map +1 -0
- package/templating/plugins/hdButtonPlugin.d.ts +9 -0
- package/templating/plugins/hdButtonPlugin.js +22 -0
- package/templating/plugins/hdButtonPlugin.js.map +1 -0
- package/templating/plugins/printButton.d.ts +9 -0
- package/templating/plugins/printButton.js +41 -0
- package/templating/plugins/printButton.js.map +1 -0
- package/templating/templateManager.d.ts +197 -0
- package/templating/templateManager.js +561 -0
- package/templating/templateManager.js.map +1 -0
- package/templating/viewerTemplatePlugin.d.ts +21 -0
- package/templating/viewerTemplatePlugin.js +69 -0
- package/templating/viewerTemplatePlugin.js.map +1 -0
- package/viewer/defaultViewer.d.ts +130 -0
- package/viewer/defaultViewer.js +672 -0
- package/viewer/defaultViewer.js.map +1 -0
- package/viewer/renderOnlyViewer.d.ts +9 -0
- package/viewer/renderOnlyViewer.js +46 -0
- package/viewer/renderOnlyViewer.js.map +1 -0
- package/viewer/viewer.d.ts +258 -0
- package/viewer/viewer.js +783 -0
- package/viewer/viewer.js.map +1 -0
- package/viewer/viewerManager.d.ts +58 -0
- package/viewer/viewerManager.js +91 -0
- package/viewer/viewerManager.js.map +1 -0
- package/viewer/viewerWithTemplate.d.ts +9 -0
- package/viewer/viewerWithTemplate.js +20 -0
- package/viewer/viewerWithTemplate.js.map +1 -0
- package/assets/photoStudio.env +0 -0
- package/dist/babylon-viewer.esm.js +0 -2
- package/dist/babylon-viewer.esm.js.map +0 -1
- package/dist/babylon-viewer.esm.min.js +0 -2
- package/dist/babylon-viewer.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_ies-CFzvmxxg.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_ies-CFzvmxxg.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_ies-cyFdY7yl.esm.js +0 -84
- package/dist/chunks/EXT_lights_ies-cyFdY7yl.esm.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-BNmSqx40.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_image_based-BNmSqx40.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-CC48JVU0.esm.js +0 -171
- package/dist/chunks/EXT_lights_image_based-CC48JVU0.esm.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-B2qj3kQu.esm.js +0 -86
- package/dist/chunks/EXT_mesh_gpu_instancing-B2qj3kQu.esm.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-lanrAAoi.esm.min.js +0 -2
- package/dist/chunks/EXT_mesh_gpu_instancing-lanrAAoi.esm.min.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-DjvHx7gJ.esm.js +0 -134
- package/dist/chunks/EXT_meshopt_compression-DjvHx7gJ.esm.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-oH6HzGir.esm.min.js +0 -2
- package/dist/chunks/EXT_meshopt_compression-oH6HzGir.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-BYWETW7-.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_avif-BYWETW7-.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-CKXEq29h.esm.js +0 -44
- package/dist/chunks/EXT_texture_avif-CKXEq29h.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-Dl4GPoEU.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_webp-Dl4GPoEU.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-fAiSgaNl.esm.js +0 -43
- package/dist/chunks/EXT_texture_webp-fAiSgaNl.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-BUQ3X3M6.esm.js +0 -64
- package/dist/chunks/ExtrasAsMetadata-BUQ3X3M6.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-C_M9nxb4.esm.min.js +0 -2
- package/dist/chunks/ExtrasAsMetadata-C_M9nxb4.esm.min.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-BdFZyLUq.esm.js +0 -352
- package/dist/chunks/KHR_animation_pointer-BdFZyLUq.esm.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-CBqZcURZ.esm.min.js +0 -2
- package/dist/chunks/KHR_animation_pointer-CBqZcURZ.esm.min.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-DU2Rk2nj.esm.min.js +0 -2
- package/dist/chunks/KHR_draco_mesh_compression-DU2Rk2nj.esm.min.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-hVF9XuFz.esm.js +0 -610
- package/dist/chunks/KHR_draco_mesh_compression-hVF9XuFz.esm.js.map +0 -1
- package/dist/chunks/KHR_interactivity-COE1p684.esm.min.js +0 -2
- package/dist/chunks/KHR_interactivity-COE1p684.esm.min.js.map +0 -1
- package/dist/chunks/KHR_interactivity-Cv1s_pea.esm.js +0 -4033
- package/dist/chunks/KHR_interactivity-Cv1s_pea.esm.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-CHf5kbKi.esm.js +0 -581
- package/dist/chunks/KHR_lights_punctual-CHf5kbKi.esm.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-DIEAP5SG.esm.min.js +0 -2
- package/dist/chunks/KHR_lights_punctual-DIEAP5SG.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-CU-xxV6y.esm.js +0 -65
- package/dist/chunks/KHR_materials_anisotropy-CU-xxV6y.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-Cq6CU4qW.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_anisotropy-Cq6CU4qW.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-BSjcmIju.esm.js +0 -96
- package/dist/chunks/KHR_materials_clearcoat-BSjcmIju.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-CVNNhJRE.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_clearcoat-CVNNhJRE.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-BDuGIkOh.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_diffuse_transmission-BDuGIkOh.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-BZ-9rJUf.esm.js +0 -97
- package/dist/chunks/KHR_materials_diffuse_transmission-BZ-9rJUf.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-BxiGElVU.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_dispersion-BxiGElVU.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-UI4zH1V_.esm.js +0 -62
- package/dist/chunks/KHR_materials_dispersion-UI4zH1V_.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-BT-Nu60T.esm.js +0 -55
- package/dist/chunks/KHR_materials_emissive_strength-BT-Nu60T.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-CwkVNmN7.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_emissive_strength-CwkVNmN7.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-BGUUe5AW.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_ior-BGUUe5AW.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-BbBQF-yw.esm.js +0 -64
- package/dist/chunks/KHR_materials_ior-BbBQF-yw.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-IFN2ewvr.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_iridescence-IFN2ewvr.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-nLZDN7sc.esm.js +0 -72
- package/dist/chunks/KHR_materials_iridescence-nLZDN7sc.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CyNVQC-W.esm.js +0 -81
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CyNVQC-W.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-zxcydJdp.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-zxcydJdp.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-BWL9yo8Z.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_sheen-BWL9yo8Z.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-DSThWwq2.esm.js +0 -85
- package/dist/chunks/KHR_materials_sheen-DSThWwq2.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-B96NRFEV.esm.js +0 -75
- package/dist/chunks/KHR_materials_specular-B96NRFEV.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-D2JwOdxw.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_specular-D2JwOdxw.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-BvqtJXfD.esm.js +0 -307
- package/dist/chunks/KHR_materials_transmission-BvqtJXfD.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-ljXN4y_0.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_transmission-ljXN4y_0.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-CjGTXU3z.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_unlit-CjGTXU3z.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-ww00IloC.esm.js +0 -74
- package/dist/chunks/KHR_materials_unlit-ww00IloC.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-D0pVU1lm.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_variants-D0pVU1lm.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-D3IDOJfB.esm.js +0 -262
- package/dist/chunks/KHR_materials_variants-D3IDOJfB.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-BfZR8rbr.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_volume-BfZR8rbr.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-CLkC_Bvi.esm.js +0 -87
- package/dist/chunks/KHR_materials_volume-CLkC_Bvi.esm.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-BJv1P2Wt.esm.js +0 -26
- package/dist/chunks/KHR_mesh_quantization-BJv1P2Wt.esm.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-D69X_5bR.esm.min.js +0 -2
- package/dist/chunks/KHR_mesh_quantization-D69X_5bR.esm.min.js.map +0 -1
- package/dist/chunks/KHR_node_hoverability-CG6s7hhs.esm.min.js +0 -2
- package/dist/chunks/KHR_node_hoverability-CG6s7hhs.esm.min.js.map +0 -1
- package/dist/chunks/KHR_node_hoverability-xgvyZ_r-.esm.js +0 -39
- package/dist/chunks/KHR_node_hoverability-xgvyZ_r-.esm.js.map +0 -1
- package/dist/chunks/KHR_node_visibility-DUozjXRR.esm.min.js +0 -2
- package/dist/chunks/KHR_node_visibility-DUozjXRR.esm.min.js.map +0 -1
- package/dist/chunks/KHR_node_visibility-aAs5Kkey.esm.js +0 -46
- package/dist/chunks/KHR_node_visibility-aAs5Kkey.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-Bjw0jG1d.esm.js +0 -43
- package/dist/chunks/KHR_texture_basisu-Bjw0jG1d.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-FWm46QOj.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_basisu-FWm46QOj.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-BZYr2brj.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_transform-BZYr2brj.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-DdsN6SA_.esm.js +0 -63
- package/dist/chunks/KHR_texture_transform-DdsN6SA_.esm.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-DhFD64vh.esm.min.js +0 -2
- package/dist/chunks/KHR_xmp_json_ld-DhFD64vh.esm.min.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-sTn6N13E.esm.js +0 -51
- package/dist/chunks/KHR_xmp_json_ld-sTn6N13E.esm.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-5lrNj8-c.esm.min.js +0 -2
- package/dist/chunks/MSFT_audio_emitter-5lrNj8-c.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-B7RJSCaF.esm.js +0 -2201
- package/dist/chunks/MSFT_audio_emitter-B7RJSCaF.esm.js.map +0 -1
- package/dist/chunks/MSFT_lod-BJBjM7Gp.esm.js +0 -337
- package/dist/chunks/MSFT_lod-BJBjM7Gp.esm.js.map +0 -1
- package/dist/chunks/MSFT_lod-DpEZMnoU.esm.min.js +0 -2
- package/dist/chunks/MSFT_lod-DpEZMnoU.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-CXHPdyar.esm.min.js +0 -2
- package/dist/chunks/MSFT_minecraftMesh-CXHPdyar.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-DRC2tMvY.esm.js +0 -46
- package/dist/chunks/MSFT_minecraftMesh-DRC2tMvY.esm.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-Db1asZRk.esm.js +0 -47
- package/dist/chunks/MSFT_sRGBFactors-Db1asZRk.esm.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-RhAtY3q7.esm.min.js +0 -2
- package/dist/chunks/MSFT_sRGBFactors-RhAtY3q7.esm.min.js.map +0 -1
- package/dist/chunks/animationGroup-CjaFhT87.esm.min.js +0 -2
- package/dist/chunks/animationGroup-CjaFhT87.esm.min.js.map +0 -1
- package/dist/chunks/animationGroup-Ctc6BUYh.esm.js +0 -2482
- package/dist/chunks/animationGroup-Ctc6BUYh.esm.js.map +0 -1
- package/dist/chunks/assetContainer-DDEska5G.esm.min.js +0 -2
- package/dist/chunks/assetContainer-DDEska5G.esm.min.js.map +0 -1
- package/dist/chunks/assetContainer-QD3gUzyx.esm.js +0 -1720
- package/dist/chunks/assetContainer-QD3gUzyx.esm.js.map +0 -1
- package/dist/chunks/audioEngine-C6R2Ow6e.esm.js +0 -305
- package/dist/chunks/audioEngine-C6R2Ow6e.esm.js.map +0 -1
- package/dist/chunks/audioEngine-FKYFzzDb.esm.min.js +0 -2
- package/dist/chunks/audioEngine-FKYFzzDb.esm.min.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-DKR6lpIg.esm.min.js +0 -2
- package/dist/chunks/bakedVertexAnimation-DKR6lpIg.esm.min.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-Hxn22qoJ.esm.js +0 -114
- package/dist/chunks/bakedVertexAnimation-Hxn22qoJ.esm.js.map +0 -1
- package/dist/chunks/basisTextureLoader-BcNAHqjw.esm.min.js +0 -2
- package/dist/chunks/basisTextureLoader-BcNAHqjw.esm.min.js.map +0 -1
- package/dist/chunks/basisTextureLoader-Dr2d0ez5.esm.js +0 -600
- package/dist/chunks/basisTextureLoader-Dr2d0ez5.esm.js.map +0 -1
- package/dist/chunks/dds-CFrq_XFM.esm.js +0 -540
- package/dist/chunks/dds-CFrq_XFM.esm.js.map +0 -1
- package/dist/chunks/dds-D1NTXLIL.esm.min.js +0 -2
- package/dist/chunks/dds-D1NTXLIL.esm.min.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-DbvffCUa.esm.min.js +0 -2
- package/dist/chunks/ddsTextureLoader-DbvffCUa.esm.min.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-wyjUdBoO.esm.js +0 -88
- package/dist/chunks/ddsTextureLoader-wyjUdBoO.esm.js.map +0 -1
- package/dist/chunks/decalFragment-CGto5zyq.esm.js +0 -18
- package/dist/chunks/decalFragment-CGto5zyq.esm.js.map +0 -1
- package/dist/chunks/decalFragment-CU64C8uG.esm.min.js +0 -2
- package/dist/chunks/decalFragment-CU64C8uG.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-B2bhCC4E.esm.js +0 -446
- package/dist/chunks/default.fragment-B2bhCC4E.esm.js.map +0 -1
- package/dist/chunks/default.fragment-Boq79lom.esm.min.js +0 -2
- package/dist/chunks/default.fragment-Boq79lom.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-CluFtXFp.esm.min.js +0 -2
- package/dist/chunks/default.fragment-CluFtXFp.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-Dshl5Uqc.esm.js +0 -515
- package/dist/chunks/default.fragment-Dshl5Uqc.esm.js.map +0 -1
- package/dist/chunks/default.vertex-BAAgCiYo.esm.min.js +0 -2
- package/dist/chunks/default.vertex-BAAgCiYo.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-BhOIicZW.esm.min.js +0 -2
- package/dist/chunks/default.vertex-BhOIicZW.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-DL7IogGB.esm.js +0 -211
- package/dist/chunks/default.vertex-DL7IogGB.esm.js.map +0 -1
- package/dist/chunks/default.vertex-DOXcZEQ0.esm.js +0 -190
- package/dist/chunks/default.vertex-DOXcZEQ0.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-1qBz6EuF.esm.js +0 -15
- package/dist/chunks/defaultUboDeclaration-1qBz6EuF.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-B9LzMzlw.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-B9LzMzlw.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-CXdodf7i.esm.js +0 -13
- package/dist/chunks/defaultUboDeclaration-CXdodf7i.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-CZlCaxgu.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-CZlCaxgu.esm.min.js.map +0 -1
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +0 -11
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +0 -1
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +0 -2
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +0 -1
- package/dist/chunks/dumpTools-C3vcqEdz.esm.js +0 -200
- package/dist/chunks/dumpTools-C3vcqEdz.esm.js.map +0 -1
- package/dist/chunks/dumpTools-C8ZzlWEh.esm.min.js +0 -2
- package/dist/chunks/dumpTools-C8ZzlWEh.esm.min.js.map +0 -1
- package/dist/chunks/engine-_wVL12I1.esm.js +0 -2213
- package/dist/chunks/engine-_wVL12I1.esm.js.map +0 -1
- package/dist/chunks/engine-nCWszV_w.esm.min.js +0 -2
- package/dist/chunks/engine-nCWszV_w.esm.min.js.map +0 -1
- package/dist/chunks/engine.common-BuPfo1Wj.esm.min.js +0 -2
- package/dist/chunks/engine.common-BuPfo1Wj.esm.min.js.map +0 -1
- package/dist/chunks/engine.common-CT5iq3ZT.esm.js +0 -1162
- package/dist/chunks/engine.common-CT5iq3ZT.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-D7L0fVXR.esm.min.js +0 -2
- package/dist/chunks/envTextureLoader-D7L0fVXR.esm.min.js.map +0 -1
- package/dist/chunks/envTextureLoader-PtuRNDrr.esm.js +0 -64
- package/dist/chunks/envTextureLoader-PtuRNDrr.esm.js.map +0 -1
- package/dist/chunks/environmentTextureTools-BjmCbfSf.esm.min.js +0 -2
- package/dist/chunks/environmentTextureTools-BjmCbfSf.esm.min.js.map +0 -1
- package/dist/chunks/environmentTextureTools-DYbFmR95.esm.js +0 -382
- package/dist/chunks/environmentTextureTools-DYbFmR95.esm.js.map +0 -1
- package/dist/chunks/exrTextureLoader-BIPK0bPG.esm.min.js +0 -2
- package/dist/chunks/exrTextureLoader-BIPK0bPG.esm.min.js.map +0 -1
- package/dist/chunks/exrTextureLoader-CEhv_7O9.esm.js +0 -1683
- package/dist/chunks/exrTextureLoader-CEhv_7O9.esm.js.map +0 -1
- package/dist/chunks/fogFragment-B7_evZbY.esm.js +0 -102
- package/dist/chunks/fogFragment-B7_evZbY.esm.js.map +0 -1
- package/dist/chunks/fogFragment-CoZPb7oI.esm.min.js +0 -2
- package/dist/chunks/fogFragment-CoZPb7oI.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-DSO97-dc.esm.min.js +0 -2
- package/dist/chunks/fogFragment-DSO97-dc.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-wY2jQ7fb.esm.js +0 -101
- package/dist/chunks/fogFragment-wY2jQ7fb.esm.js.map +0 -1
- package/dist/chunks/fresnelFunction-BSEp5SCT.esm.js +0 -12
- package/dist/chunks/fresnelFunction-BSEp5SCT.esm.js.map +0 -1
- package/dist/chunks/fresnelFunction-Cg-NNSrz.esm.min.js +0 -2
- package/dist/chunks/fresnelFunction-Cg-NNSrz.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoader-3ZUBWawQ.esm.min.js +0 -2
- package/dist/chunks/glTFLoader-3ZUBWawQ.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoader-DVoAJl_A.esm.js +0 -7658
- package/dist/chunks/glTFLoader-DVoAJl_A.esm.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-By7yP8sQ.esm.js +0 -77
- package/dist/chunks/glTFLoaderAnimation-By7yP8sQ.esm.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-C9g-SHaJ.esm.min.js +0 -2
- package/dist/chunks/glTFLoaderAnimation-C9g-SHaJ.esm.min.js.map +0 -1
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-B8pgRSdd.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-B8pgRSdd.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-BcfkM4gb.esm.js +0 -35
- package/dist/chunks/harmonicsFunctions-BcfkM4gb.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-DF1x585z.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-DF1x585z.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-a48Ki58F.esm.js +0 -34
- package/dist/chunks/harmonicsFunctions-a48Ki58F.esm.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-BWnO8u1r.esm.js +0 -253
- package/dist/chunks/hdrTextureLoader-BWnO8u1r.esm.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-Bii9QpYI.esm.min.js +0 -2
- package/dist/chunks/hdrTextureLoader-Bii9QpYI.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-BinFB44e.esm.js +0 -110
- package/dist/chunks/helperFunctions-BinFB44e.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-CZAyJNTJ.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-CZAyJNTJ.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-DjoUVhI2.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-DjoUVhI2.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-Ds3-3-tu.esm.js +0 -83
- package/dist/chunks/helperFunctions-Ds3-3-tu.esm.js.map +0 -1
- package/dist/chunks/iesTextureLoader-CsnjIN7M.esm.js +0 -189
- package/dist/chunks/iesTextureLoader-CsnjIN7M.esm.js.map +0 -1
- package/dist/chunks/iesTextureLoader-DkmTomCD.esm.min.js +0 -2
- package/dist/chunks/iesTextureLoader-DkmTomCD.esm.min.js.map +0 -1
- package/dist/chunks/index-Cw2FZpYY.esm.js +0 -74870
- package/dist/chunks/index-Cw2FZpYY.esm.js.map +0 -1
- package/dist/chunks/index-DRbhrB0j.esm.min.js +0 -57
- package/dist/chunks/index-DRbhrB0j.esm.min.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-B4pmAFQl.esm.js +0 -814
- package/dist/chunks/ktxTextureLoader-B4pmAFQl.esm.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-B8Rlj2T0.esm.min.js +0 -2
- package/dist/chunks/ktxTextureLoader-B8Rlj2T0.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CGz2sG_K.esm.js +0 -11
- package/dist/chunks/logDepthDeclaration-CGz2sG_K.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CfVFs2QC.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-CfVFs2QC.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CzVshpad.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-CzVshpad.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-xOwnAKtd.esm.js +0 -35
- package/dist/chunks/logDepthDeclaration-xOwnAKtd.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-BRgUZAsw.esm.js +0 -81
- package/dist/chunks/logDepthVertex-BRgUZAsw.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-CWfPfN9-.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-CWfPfN9-.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-HDlt7vTP.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-HDlt7vTP.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-l0uEG89p.esm.js +0 -77
- package/dist/chunks/logDepthVertex-l0uEG89p.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-B72zV2P9.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-B72zV2P9.esm.min.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-BDogjZrz.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-BDogjZrz.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-DO5HJKyl.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-DO5HJKyl.esm.min.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-DqzNajlu.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-DqzNajlu.esm.js.map +0 -1
- package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js +0 -119
- package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js.map +0 -1
- package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js +0 -2
- package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-BCO87lfZ.esm.js +0 -26
- package/dist/chunks/meshUboDeclaration-BCO87lfZ.esm.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-o4Xf2fwW.esm.min.js +0 -2
- package/dist/chunks/meshUboDeclaration-o4Xf2fwW.esm.min.js.map +0 -1
- package/dist/chunks/objFileLoader-BfPYM2Sh.esm.min.js +0 -2
- package/dist/chunks/objFileLoader-BfPYM2Sh.esm.min.js.map +0 -1
- package/dist/chunks/objFileLoader-D1emf4Qh.esm.js +0 -1338
- package/dist/chunks/objFileLoader-D1emf4Qh.esm.js.map +0 -1
- package/dist/chunks/oitFragment-B92YpEfj.esm.min.js +0 -2
- package/dist/chunks/oitFragment-B92YpEfj.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-BoFKkDNv.esm.js +0 -1078
- package/dist/chunks/oitFragment-BoFKkDNv.esm.js.map +0 -1
- package/dist/chunks/oitFragment-Cfx3g0iX.esm.js +0 -1240
- package/dist/chunks/oitFragment-Cfx3g0iX.esm.js.map +0 -1
- package/dist/chunks/oitFragment-CiA7gld-.esm.min.js +0 -2
- package/dist/chunks/oitFragment-CiA7gld-.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-BLbIViJ7.esm.js +0 -15
- package/dist/chunks/pass.fragment-BLbIViJ7.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-BqMk9ouF.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-BqMk9ouF.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-BuVDFNSR.esm.js +0 -15
- package/dist/chunks/pass.fragment-BuVDFNSR.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-cM5FBHLm.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-cM5FBHLm.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-5L_F7nGn.esm.js +0 -3222
- package/dist/chunks/pbr.fragment-5L_F7nGn.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-BJNPHSa-.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-BJNPHSa-.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-CTLrOzV2.esm.js +0 -3269
- package/dist/chunks/pbr.fragment-CTLrOzV2.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-D9MJFOr2.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-D9MJFOr2.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-BJyjq_fb.esm.js +0 -223
- package/dist/chunks/pbr.vertex-BJyjq_fb.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-Bm8Ng4Sx.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-Bm8Ng4Sx.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-CAKPUhfb.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-CAKPUhfb.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-DJd_-MvE.esm.js +0 -348
- package/dist/chunks/pbr.vertex-DJd_-MvE.esm.js.map +0 -1
- package/dist/chunks/postprocess.vertex-BjRX5eGi.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-BjRX5eGi.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-CFaKNIU-.esm.js +0 -20
- package/dist/chunks/postprocess.vertex-CFaKNIU-.esm.js.map +0 -1
- package/dist/chunks/rawTexture-ByD8l28R.esm.min.js +0 -2
- package/dist/chunks/rawTexture-ByD8l28R.esm.min.js.map +0 -1
- package/dist/chunks/rawTexture-DGz22uaX.esm.js +0 -191
- package/dist/chunks/rawTexture-DGz22uaX.esm.js.map +0 -1
- package/dist/chunks/ray-ByafiITx.esm.js +0 -946
- package/dist/chunks/ray-ByafiITx.esm.js.map +0 -1
- package/dist/chunks/ray-ChSTYrPm.esm.min.js +0 -2
- package/dist/chunks/ray-ChSTYrPm.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-CJ7PpH1N.esm.js +0 -13
- package/dist/chunks/rgbdDecode.fragment-CJ7PpH1N.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-DJ9crbPP.esm.js +0 -13
- package/dist/chunks/rgbdDecode.fragment-DJ9crbPP.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-DLpb3z18.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-DLpb3z18.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-ygeOUzIi.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-ygeOUzIi.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-BTG_wbck.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-BTG_wbck.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-C2s4AQaM.esm.js +0 -13
- package/dist/chunks/rgbdEncode.fragment-C2s4AQaM.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-C6LKySQH.esm.js +0 -13
- package/dist/chunks/rgbdEncode.fragment-C6LKySQH.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-CKB2lpgL.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-CKB2lpgL.esm.min.js.map +0 -1
- package/dist/chunks/splatFileLoader-BtSUlfZs.esm.min.js +0 -2
- package/dist/chunks/splatFileLoader-BtSUlfZs.esm.min.js.map +0 -1
- package/dist/chunks/splatFileLoader-Wn5sDtLq.esm.js +0 -3379
- package/dist/chunks/splatFileLoader-Wn5sDtLq.esm.js.map +0 -1
- package/dist/chunks/spotLight-CmDQEB8V.esm.js +0 -701
- package/dist/chunks/spotLight-CmDQEB8V.esm.js.map +0 -1
- package/dist/chunks/spotLight-hg94aMJD.esm.min.js +0 -2
- package/dist/chunks/spotLight-hg94aMJD.esm.min.js.map +0 -1
- package/dist/chunks/standardMaterial-BhIiLn1_.esm.js +0 -1806
- package/dist/chunks/standardMaterial-BhIiLn1_.esm.js.map +0 -1
- package/dist/chunks/standardMaterial-DQii8fRL.esm.min.js +0 -2
- package/dist/chunks/standardMaterial-DQii8fRL.esm.min.js.map +0 -1
- package/dist/chunks/stlFileLoader-D83u9BOr.esm.js +0 -238
- package/dist/chunks/stlFileLoader-D83u9BOr.esm.js.map +0 -1
- package/dist/chunks/stlFileLoader-DkXWqjZo.esm.min.js +0 -2
- package/dist/chunks/stlFileLoader-DkXWqjZo.esm.min.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-C9xl6cvE.esm.js +0 -349
- package/dist/chunks/tgaTextureLoader-C9xl6cvE.esm.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-DfzjGulW.esm.min.js +0 -2
- package/dist/chunks/tgaTextureLoader-DfzjGulW.esm.min.js.map +0 -1
- package/dist/chunks/thinEngine-Cu21aOSC.esm.min.js +0 -2
- package/dist/chunks/thinEngine-Cu21aOSC.esm.min.js.map +0 -1
- package/dist/chunks/thinEngine-IzS60pqU.esm.js +0 -3853
- package/dist/chunks/thinEngine-IzS60pqU.esm.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-BN8Ev-h8.esm.js +0 -314
- package/dist/chunks/thinInstanceMesh-BN8Ev-h8.esm.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-Bm9vmKU4.esm.min.js +0 -2
- package/dist/chunks/thinInstanceMesh-Bm9vmKU4.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-Cazf4vEl.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-Cazf4vEl.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-DGvq3Fju.esm.js +0 -421
- package/dist/chunks/vertexColorMixing-DGvq3Fju.esm.js.map +0 -1
- package/dist/chunks/vertexColorMixing-D_6ZvivZ.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-D_6ZvivZ.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-DuYHnuUm.esm.js +0 -531
- package/dist/chunks/vertexColorMixing-DuYHnuUm.esm.js.map +0 -1
- package/dist/chunks/webgpuEngine-DHaXinU4.esm.min.js +0 -2
- package/dist/chunks/webgpuEngine-DHaXinU4.esm.min.js.map +0 -1
- package/dist/chunks/webgpuEngine-Dxev7pbz.esm.js +0 -11538
- package/dist/chunks/webgpuEngine-Dxev7pbz.esm.js.map +0 -1
- package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
- package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
- package/lib/index.d.ts +0 -591
- package/lib/index.js +0 -2165
- package/lib/index.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{D as e,b0 as t,A as r,n as s,b1 as i,L as _,b2 as n,C as a,r as l,b3 as h,b4 as E,b5 as o,b6 as T,b7 as u,b8 as R,b9 as c,ba as g,bb as f,I as d,bc as A,H as p,G as x,bd as S,p as b}from"./index-DRbhrB0j.esm.min.js";import{I as m}from"./drawWrapper.functions-ng7lvueZ.esm.min.js";class I{constructor(){this.shaderLanguage=0}postProcessor(e,t,r,s,i){if(i.drawBuffersExtensionDisabled){const t=/#extension.+GL_EXT_draw_buffers.+(enable|require)/g;e=e.replace(t,"")}return e}}const M=/(flat\s)?\s*varying\s*.*/;class B{constructor(){this.shaderLanguage=0}attributeProcessor(e){return e.replace("attribute","in")}varyingCheck(e,t){return M.test(e)}varyingProcessor(e,t){return e.replace("varying",t?"in":"out")}postProcessor(e,t,r){const s=-1!==e.search(/#extension.+GL_EXT_draw_buffers.+require/);if(e=(e=e.replace(/#extension.+(GL_OVR_multiview2|GL_OES_standard_derivatives|GL_EXT_shader_texture_lod|GL_EXT_frag_depth|GL_EXT_draw_buffers).+(enable|require)/g,"")).replace(/texture2D\s*\(/g,"texture("),r){const t=-1!==e.search(/layout *\(location *= *0\) *out/g);e=(e=(e=(e=(e=(e=(e=e.replace(/texture2DLodEXT\s*\(/g,"textureLod(")).replace(/textureCubeLodEXT\s*\(/g,"textureLod(")).replace(/textureCube\s*\(/g,"texture(")).replace(/gl_FragDepthEXT/g,"gl_FragDepth")).replace(/gl_FragColor/g,"glFragColor")).replace(/gl_FragData/g,"glFragData")).replace(/void\s+?main\s*\(/g,(s||t?"":"layout(location = 0) out vec4 glFragColor;\n")+"void main(")}else{if(-1!==t.indexOf("#define MULTIVIEW"))return"#extension GL_OVR_multiview2 : require\nlayout (num_views = 2) in;\n"+e}return e}}class U extends e{constructor(e){super(),this._buffer=e}get underlyingResource(){return this._buffer}}class F{get underlyingResource(){return this._webGLTexture}constructor(e=null,t){if(this._MSAARenderBuffers=null,this._context=t,!e&&!(e=t.createTexture()))throw new Error("Unable to create webGL texture");this.set(e)}setUsage(){}set(e){this._webGLTexture=e}reset(){this._webGLTexture=null,this._MSAARenderBuffers=null}addMSAARenderBuffer(e){this._MSAARenderBuffers||(this._MSAARenderBuffers=[]),this._MSAARenderBuffers.push(e)}releaseMSAARenderBuffers(){if(this._MSAARenderBuffers){for(const e of this._MSAARenderBuffers)this._context.deleteRenderbuffer(e);this._MSAARenderBuffers=null}}getMSAARenderBuffer(e=0){return this._MSAARenderBuffers?.[e]??null}release(){this.releaseMSAARenderBuffers(),this._webGLTexture&&this._context.deleteTexture(this._webGLTexture),this.reset()}}class G{}class N extends r{get name(){return this._name}set name(e){this._name=e}get version(){return this._webGLVersion}static get ShadersRepository(){return s.ShadersRepository}static set ShadersRepository(e){s.ShadersRepository=e}get supportsUniformBuffers(){return this.webGLVersion>1&&!this.disableUniformBuffers}get needPOTTextures(){return this._webGLVersion<2||this.forcePOTTextures}get _supportsHardwareTextureRescaling(){return!1}set framebufferDimensionsObject(e){this._framebufferDimensionsObject=e}snapshotRenderingReset(){this.snapshotRendering=!1}constructor(e,t,r,s){if(r=r||{},super(t??r.antialias,r,s),this._name="WebGL",this.forcePOTTextures=!1,this.validateShaderPrograms=!1,this.disableUniformBuffers=!1,this._webGLVersion=1,this._vertexAttribArraysEnabled=[],this._uintIndicesCurrentlySet=!1,this._currentBoundBuffer=new Array,this._currentFramebuffer=null,this._dummyFramebuffer=null,this._currentBufferPointers=new Array,this._currentInstanceLocations=new Array,this._currentInstanceBuffers=new Array,this._vaoRecordInProgress=!1,this._mustWipeVertexAttributes=!1,this._nextFreeTextureSlots=new Array,this._maxSimultaneousTextures=0,this._maxMSAASamplesOverride=null,this._unpackFlipYCached=null,this.enableUnpackFlipYCached=!0,this._boundUniforms={},!e)return;let a=null;if(e.getContext){if(a=e,void 0===r.preserveDrawingBuffer&&(r.preserveDrawingBuffer=!1),void 0===r.xrCompatible&&(r.xrCompatible=!1),navigator&&navigator.userAgent){this._setupMobileChecks();const e=navigator.userAgent;for(const t of N.ExceptionList){const s=t.key,i=t.targets;if(new RegExp(s).test(e)){if(t.capture&&t.captureConstraint){const r=t.capture,s=t.captureConstraint,i=new RegExp(r).exec(e);if(i&&i.length>0){if(parseInt(i[i.length-1])>=s)continue}}for(const e of i)switch(e){case"uniformBuffer":this.disableUniformBuffers=!0;break;case"vao":this.disableVertexArrayObjects=!0;break;case"antialias":r.antialias=!1;break;case"maxMSAASamples":this._maxMSAASamplesOverride=1}}}}if(this._doNotHandleContextLost?this._onContextLost=()=>{i(this._gl)}:(this._onContextLost=e=>{e.preventDefault(),this._contextWasLost=!0,i(this._gl),_.Warn("WebGL context lost."),this.onContextLostObservable.notifyObservers(this)},this._onContextRestored=()=>{this._restoreEngineAfterContextLost((()=>this._initGLContext()))},a.addEventListener("webglcontextrestored",this._onContextRestored,!1),r.powerPreference=r.powerPreference||"high-performance"),a.addEventListener("webglcontextlost",this._onContextLost,!1),this._badDesktopOS&&(r.xrCompatible=!1),!r.disableWebGL2Support)try{this._gl=a.getContext("webgl2",r)||a.getContext("experimental-webgl2",r),this._gl&&(this._webGLVersion=2,this._shaderPlatformName="WEBGL2",this._gl.deleteQuery||(this._webGLVersion=1,this._shaderPlatformName="WEBGL1"))}catch(e){}if(!this._gl){if(!a)throw new Error("The provided canvas is null or undefined.");try{this._gl=a.getContext("webgl",r)||a.getContext("experimental-webgl",r)}catch(e){throw new Error("WebGL not supported")}}if(!this._gl)throw new Error("WebGL not supported")}else{this._gl=e,a=this._gl.canvas,this._gl.renderbufferStorageMultisample?(this._webGLVersion=2,this._shaderPlatformName="WEBGL2"):this._shaderPlatformName="WEBGL1";const t=this._gl.getContextAttributes();t&&(r.stencil=t.stencil)}this._sharedInit(a),this._gl.pixelStorei(this._gl.UNPACK_COLORSPACE_CONVERSION_WEBGL,this._gl.NONE),void 0!==r.useHighPrecisionFloats&&(this._highPrecisionShadersAllowed=r.useHighPrecisionFloats),this.resize(),this._initGLContext(),this._initFeatures();for(let e=0;e<this._caps.maxVertexAttribs;e++)this._currentBufferPointers[e]=new G;this._shaderProcessor=this.webGLVersion>1?new B:new I;const l=`Babylon.js v${N.Version}`;_.Log(l+` - ${this.description}`),this._renderingCanvas&&this._renderingCanvas.setAttribute&&this._renderingCanvas.setAttribute("data-engine",l);const h=n(this._gl);h.validateShaderPrograms=this.validateShaderPrograms,h.parallelShaderCompile=this._caps.parallelShaderCompile}_clearEmptyResources(){this._dummyFramebuffer=null,super._clearEmptyResources()}_getShaderProcessingContext(e){return null}areAllEffectsReady(){for(const e in this._compiledEffects){if(!this._compiledEffects[e].isReady())return!1}return!0}_initGLContext(){this._caps={maxTexturesImageUnits:this._gl.getParameter(this._gl.MAX_TEXTURE_IMAGE_UNITS),maxCombinedTexturesImageUnits:this._gl.getParameter(this._gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS),maxVertexTextureImageUnits:this._gl.getParameter(this._gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxTextureSize:this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE),maxSamples:this._webGLVersion>1?this._gl.getParameter(this._gl.MAX_SAMPLES):1,maxCubemapTextureSize:this._gl.getParameter(this._gl.MAX_CUBE_MAP_TEXTURE_SIZE),maxRenderTextureSize:this._gl.getParameter(this._gl.MAX_RENDERBUFFER_SIZE),maxVertexAttribs:this._gl.getParameter(this._gl.MAX_VERTEX_ATTRIBS),maxVaryingVectors:this._gl.getParameter(this._gl.MAX_VARYING_VECTORS),maxFragmentUniformVectors:this._gl.getParameter(this._gl.MAX_FRAGMENT_UNIFORM_VECTORS),maxVertexUniformVectors:this._gl.getParameter(this._gl.MAX_VERTEX_UNIFORM_VECTORS),parallelShaderCompile:this._gl.getExtension("KHR_parallel_shader_compile")||void 0,standardDerivatives:this._webGLVersion>1||null!==this._gl.getExtension("OES_standard_derivatives"),maxAnisotropy:1,astc:this._gl.getExtension("WEBGL_compressed_texture_astc")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_astc"),bptc:this._gl.getExtension("EXT_texture_compression_bptc")||this._gl.getExtension("WEBKIT_EXT_texture_compression_bptc"),s3tc:this._gl.getExtension("WEBGL_compressed_texture_s3tc")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc"),s3tc_srgb:this._gl.getExtension("WEBGL_compressed_texture_s3tc_srgb")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc_srgb"),pvrtc:this._gl.getExtension("WEBGL_compressed_texture_pvrtc")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),etc1:this._gl.getExtension("WEBGL_compressed_texture_etc1")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_etc1"),etc2:this._gl.getExtension("WEBGL_compressed_texture_etc")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_etc")||this._gl.getExtension("WEBGL_compressed_texture_es3_0"),textureAnisotropicFilterExtension:this._gl.getExtension("EXT_texture_filter_anisotropic")||this._gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic")||this._gl.getExtension("MOZ_EXT_texture_filter_anisotropic"),uintIndices:this._webGLVersion>1||null!==this._gl.getExtension("OES_element_index_uint"),fragmentDepthSupported:this._webGLVersion>1||null!==this._gl.getExtension("EXT_frag_depth"),highPrecisionShaderSupported:!1,timerQuery:this._gl.getExtension("EXT_disjoint_timer_query_webgl2")||this._gl.getExtension("EXT_disjoint_timer_query"),supportOcclusionQuery:this._webGLVersion>1,canUseTimestampForTimerQuery:!1,drawBuffersExtension:!1,maxMSAASamples:1,colorBufferFloat:!!(this._webGLVersion>1&&this._gl.getExtension("EXT_color_buffer_float")),supportFloatTexturesResolve:!1,rg11b10ufColorRenderable:!1,colorBufferHalfFloat:!!(this._webGLVersion>1&&this._gl.getExtension("EXT_color_buffer_half_float")),textureFloat:!!(this._webGLVersion>1||this._gl.getExtension("OES_texture_float")),textureHalfFloat:!!(this._webGLVersion>1||this._gl.getExtension("OES_texture_half_float")),textureHalfFloatRender:!1,textureFloatLinearFiltering:!1,textureFloatRender:!1,textureHalfFloatLinearFiltering:!1,vertexArrayObject:!1,instancedArrays:!1,textureLOD:!!(this._webGLVersion>1||this._gl.getExtension("EXT_shader_texture_lod")),texelFetch:1!==this._webGLVersion,blendMinMax:!1,multiview:this._gl.getExtension("OVR_multiview2"),oculusMultiview:this._gl.getExtension("OCULUS_multiview"),depthTextureExtension:!1,canUseGLInstanceID:this._webGLVersion>1,canUseGLVertexID:this._webGLVersion>1,supportComputeShaders:!1,supportSRGBBuffers:!1,supportTransformFeedbacks:this._webGLVersion>1,textureMaxLevel:this._webGLVersion>1,texture2DArrayMaxLayerCount:this._webGLVersion>1?this._gl.getParameter(this._gl.MAX_ARRAY_TEXTURE_LAYERS):128,disableMorphTargetTexture:!1,textureNorm16:!!this._gl.getExtension("EXT_texture_norm16")},this._caps.supportFloatTexturesResolve=this._caps.colorBufferFloat,this._caps.rg11b10ufColorRenderable=this._caps.colorBufferFloat,this._glVersion=this._gl.getParameter(this._gl.VERSION);const e=this._gl.getExtension("WEBGL_debug_renderer_info");if(null!=e&&(this._glRenderer=this._gl.getParameter(e.UNMASKED_RENDERER_WEBGL),this._glVendor=this._gl.getParameter(e.UNMASKED_VENDOR_WEBGL)),this._glVendor||(this._glVendor=this._gl.getParameter(this._gl.VENDOR)||"Unknown vendor"),this._glRenderer||(this._glRenderer=this._gl.getParameter(this._gl.RENDERER)||"Unknown renderer"),36193!==this._gl.HALF_FLOAT_OES&&(this._gl.HALF_FLOAT_OES=36193),34842!==this._gl.RGBA16F&&(this._gl.RGBA16F=34842),34836!==this._gl.RGBA32F&&(this._gl.RGBA32F=34836),35056!==this._gl.DEPTH24_STENCIL8&&(this._gl.DEPTH24_STENCIL8=35056),this._caps.timerQuery&&(1===this._webGLVersion&&(this._gl.getQuery=this._caps.timerQuery.getQueryEXT.bind(this._caps.timerQuery)),this._caps.canUseTimestampForTimerQuery=(this._gl.getQuery(this._caps.timerQuery.TIMESTAMP_EXT,this._caps.timerQuery.QUERY_COUNTER_BITS_EXT)??0)>0),this._caps.maxAnisotropy=this._caps.textureAnisotropicFilterExtension?this._gl.getParameter(this._caps.textureAnisotropicFilterExtension.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,this._caps.textureFloatLinearFiltering=!(!this._caps.textureFloat||!this._gl.getExtension("OES_texture_float_linear")),this._caps.textureFloatRender=!(!this._caps.textureFloat||!this._canRenderToFloatFramebuffer()),this._caps.textureHalfFloatLinearFiltering=!!(this._webGLVersion>1||this._caps.textureHalfFloat&&this._gl.getExtension("OES_texture_half_float_linear")),this._caps.textureNorm16&&(this._gl.R16_EXT=33322,this._gl.RG16_EXT=33324,this._gl.RGB16_EXT=32852,this._gl.RGBA16_EXT=32859,this._gl.R16_SNORM_EXT=36760,this._gl.RG16_SNORM_EXT=36761,this._gl.RGB16_SNORM_EXT=36762,this._gl.RGBA16_SNORM_EXT=36763),this._caps.astc&&(this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR),this._caps.bptc&&(this._gl.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=this._caps.bptc.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT),this._caps.s3tc_srgb&&(this._gl.COMPRESSED_SRGB_S3TC_DXT1_EXT=this._caps.s3tc_srgb.COMPRESSED_SRGB_S3TC_DXT1_EXT,this._gl.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=this._caps.s3tc_srgb.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,this._gl.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=this._caps.s3tc_srgb.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT),this._caps.etc2&&(this._gl.COMPRESSED_SRGB8_ETC2=this._caps.etc2.COMPRESSED_SRGB8_ETC2,this._gl.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=this._caps.etc2.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC),this._webGLVersion>1&&5131!==this._gl.HALF_FLOAT_OES&&(this._gl.HALF_FLOAT_OES=5131),this._caps.textureHalfFloatRender=this._caps.textureHalfFloat&&this._canRenderToHalfFloatFramebuffer(),this._webGLVersion>1)this._caps.drawBuffersExtension=!0,this._caps.maxMSAASamples=null!==this._maxMSAASamplesOverride?this._maxMSAASamplesOverride:this._gl.getParameter(this._gl.MAX_SAMPLES),this._caps.maxDrawBuffers=this._gl.getParameter(this._gl.MAX_DRAW_BUFFERS);else{const e=this._gl.getExtension("WEBGL_draw_buffers");if(null!==e){this._caps.drawBuffersExtension=!0,this._gl.drawBuffers=e.drawBuffersWEBGL.bind(e),this._caps.maxDrawBuffers=this._gl.getParameter(e.MAX_DRAW_BUFFERS_WEBGL),this._gl.DRAW_FRAMEBUFFER=this._gl.FRAMEBUFFER;for(let t=0;t<16;t++)this._gl["COLOR_ATTACHMENT"+t+"_WEBGL"]=e["COLOR_ATTACHMENT"+t+"_WEBGL"]}}if(this._webGLVersion>1)this._caps.depthTextureExtension=!0;else{const e=this._gl.getExtension("WEBGL_depth_texture");null!=e&&(this._caps.depthTextureExtension=!0,this._gl.UNSIGNED_INT_24_8=e.UNSIGNED_INT_24_8_WEBGL)}if(this.disableVertexArrayObjects)this._caps.vertexArrayObject=!1;else if(this._webGLVersion>1)this._caps.vertexArrayObject=!0;else{const e=this._gl.getExtension("OES_vertex_array_object");null!=e&&(this._caps.vertexArrayObject=!0,this._gl.createVertexArray=e.createVertexArrayOES.bind(e),this._gl.bindVertexArray=e.bindVertexArrayOES.bind(e),this._gl.deleteVertexArray=e.deleteVertexArrayOES.bind(e))}if(this._webGLVersion>1)this._caps.instancedArrays=!0;else{const e=this._gl.getExtension("ANGLE_instanced_arrays");null!=e?(this._caps.instancedArrays=!0,this._gl.drawArraysInstanced=e.drawArraysInstancedANGLE.bind(e),this._gl.drawElementsInstanced=e.drawElementsInstancedANGLE.bind(e),this._gl.vertexAttribDivisor=e.vertexAttribDivisorANGLE.bind(e)):this._caps.instancedArrays=!1}if(this._gl.getShaderPrecisionFormat){const e=this._gl.getShaderPrecisionFormat(this._gl.VERTEX_SHADER,this._gl.HIGH_FLOAT),t=this._gl.getShaderPrecisionFormat(this._gl.FRAGMENT_SHADER,this._gl.HIGH_FLOAT);e&&t&&(this._caps.highPrecisionShaderSupported=0!==e.precision&&0!==t.precision)}if(this._webGLVersion>1)this._caps.blendMinMax=!0;else{const e=this._gl.getExtension("EXT_blend_minmax");null!=e&&(this._caps.blendMinMax=!0,this._gl.MAX=e.MAX_EXT,this._gl.MIN=e.MIN_EXT)}if(!this._caps.supportSRGBBuffers){if(this._webGLVersion>1)this._caps.supportSRGBBuffers=!0,this._glSRGBExtensionValues={SRGB:WebGL2RenderingContext.SRGB,SRGB8:WebGL2RenderingContext.SRGB8,SRGB8_ALPHA8:WebGL2RenderingContext.SRGB8_ALPHA8};else{const e=this._gl.getExtension("EXT_sRGB");null!=e&&(this._caps.supportSRGBBuffers=!0,this._glSRGBExtensionValues={SRGB:e.SRGB_EXT,SRGB8:e.SRGB_ALPHA_EXT,SRGB8_ALPHA8:e.SRGB_ALPHA_EXT})}if(this._creationOptions){const e=this._creationOptions.forceSRGBBufferSupportState;void 0!==e&&(this._caps.supportSRGBBuffers=this._caps.supportSRGBBuffers&&e)}}this._depthCullingState.depthTest=!0,this._depthCullingState.depthFunc=this._gl.LEQUAL,this._depthCullingState.depthMask=!0,this._maxSimultaneousTextures=this._caps.maxCombinedTexturesImageUnits;for(let e=0;e<this._maxSimultaneousTextures;e++)this._nextFreeTextureSlots.push(e);"Mali-G72"===this._glRenderer&&(this._caps.disableMorphTargetTexture=!0)}_initFeatures(){this._features={forceBitmapOverHTMLImageElement:"undefined"==typeof HTMLImageElement,supportRenderAndCopyToLodForFloatTextures:1!==this._webGLVersion,supportDepthStencilTexture:1!==this._webGLVersion,supportShadowSamplers:1!==this._webGLVersion,uniformBufferHardCheckMatrix:!1,allowTexturePrefiltering:1!==this._webGLVersion,trackUbosInFrame:!1,checkUbosContentBeforeUpload:!1,supportCSM:1!==this._webGLVersion,basisNeedsPOT:1===this._webGLVersion,support3DTextures:1!==this._webGLVersion,needTypeSuffixInShaderConstants:1!==this._webGLVersion,supportMSAA:1!==this._webGLVersion,supportSSAO2:1!==this._webGLVersion,supportIBLShadows:1!==this._webGLVersion,supportExtendedTextureFormats:1!==this._webGLVersion,supportSwitchCaseInShader:1!==this._webGLVersion,supportSyncTextureRead:!0,needsInvertingBitmap:!0,useUBOBindingCache:!0,needShaderCodeInlining:!1,needToAlwaysBindUniformBuffers:!1,supportRenderPasses:!1,supportSpriteInstancing:!0,forceVertexBufferStrideAndOffsetMultiple4Bytes:!1,_checkNonFloatVertexBuffersDontRecreatePipelineContext:!1,_collectUbosUpdatedInFrame:!1}}get webGLVersion(){return this._webGLVersion}getClassName(){return"ThinEngine"}_prepareWorkingCanvas(){if(this._workingCanvas)return;this._workingCanvas=this.createCanvas(1,1);const e=this._workingCanvas.getContext("2d");e&&(this._workingContext=e)}getInfo(){return this.getGlInfo()}getGlInfo(){return{vendor:this._glVendor,renderer:this._glRenderer,version:this._glVersion}}extractDriverInfo(){const e=this.getGlInfo();return e&&e.renderer?e.renderer:""}getRenderWidth(e=!1){return!e&&this._currentRenderTarget?this._currentRenderTarget.width:this._framebufferDimensionsObject?this._framebufferDimensionsObject.framebufferWidth:this._gl.drawingBufferWidth}getRenderHeight(e=!1){return!e&&this._currentRenderTarget?this._currentRenderTarget.height:this._framebufferDimensionsObject?this._framebufferDimensionsObject.framebufferHeight:this._gl.drawingBufferHeight}clear(e,t,r,s=!1){const i=this.stencilStateComposer.useStencilGlobalOnly;this.stencilStateComposer.useStencilGlobalOnly=!0,this.applyStates(),this.stencilStateComposer.useStencilGlobalOnly=i;let _=0;if(t&&e){let t=!0;if(this._currentRenderTarget){const r=this._currentRenderTarget.texture?.format;if(r===a.TEXTUREFORMAT_RED_INTEGER||r===a.TEXTUREFORMAT_RG_INTEGER||r===a.TEXTUREFORMAT_RGB_INTEGER||r===a.TEXTUREFORMAT_RGBA_INTEGER){const r=this._currentRenderTarget.texture?.type;r===a.TEXTURETYPE_UNSIGNED_INTEGER||r===a.TEXTURETYPE_UNSIGNED_SHORT?(N._TempClearColorUint32[0]=255*e.r,N._TempClearColorUint32[1]=255*e.g,N._TempClearColorUint32[2]=255*e.b,N._TempClearColorUint32[3]=255*e.a,this._gl.clearBufferuiv(this._gl.COLOR,0,N._TempClearColorUint32),t=!1):(N._TempClearColorInt32[0]=255*e.r,N._TempClearColorInt32[1]=255*e.g,N._TempClearColorInt32[2]=255*e.b,N._TempClearColorInt32[3]=255*e.a,this._gl.clearBufferiv(this._gl.COLOR,0,N._TempClearColorInt32),t=!1)}}t&&(this._gl.clearColor(e.r,e.g,e.b,void 0!==e.a?e.a:1),_|=this._gl.COLOR_BUFFER_BIT)}r&&(this.useReverseDepthBuffer?(this._depthCullingState.depthFunc=this._gl.GEQUAL,this._gl.clearDepth(0)):this._gl.clearDepth(1),_|=this._gl.DEPTH_BUFFER_BIT),s&&(this._gl.clearStencil(0),_|=this._gl.STENCIL_BUFFER_BIT),this._gl.clear(_)}_viewport(e,t,r,s){e===this._viewportCached.x&&t===this._viewportCached.y&&r===this._viewportCached.z&&s===this._viewportCached.w||(this._viewportCached.x=e,this._viewportCached.y=t,this._viewportCached.z=r,this._viewportCached.w=s,this._gl.viewport(e,t,r,s))}endFrame(){super.endFrame(),this._badOS&&this.flushFramebuffer()}get performanceMonitor(){throw new Error("Not Supported by ThinEngine")}bindFramebuffer(e,t=0,r,s,i,n=0,a=0){const l=e;this._currentRenderTarget&&this.unBindFramebuffer(this._currentRenderTarget),this._currentRenderTarget=e,this._bindUnboundFramebuffer(l._framebuffer);const h=this._gl;e.isMulti||(e.is2DArray||e.is3D?(h.framebufferTextureLayer(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,e.texture._hardwareTexture?.underlyingResource,n,a),l._currentLOD=n):e.isCube?h.framebufferTexture2D(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,h.TEXTURE_CUBE_MAP_POSITIVE_X+t,e.texture._hardwareTexture?.underlyingResource,n):l._currentLOD!==n&&(h.framebufferTexture2D(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,h.TEXTURE_2D,e.texture._hardwareTexture?.underlyingResource,n),l._currentLOD=n));const E=e._depthStencilTexture;if(E){e.is3D&&(e.texture.width===E.width&&e.texture.height===E.height&&e.texture.depth===E.depth||_.Warn("Depth/Stencil attachment for 3D target must have same dimensions as color attachment"));const r=e._depthStencilTextureWithStencil?h.DEPTH_STENCIL_ATTACHMENT:h.DEPTH_ATTACHMENT;e.is2DArray||e.is3D?h.framebufferTextureLayer(h.FRAMEBUFFER,r,E._hardwareTexture?.underlyingResource,n,a):e.isCube?h.framebufferTexture2D(h.FRAMEBUFFER,r,h.TEXTURE_CUBE_MAP_POSITIVE_X+t,E._hardwareTexture?.underlyingResource,n):h.framebufferTexture2D(h.FRAMEBUFFER,r,h.TEXTURE_2D,E._hardwareTexture?.underlyingResource,n)}l._MSAAFramebuffer&&this._bindUnboundFramebuffer(l._MSAAFramebuffer),this._cachedViewport&&!i?this.setViewport(this._cachedViewport,r,s):(r||(r=e.width,n&&(r/=Math.pow(2,n))),s||(s=e.height,n&&(s/=Math.pow(2,n))),this._viewport(0,0,r,s)),this.wipeCaches()}setState(e,t=0,r,s=!1,i,_,n=0){(this._depthCullingState.cull!==e||r)&&(this._depthCullingState.cull=e);const a=this.cullBackFaces??i??1?this._gl.BACK:this._gl.FRONT;(this._depthCullingState.cullFace!==a||r)&&(this._depthCullingState.cullFace=a),this.setZOffset(t),this.setZOffsetUnits(n);const l=s?this._gl.CW:this._gl.CCW;(this._depthCullingState.frontFace!==l||r)&&(this._depthCullingState.frontFace=l),this._stencilStateComposer.stencilMaterial=_}_bindUnboundFramebuffer(e){this._currentFramebuffer!==e&&(this._gl.bindFramebuffer(this._gl.FRAMEBUFFER,e),this._currentFramebuffer=e)}_currentFrameBufferIsDefaultFrameBuffer(){return null===this._currentFramebuffer}generateMipmaps(e){const t=this._getTextureTarget(e);this._bindTextureDirectly(t,e,!0),this._gl.generateMipmap(t),this._bindTextureDirectly(t,null)}unBindFramebuffer(e,t=!1,r){const s=e;this._currentRenderTarget=null,s.disableAutomaticMSAAResolve||(e.isMulti?this.resolveMultiFramebuffer(e):this.resolveFramebuffer(e)),t||(e.isMulti?this.generateMipMapsMultiFramebuffer(e):this.generateMipMapsFramebuffer(e)),r&&(s._MSAAFramebuffer&&this._bindUnboundFramebuffer(s._framebuffer),r()),this._bindUnboundFramebuffer(null)}generateMipMapsFramebuffer(e){e.isMulti||!e.texture?.generateMipMaps||e.isCube||this.generateMipmaps(e.texture)}resolveFramebuffer(e){const t=e,r=this._gl;if(!t._MSAAFramebuffer||t.isMulti)return;let s=t.resolveMSAAColors?r.COLOR_BUFFER_BIT:0;s|=t._generateDepthBuffer&&t.resolveMSAADepth?r.DEPTH_BUFFER_BIT:0,s|=t._generateStencilBuffer&&t.resolveMSAAStencil?r.STENCIL_BUFFER_BIT:0,r.bindFramebuffer(r.READ_FRAMEBUFFER,t._MSAAFramebuffer),r.bindFramebuffer(r.DRAW_FRAMEBUFFER,t._framebuffer),r.blitFramebuffer(0,0,e.width,e.height,0,0,e.width,e.height,s,r.NEAREST)}flushFramebuffer(){this._gl.flush()}restoreDefaultFramebuffer(){this._currentRenderTarget?this.unBindFramebuffer(this._currentRenderTarget):this._bindUnboundFramebuffer(null),this._cachedViewport&&this.setViewport(this._cachedViewport),this.wipeCaches()}_resetVertexBufferBinding(){this.bindArrayBuffer(null),this._cachedVertexBuffers=null}createVertexBuffer(e,t,r){return this._createVertexBuffer(e,this._gl.STATIC_DRAW)}_createVertexBuffer(e,t){const r=this._gl.createBuffer();if(!r)throw new Error("Unable to create vertex buffer");const s=new U(r);return this.bindArrayBuffer(s),"number"!=typeof e?e instanceof Array?(this._gl.bufferData(this._gl.ARRAY_BUFFER,new Float32Array(e),t),s.capacity=4*e.length):(this._gl.bufferData(this._gl.ARRAY_BUFFER,e,t),s.capacity=e.byteLength):(this._gl.bufferData(this._gl.ARRAY_BUFFER,new Uint8Array(e),t),s.capacity=e),this._resetVertexBufferBinding(),s.references=1,s}createDynamicVertexBuffer(e,t){return this._createVertexBuffer(e,this._gl.DYNAMIC_DRAW)}_resetIndexBufferBinding(){this.bindIndexBuffer(null),this._cachedIndexBuffer=null}createIndexBuffer(e,t,r){const s=this._gl.createBuffer(),i=new U(s);if(!s)throw new Error("Unable to create index buffer");this.bindIndexBuffer(i);const _=this._normalizeIndexData(e);return this._gl.bufferData(this._gl.ELEMENT_ARRAY_BUFFER,_,t?this._gl.DYNAMIC_DRAW:this._gl.STATIC_DRAW),this._resetIndexBufferBinding(),i.references=1,i.is32Bits=4===_.BYTES_PER_ELEMENT,i}_normalizeIndexData(e){if(2===e.BYTES_PER_ELEMENT)return e;if(this._caps.uintIndices){if(e instanceof Uint32Array)return e;for(let t=0;t<e.length;t++)if(e[t]>=65535)return new Uint32Array(e);return new Uint16Array(e)}return new Uint16Array(e)}bindArrayBuffer(e){this._vaoRecordInProgress||this._unbindVertexArrayObject(),this._bindBuffer(e,this._gl.ARRAY_BUFFER)}bindUniformBlock(e,t,r){const s=e.program,i=this._gl.getUniformBlockIndex(s,t);this._gl.uniformBlockBinding(s,i,r)}bindIndexBuffer(e){this._vaoRecordInProgress||this._unbindVertexArrayObject(),this._bindBuffer(e,this._gl.ELEMENT_ARRAY_BUFFER)}_bindBuffer(e,t){(this._vaoRecordInProgress||this._currentBoundBuffer[t]!==e)&&(this._gl.bindBuffer(t,e?e.underlyingResource:null),this._currentBoundBuffer[t]=e)}updateArrayBuffer(e){this._gl.bufferSubData(this._gl.ARRAY_BUFFER,0,e)}_vertexAttribPointer(e,t,r,s,i,_,n){const a=this._currentBufferPointers[t];if(!a)return;let l=!1;a.active?(a.buffer!==e&&(a.buffer=e,l=!0),a.size!==r&&(a.size=r,l=!0),a.type!==s&&(a.type=s,l=!0),a.normalized!==i&&(a.normalized=i,l=!0),a.stride!==_&&(a.stride=_,l=!0),a.offset!==n&&(a.offset=n,l=!0)):(l=!0,a.active=!0,a.index=t,a.size=r,a.type=s,a.normalized=i,a.stride=_,a.offset=n,a.buffer=e),(l||this._vaoRecordInProgress)&&(this.bindArrayBuffer(e),s===this._gl.UNSIGNED_INT||s===this._gl.INT?this._gl.vertexAttribIPointer(t,r,s,_,n):this._gl.vertexAttribPointer(t,r,s,i,_,n))}_bindIndexBufferWithCache(e){null!=e&&this._cachedIndexBuffer!==e&&(this._cachedIndexBuffer=e,this.bindIndexBuffer(e),this._uintIndicesCurrentlySet=e.is32Bits)}_bindVertexBuffersAttributes(e,t,r){const s=t.getAttributesNames();this._vaoRecordInProgress||this._unbindVertexArrayObject(),this.unbindAllAttributes();for(let i=0;i<s.length;i++){const _=t.getAttributeLocation(i);if(_>=0){const t=s[i];let n=null;if(r&&(n=r[t]),n||(n=e[t]),!n)continue;this._gl.enableVertexAttribArray(_),this._vaoRecordInProgress||(this._vertexAttribArraysEnabled[_]=!0);const a=n.getBuffer();a&&(this._vertexAttribPointer(a,_,n.getSize(),n.type,n.normalized,n.byteStride,n.byteOffset),n.getIsInstanced()&&(this._gl.vertexAttribDivisor(_,n.getInstanceDivisor()),this._vaoRecordInProgress||(this._currentInstanceLocations.push(_),this._currentInstanceBuffers.push(a))))}}}recordVertexArrayObject(e,t,r,s){const i=this._gl.createVertexArray();if(!i)throw new Error("Unable to create VAO");return this._vaoRecordInProgress=!0,this._gl.bindVertexArray(i),this._mustWipeVertexAttributes=!0,this._bindVertexBuffersAttributes(e,r,s),this.bindIndexBuffer(t),this._vaoRecordInProgress=!1,this._gl.bindVertexArray(null),i}bindVertexArrayObject(e,t){this._cachedVertexArrayObject!==e&&(this._cachedVertexArrayObject=e,this._gl.bindVertexArray(e),this._cachedVertexBuffers=null,this._cachedIndexBuffer=null,this._uintIndicesCurrentlySet=null!=t&&t.is32Bits,this._mustWipeVertexAttributes=!0)}bindBuffersDirectly(e,t,r,s,i){if(this._cachedVertexBuffers!==e||this._cachedEffectForVertexBuffers!==i){this._cachedVertexBuffers=e,this._cachedEffectForVertexBuffers=i;const t=i.getAttributesCount();this._unbindVertexArrayObject(),this.unbindAllAttributes();let _=0;for(let n=0;n<t;n++)if(n<r.length){const t=i.getAttributeLocation(n);t>=0&&(this._gl.enableVertexAttribArray(t),this._vertexAttribArraysEnabled[t]=!0,this._vertexAttribPointer(e,t,r[n],this._gl.FLOAT,!1,s,_)),_+=4*r[n]}}this._bindIndexBufferWithCache(t)}_unbindVertexArrayObject(){this._cachedVertexArrayObject&&(this._cachedVertexArrayObject=null,this._gl.bindVertexArray(null))}bindBuffers(e,t,r,s){this._cachedVertexBuffers===e&&this._cachedEffectForVertexBuffers===r||(this._cachedVertexBuffers=e,this._cachedEffectForVertexBuffers=r,this._bindVertexBuffersAttributes(e,r,s)),this._bindIndexBufferWithCache(t)}unbindInstanceAttributes(){let e;for(let t=0,r=this._currentInstanceLocations.length;t<r;t++){const r=this._currentInstanceBuffers[t];e!=r&&r.references&&(e=r,this.bindArrayBuffer(r));const s=this._currentInstanceLocations[t];this._gl.vertexAttribDivisor(s,0)}this._currentInstanceBuffers.length=0,this._currentInstanceLocations.length=0}releaseVertexArrayObject(e){this._gl.deleteVertexArray(e)}_releaseBuffer(e){return e.references--,0===e.references&&(this._deleteBuffer(e),!0)}_deleteBuffer(e){this._gl.deleteBuffer(e.underlyingResource)}updateAndBindInstancesBuffer(e,t,r){if(this.bindArrayBuffer(e),t&&this._gl.bufferSubData(this._gl.ARRAY_BUFFER,0,t),void 0!==r[0].index)this.bindInstancesBuffer(e,r,!0);else for(let t=0;t<4;t++){const s=r[t];this._vertexAttribArraysEnabled[s]||(this._gl.enableVertexAttribArray(s),this._vertexAttribArraysEnabled[s]=!0),this._vertexAttribPointer(e,s,4,this._gl.FLOAT,!1,64,16*t),this._gl.vertexAttribDivisor(s,1),this._currentInstanceLocations.push(s),this._currentInstanceBuffers.push(e)}}bindInstancesBuffer(e,t,r=!0){this.bindArrayBuffer(e);let s=0;if(r)for(let e=0;e<t.length;e++){s+=4*t[e].attributeSize}for(let r=0;r<t.length;r++){const i=t[r];void 0===i.index&&(i.index=this._currentEffect.getAttributeLocationByName(i.attributeName)),i.index<0||(this._vertexAttribArraysEnabled[i.index]||(this._gl.enableVertexAttribArray(i.index),this._vertexAttribArraysEnabled[i.index]=!0),this._vertexAttribPointer(e,i.index,i.attributeSize,i.attributeType||this._gl.FLOAT,i.normalized||!1,s,i.offset),this._gl.vertexAttribDivisor(i.index,void 0===i.divisor?1:i.divisor),this._currentInstanceLocations.push(i.index),this._currentInstanceBuffers.push(e))}}disableInstanceAttributeByName(e){if(!this._currentEffect)return;const t=this._currentEffect.getAttributeLocationByName(e);this.disableInstanceAttribute(t)}disableInstanceAttribute(e){let t,r=!1;for(;-1!==(t=this._currentInstanceLocations.indexOf(e));)this._currentInstanceLocations.splice(t,1),this._currentInstanceBuffers.splice(t,1),r=!0,t=this._currentInstanceLocations.indexOf(e);r&&(this._gl.vertexAttribDivisor(e,0),this.disableAttributeByIndex(e))}disableAttributeByIndex(e){this._gl.disableVertexAttribArray(e),this._vertexAttribArraysEnabled[e]=!1,this._currentBufferPointers[e].active=!1}draw(e,t,r,s){this.drawElementsType(e?a.MATERIAL_TriangleFillMode:a.MATERIAL_WireFrameFillMode,t,r,s)}drawPointClouds(e,t,r){this.drawArraysType(a.MATERIAL_PointFillMode,e,t,r)}drawUnIndexed(e,t,r,s){this.drawArraysType(e?a.MATERIAL_TriangleFillMode:a.MATERIAL_WireFrameFillMode,t,r,s)}drawElementsType(e,t,r,s){this.applyStates(),this._reportDrawCall();const i=this._drawMode(e),_=this._uintIndicesCurrentlySet?this._gl.UNSIGNED_INT:this._gl.UNSIGNED_SHORT,n=this._uintIndicesCurrentlySet?4:2;s?this._gl.drawElementsInstanced(i,r,_,t*n,s):this._gl.drawElements(i,r,_,t*n)}drawArraysType(e,t,r,s){this.applyStates(),this._reportDrawCall();const i=this._drawMode(e);s?this._gl.drawArraysInstanced(i,t,r,s):this._gl.drawArrays(i,t,r)}_drawMode(e){switch(e){case a.MATERIAL_TriangleFillMode:return this._gl.TRIANGLES;case a.MATERIAL_PointFillMode:return this._gl.POINTS;case a.MATERIAL_WireFrameFillMode:return this._gl.LINES;case a.MATERIAL_PointListDrawMode:return this._gl.POINTS;case a.MATERIAL_LineListDrawMode:return this._gl.LINES;case a.MATERIAL_LineLoopDrawMode:return this._gl.LINE_LOOP;case a.MATERIAL_LineStripDrawMode:return this._gl.LINE_STRIP;case a.MATERIAL_TriangleStripDrawMode:return this._gl.TRIANGLE_STRIP;case a.MATERIAL_TriangleFanDrawMode:return this._gl.TRIANGLE_FAN;default:return this._gl.TRIANGLES}}_releaseEffect(e){this._compiledEffects[e._key]&&delete this._compiledEffects[e._key];const t=e.getPipelineContext();t&&this._deletePipelineContext(t)}_deletePipelineContext(e){const t=e;t&&t.program&&(t.program.__SPECTOR_rebuildProgram=null,l(t),this._gl&&this._gl.deleteProgram(t.program))}_getGlobalDefines(e){return h(e,this.isNDCHalfZRange,this.useReverseDepthBuffer,this.useExactSrgbConversions)}createEffect(e,t,r,i,_,a,l,h,E,o=0,T){const u="string"==typeof e?e:e.vertexToken||e.vertexSource||e.vertexElement||e.vertex,R="string"==typeof e?e:e.fragmentToken||e.fragmentSource||e.fragmentElement||e.fragment,c=this._getGlobalDefines();let g=_??t.defines??"";c&&(g+=c);const f=u+"+"+R+"@"+g;if(this._compiledEffects[f]){const e=this._compiledEffects[f];return l&&e.isReady()&&l(e),e._refCount++,e}this._gl&&n(this._gl);const d=new s(e,t,r,i,this,_,a,l,((e,t)=>{h&&h(e,t),this.onEffectErrorObservable.notifyObservers({effect:e,errors:t})}),E,f,t.shaderLanguage??o,t.extraInitializationsAsync??T);return this._compiledEffects[f]=d,d}_getShaderSource(e){return this._gl.getShaderSource(e)}createRawShaderProgram(e,t,r,s,i=null){const _=n(this._gl);return _._contextWasLost=this._contextWasLost,_.validateShaderPrograms=this.validateShaderPrograms,E(e,t,r,s||this._gl,i)}createShaderProgram(e,t,r,s,i,_=null){const a=n(this._gl);return a._contextWasLost=this._contextWasLost,a.validateShaderPrograms=this.validateShaderPrograms,o(e,t,r,s,i||this._gl,_)}inlineShaderCode(e){return e}createPipelineContext(e){if(this._gl){n(this._gl).parallelShaderCompile=this._caps.parallelShaderCompile}const t=T(this._gl);return t.engine=this,t}createMaterialContext(){}createDrawContext(){}_finalizePipelineContext(e){return u(e,this._gl,this.validateShaderPrograms)}_preparePipelineContext(e,t,r,s,i,_,a,l,h,E,o){const T=n(this._gl);return T._contextWasLost=this._contextWasLost,T.validateShaderPrograms=this.validateShaderPrograms,T._createShaderProgramInjection=this._createShaderProgram.bind(this),T.createRawShaderProgramInjection=this.createRawShaderProgram.bind(this),T.createShaderProgramInjection=this.createShaderProgram.bind(this),T.loadFileInjection=this._loadFile.bind(this),R(e,t,r,s,i,_,a,l,h,E,o)}_createShaderProgram(e,t,r,s,i=null){return c(e,t,r,s,i)}_isRenderingStateCompiled(e){return!this._isDisposed&&g(e,this._gl,this.validateShaderPrograms)}_executeWhenRenderingStateIsCompiled(e,t){f(e,t)}getUniforms(e,t){const r=new Array,s=e;for(let e=0;e<t.length;e++)r.push(this._gl.getUniformLocation(s.program,t[e]));return r}getAttributes(e,t){const r=[],s=e;for(let e=0;e<t.length;e++)try{r.push(this._gl.getAttribLocation(s.program,t[e]))}catch(e){r.push(-1)}return r}enableEffect(e){(e=null!==e&&m(e)?e.effect:e)&&e!==this._currentEffect&&(this._stencilStateComposer.stencilMaterial=void 0,this.bindSamplers(e),this._currentEffect=e,e.onBind&&e.onBind(e),e._onBindObservable&&e._onBindObservable.notifyObservers(e))}setInt(e,t){return!!e&&(this._gl.uniform1i(e,t),!0)}setInt2(e,t,r){return!!e&&(this._gl.uniform2i(e,t,r),!0)}setInt3(e,t,r,s){return!!e&&(this._gl.uniform3i(e,t,r,s),!0)}setInt4(e,t,r,s,i){return!!e&&(this._gl.uniform4i(e,t,r,s,i),!0)}setIntArray(e,t){return!!e&&(this._gl.uniform1iv(e,t),!0)}setIntArray2(e,t){return!(!e||t.length%2!=0)&&(this._gl.uniform2iv(e,t),!0)}setIntArray3(e,t){return!(!e||t.length%3!=0)&&(this._gl.uniform3iv(e,t),!0)}setIntArray4(e,t){return!(!e||t.length%4!=0)&&(this._gl.uniform4iv(e,t),!0)}setUInt(e,t){return!!e&&(this._gl.uniform1ui(e,t),!0)}setUInt2(e,t,r){return!!e&&(this._gl.uniform2ui(e,t,r),!0)}setUInt3(e,t,r,s){return!!e&&(this._gl.uniform3ui(e,t,r,s),!0)}setUInt4(e,t,r,s,i){return!!e&&(this._gl.uniform4ui(e,t,r,s,i),!0)}setUIntArray(e,t){return!!e&&(this._gl.uniform1uiv(e,t),!0)}setUIntArray2(e,t){return!(!e||t.length%2!=0)&&(this._gl.uniform2uiv(e,t),!0)}setUIntArray3(e,t){return!(!e||t.length%3!=0)&&(this._gl.uniform3uiv(e,t),!0)}setUIntArray4(e,t){return!(!e||t.length%4!=0)&&(this._gl.uniform4uiv(e,t),!0)}setArray(e,t){return!!e&&(!(t.length<1)&&(this._gl.uniform1fv(e,t),!0))}setArray2(e,t){return!(!e||t.length%2!=0)&&(this._gl.uniform2fv(e,t),!0)}setArray3(e,t){return!(!e||t.length%3!=0)&&(this._gl.uniform3fv(e,t),!0)}setArray4(e,t){return!(!e||t.length%4!=0)&&(this._gl.uniform4fv(e,t),!0)}setMatrices(e,t){return!!e&&(this._gl.uniformMatrix4fv(e,!1,t),!0)}setMatrix3x3(e,t){return!!e&&(this._gl.uniformMatrix3fv(e,!1,t),!0)}setMatrix2x2(e,t){return!!e&&(this._gl.uniformMatrix2fv(e,!1,t),!0)}setFloat(e,t){return!!e&&(this._gl.uniform1f(e,t),!0)}setFloat2(e,t,r){return!!e&&(this._gl.uniform2f(e,t,r),!0)}setFloat3(e,t,r,s){return!!e&&(this._gl.uniform3f(e,t,r,s),!0)}setFloat4(e,t,r,s,i){return!!e&&(this._gl.uniform4f(e,t,r,s,i),!0)}applyStates(){if(this._depthCullingState.apply(this._gl),this._stencilStateComposer.apply(this._gl),this._alphaState.apply(this._gl),this._colorWriteChanged){this._colorWriteChanged=!1;const e=this._colorWrite;this._gl.colorMask(e,e,e,e)}}wipeCaches(e){this.preventCacheWipeBetweenFrames&&!e||(this._currentEffect=null,this._viewportCached.x=0,this._viewportCached.y=0,this._viewportCached.z=0,this._viewportCached.w=0,this._unbindVertexArrayObject(),e&&(this._currentProgram=null,this.resetTextureCache(),this._stencilStateComposer.reset(),this._depthCullingState.reset(),this._depthCullingState.depthFunc=this._gl.LEQUAL,this._alphaState.reset(),this._alphaMode=a.ALPHA_ADD,this._alphaEquation=a.ALPHA_DISABLE,this._colorWrite=!0,this._colorWriteChanged=!0,this._unpackFlipYCached=null,this._gl.pixelStorei(this._gl.UNPACK_COLORSPACE_CONVERSION_WEBGL,this._gl.NONE),this._gl.pixelStorei(this._gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),this._mustWipeVertexAttributes=!0,this.unbindAllAttributes()),this._resetVertexBufferBinding(),this._cachedIndexBuffer=null,this._cachedEffectForVertexBuffers=null,this.bindIndexBuffer(null))}_getSamplingParameters(e,t){const r=this._gl;let s=r.NEAREST,i=r.NEAREST;switch(e){case a.TEXTURE_LINEAR_LINEAR_MIPNEAREST:s=r.LINEAR,i=t?r.LINEAR_MIPMAP_NEAREST:r.LINEAR;break;case a.TEXTURE_LINEAR_LINEAR_MIPLINEAR:s=r.LINEAR,i=t?r.LINEAR_MIPMAP_LINEAR:r.LINEAR;break;case a.TEXTURE_NEAREST_NEAREST_MIPLINEAR:s=r.NEAREST,i=t?r.NEAREST_MIPMAP_LINEAR:r.NEAREST;break;case a.TEXTURE_NEAREST_NEAREST_MIPNEAREST:s=r.NEAREST,i=t?r.NEAREST_MIPMAP_NEAREST:r.NEAREST;break;case a.TEXTURE_NEAREST_LINEAR_MIPNEAREST:s=r.NEAREST,i=t?r.LINEAR_MIPMAP_NEAREST:r.LINEAR;break;case a.TEXTURE_NEAREST_LINEAR_MIPLINEAR:s=r.NEAREST,i=t?r.LINEAR_MIPMAP_LINEAR:r.LINEAR;break;case a.TEXTURE_NEAREST_LINEAR:s=r.NEAREST,i=r.LINEAR;break;case a.TEXTURE_NEAREST_NEAREST:s=r.NEAREST,i=r.NEAREST;break;case a.TEXTURE_LINEAR_NEAREST_MIPNEAREST:s=r.LINEAR,i=t?r.NEAREST_MIPMAP_NEAREST:r.NEAREST;break;case a.TEXTURE_LINEAR_NEAREST_MIPLINEAR:s=r.LINEAR,i=t?r.NEAREST_MIPMAP_LINEAR:r.NEAREST;break;case a.TEXTURE_LINEAR_LINEAR:s=r.LINEAR,i=r.LINEAR;break;case a.TEXTURE_LINEAR_NEAREST:s=r.LINEAR,i=r.NEAREST}return{min:i,mag:s}}_createTexture(){const e=this._gl.createTexture();if(!e)throw new Error("Unable to create texture");return e}_createHardwareTexture(){return new F(this._createTexture(),this._gl)}_createInternalTexture(e,t,r=!0,s=0){let i,n=!1,l=!1,h=a.TEXTURETYPE_UNSIGNED_BYTE,E=a.TEXTURE_TRILINEAR_SAMPLINGMODE,o=a.TEXTUREFORMAT_RGBA,T=!1,u=1,R=!1,c=0;void 0!==t&&"object"==typeof t?(n=!!t.generateMipMaps,l=!!t.createMipMaps,h=void 0===t.type?a.TEXTURETYPE_UNSIGNED_BYTE:t.type,E=void 0===t.samplingMode?a.TEXTURE_TRILINEAR_SAMPLINGMODE:t.samplingMode,o=void 0===t.format?a.TEXTUREFORMAT_RGBA:t.format,T=void 0!==t.useSRGBBuffer&&t.useSRGBBuffer,u=t.samples??1,i=t.label,R=!!t.createMSAATexture,c=t.comparisonFunction||0):n=!!t,T&&=this._caps.supportSRGBBuffers&&(this.webGLVersion>1||this.isWebGPU),(h!==a.TEXTURETYPE_FLOAT||this._caps.textureFloatLinearFiltering)&&(h!==a.TEXTURETYPE_HALF_FLOAT||this._caps.textureHalfFloatLinearFiltering)||(E=a.TEXTURE_NEAREST_SAMPLINGMODE),h!==a.TEXTURETYPE_FLOAT||this._caps.textureFloat||(h=a.TEXTURETYPE_UNSIGNED_BYTE,_.Warn("Float textures are not supported. Type forced to TEXTURETYPE_UNSIGNED_BYTE"));const g=A(o),f=p(o),x=this._gl,S=new d(this,s),b=e.width||e,m=e.height||e,I=e.depth||0,M=e.layers||0,B=this._getSamplingParameters(E,(n||l)&&!g),U=0!==M?x.TEXTURE_2D_ARRAY:0!==I?x.TEXTURE_3D:x.TEXTURE_2D,F=g?this._getInternalFormatFromDepthTextureFormat(o,!0,f):this._getRGBABufferInternalSizedFormat(h,o,T),G=g?f?x.DEPTH_STENCIL:x.DEPTH_COMPONENT:this._getInternalFormat(o),N=g?this._getWebGLTextureTypeFromDepthTextureFormat(o):this._getWebGLTextureType(h);if(this._bindTextureDirectly(U,S),0!==M?(S.is2DArray=!0,x.texImage3D(U,0,F,b,m,M,0,G,N,null)):0!==I?(S.is3D=!0,x.texImage3D(U,0,F,b,m,I,0,G,N,null)):x.texImage2D(U,0,F,b,m,0,G,N,null),x.texParameteri(U,x.TEXTURE_MAG_FILTER,B.mag),x.texParameteri(U,x.TEXTURE_MIN_FILTER,B.min),x.texParameteri(U,x.TEXTURE_WRAP_S,x.CLAMP_TO_EDGE),x.texParameteri(U,x.TEXTURE_WRAP_T,x.CLAMP_TO_EDGE),g&&this.webGLVersion>1&&(0===c?(x.texParameteri(U,x.TEXTURE_COMPARE_FUNC,a.LEQUAL),x.texParameteri(U,x.TEXTURE_COMPARE_MODE,x.NONE)):(x.texParameteri(U,x.TEXTURE_COMPARE_FUNC,c),x.texParameteri(U,x.TEXTURE_COMPARE_MODE,x.COMPARE_REF_TO_TEXTURE))),(n||l)&&this._gl.generateMipmap(U),this._bindTextureDirectly(U,null),S._useSRGBBuffer=T,S.baseWidth=b,S.baseHeight=m,S.width=b,S.height=m,S.depth=M||I,S.isReady=!0,S.samples=u,S.generateMipMaps=n,S.samplingMode=E,S.type=h,S.format=o,S.label=i,S.comparisonFunction=c,this._internalTexturesCache.push(S),R){let e=null;if(e=A(S.format)?this._setupFramebufferDepthAttachments(p(S.format),S.format!==a.TEXTUREFORMAT_STENCIL8,S.width,S.height,u,S.format,!0):this._createRenderBuffer(S.width,S.height,u,-1,this._getRGBABufferInternalSizedFormat(S.type,S.format,S._useSRGBBuffer),-1),!e)throw new Error("Unable to create render buffer");S._autoMSAAManagement=!0;let t=S._hardwareTexture;t||(t=S._hardwareTexture=this._createHardwareTexture()),t.addMSAARenderBuffer(e)}return S}_getUseSRGBBuffer(e,t){return e&&this._caps.supportSRGBBuffers&&(this.webGLVersion>1||t)}createTexture(e,t,r,s,i=a.TEXTURE_TRILINEAR_SAMPLINGMODE,_=null,n=null,l=null,h=null,E=null,o=null,T,u,R,c){return this._createTextureBase(e,t,r,s,i,_,n,((...e)=>this._prepareWebGLTexture(...e,E)),((e,t,r,i,_,n)=>{const a=this._gl,l=r.width===e&&r.height===t;_._creationFlags=R??0;const h=this._getTexImageParametersForCreateTexture(_.format,_._useSRGBBuffer);if(l)return a.texImage2D(a.TEXTURE_2D,0,h.internalFormat,h.format,h.type,r),!1;const E=this._caps.maxTextureSize;if(r.width>E||r.height>E||!this._supportsHardwareTextureRescaling)return this._prepareWorkingCanvas(),!(!this._workingCanvas||!this._workingContext)&&(this._workingCanvas.width=e,this._workingCanvas.height=t,this._workingContext.drawImage(r,0,0,r.width,r.height,0,0,e,t),a.texImage2D(a.TEXTURE_2D,0,h.internalFormat,h.format,h.type,this._workingCanvas),_.width=e,_.height=t,!1);{const e=new d(this,2);this._bindTextureDirectly(a.TEXTURE_2D,e,!0),a.texImage2D(a.TEXTURE_2D,0,h.internalFormat,h.format,h.type,r),this._rescaleTexture(e,_,s,h.format,(()=>{this._releaseTexture(e),this._bindTextureDirectly(a.TEXTURE_2D,_,!0),n()}))}return!0}),l,h,E,o,T,u,c)}_getTexImageParametersForCreateTexture(e,t){let r,s;return 1===this.webGLVersion?(r=this._getInternalFormat(e,t),s=r):(r=this._getInternalFormat(e,!1),s=this._getRGBABufferInternalSizedFormat(a.TEXTURETYPE_UNSIGNED_BYTE,e,t)),{internalFormat:s,format:r,type:this._gl.UNSIGNED_BYTE}}_rescaleTexture(e,t,r,s,i){}_unpackFlipY(e){this._unpackFlipYCached!==e&&(this._gl.pixelStorei(this._gl.UNPACK_FLIP_Y_WEBGL,e?1:0),this.enableUnpackFlipYCached&&(this._unpackFlipYCached=e))}_getUnpackAlignement(){return this._gl.getParameter(this._gl.UNPACK_ALIGNMENT)}_getTextureTarget(e){return e.isCube?this._gl.TEXTURE_CUBE_MAP:e.is3D?this._gl.TEXTURE_3D:e.is2DArray||e.isMultiview?this._gl.TEXTURE_2D_ARRAY:this._gl.TEXTURE_2D}updateTextureSamplingMode(e,t,r=!1){const s=this._getTextureTarget(t),i=this._getSamplingParameters(e,t.useMipMaps||r);this._setTextureParameterInteger(s,this._gl.TEXTURE_MAG_FILTER,i.mag,t),this._setTextureParameterInteger(s,this._gl.TEXTURE_MIN_FILTER,i.min),r&&(t.generateMipMaps=!0,this._gl.generateMipmap(s)),this._bindTextureDirectly(s,null),t.samplingMode=e}updateTextureDimensions(e,t,r,s=1){}updateTextureWrappingMode(e,t,r=null,s=null){const i=this._getTextureTarget(e);null!==t&&(this._setTextureParameterInteger(i,this._gl.TEXTURE_WRAP_S,this._getTextureWrapMode(t),e),e._cachedWrapU=t),null!==r&&(this._setTextureParameterInteger(i,this._gl.TEXTURE_WRAP_T,this._getTextureWrapMode(r),e),e._cachedWrapV=r),(e.is2DArray||e.is3D)&&null!==s&&(this._setTextureParameterInteger(i,this._gl.TEXTURE_WRAP_R,this._getTextureWrapMode(s),e),e._cachedWrapR=s),this._bindTextureDirectly(i,null)}_uploadCompressedDataToTextureDirectly(e,t,r,s,i,_=0,n=0){const l=this._gl;let h=l.TEXTURE_2D;if(e.isCube&&(h=l.TEXTURE_CUBE_MAP_POSITIVE_X+_),e._useSRGBBuffer)switch(t){case a.TEXTUREFORMAT_COMPRESSED_RGB8_ETC2:case a.TEXTUREFORMAT_COMPRESSED_RGB_ETC1_WEBGL:this._caps.etc2?t=l.COMPRESSED_SRGB8_ETC2:e._useSRGBBuffer=!1;break;case a.TEXTUREFORMAT_COMPRESSED_RGBA8_ETC2_EAC:this._caps.etc2?t=l.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:e._useSRGBBuffer=!1;break;case a.TEXTUREFORMAT_COMPRESSED_RGBA_BPTC_UNORM:t=l.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT;break;case a.TEXTUREFORMAT_COMPRESSED_RGBA_ASTC_4x4:t=l.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR;break;case a.TEXTUREFORMAT_COMPRESSED_RGB_S3TC_DXT1:this._caps.s3tc_srgb?t=l.COMPRESSED_SRGB_S3TC_DXT1_EXT:e._useSRGBBuffer=!1;break;case a.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT1:this._caps.s3tc_srgb?t=l.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:e._useSRGBBuffer=!1;break;case a.TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT5:this._caps.s3tc_srgb?t=l.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:e._useSRGBBuffer=!1;break;default:e._useSRGBBuffer=!1}this._gl.compressedTexImage2D(h,n,t,r,s,0,i)}_uploadDataToTextureDirectly(e,t,r=0,s=0,i,_=!1){const n=this._gl,a=this._getWebGLTextureType(e.type),l=this._getInternalFormat(e.format),h=void 0===i?this._getRGBABufferInternalSizedFormat(e.type,e.format,e._useSRGBBuffer):this._getInternalFormat(i,e._useSRGBBuffer);this._unpackFlipY(e.invertY);let E=n.TEXTURE_2D;e.isCube&&(E=n.TEXTURE_CUBE_MAP_POSITIVE_X+r);const o=Math.round(Math.log(e.width)*Math.LOG2E),T=Math.round(Math.log(e.height)*Math.LOG2E),u=_?e.width:Math.pow(2,Math.max(o-s,0)),R=_?e.height:Math.pow(2,Math.max(T-s,0));n.texImage2D(E,s,h,u,R,0,l,a,t)}updateTextureData(e,t,r,s,i,_,n=0,a=0,l=!1){const h=this._gl,E=this._getWebGLTextureType(e.type),o=this._getInternalFormat(e.format);this._unpackFlipY(e.invertY);let T=h.TEXTURE_2D,u=h.TEXTURE_2D;e.isCube&&(u=h.TEXTURE_CUBE_MAP_POSITIVE_X+n,T=h.TEXTURE_CUBE_MAP),this._bindTextureDirectly(T,e,!0),h.texSubImage2D(u,a,r,s,i,_,o,E,t),l&&this._gl.generateMipmap(u),this._bindTextureDirectly(T,null)}_uploadArrayBufferViewToTexture(e,t,r=0,s=0){const i=this._gl,_=e.isCube?i.TEXTURE_CUBE_MAP:i.TEXTURE_2D;this._bindTextureDirectly(_,e,!0),this._uploadDataToTextureDirectly(e,t,r,s),this._bindTextureDirectly(_,null,!0)}_prepareWebGLTextureContinuation(e,t,r,s,i){const _=this._gl;if(!_)return;const n=this._getSamplingParameters(i,!r);_.texParameteri(_.TEXTURE_2D,_.TEXTURE_MAG_FILTER,n.mag),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_MIN_FILTER,n.min),r||s||_.generateMipmap(_.TEXTURE_2D),this._bindTextureDirectly(_.TEXTURE_2D,null),t&&t.removePendingData(e),e.onLoadedObservable.notifyObservers(e),e.onLoadedObservable.clear()}_prepareWebGLTexture(e,t,r,s,i,_,n,l,h,E){const o=this.getCaps().maxTextureSize,T=Math.min(o,this.needPOTTextures?x(s.width,o):s.width),u=Math.min(o,this.needPOTTextures?x(s.height,o):s.height),R=this._gl;R&&(e._hardwareTexture?(this._bindTextureDirectly(R.TEXTURE_2D,e,!0),this._unpackFlipY(void 0===i||!!i),e.baseWidth=s.width,e.baseHeight=s.height,e.width=T,e.height=u,e.isReady=!0,e.type=-1!==e.type?e.type:a.TEXTURETYPE_UNSIGNED_BYTE,e.format=-1!==e.format?e.format:E??(".jpg"!==t||e._useSRGBBuffer?a.TEXTUREFORMAT_RGBA:a.TEXTUREFORMAT_RGB),l(T,u,s,t,e,(()=>{this._prepareWebGLTextureContinuation(e,r,_,n,h)}))||this._prepareWebGLTextureContinuation(e,r,_,n,h)):r&&r.removePendingData(e))}_getInternalFormatFromDepthTextureFormat(e,t,r){const s=this._gl;if(!t)return s.STENCIL_INDEX8;let i=r?s.DEPTH_STENCIL:s.DEPTH_COMPONENT;return this.webGLVersion>1?e===a.TEXTUREFORMAT_DEPTH16?i=s.DEPTH_COMPONENT16:e===a.TEXTUREFORMAT_DEPTH24?i=s.DEPTH_COMPONENT24:e===a.TEXTUREFORMAT_DEPTH24UNORM_STENCIL8||e===a.TEXTUREFORMAT_DEPTH24_STENCIL8?i=r?s.DEPTH24_STENCIL8:s.DEPTH_COMPONENT24:e===a.TEXTUREFORMAT_DEPTH32_FLOAT?i=s.DEPTH_COMPONENT32F:e===a.TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8&&(i=r?s.DEPTH32F_STENCIL8:s.DEPTH_COMPONENT32F):i=s.DEPTH_COMPONENT16,i}_getWebGLTextureTypeFromDepthTextureFormat(e){const t=this._gl;let r=t.UNSIGNED_INT;return e===a.TEXTUREFORMAT_DEPTH16?r=t.UNSIGNED_SHORT:e===a.TEXTUREFORMAT_DEPTH24UNORM_STENCIL8||e===a.TEXTUREFORMAT_DEPTH24_STENCIL8?r=t.UNSIGNED_INT_24_8:e===a.TEXTUREFORMAT_DEPTH32_FLOAT?r=t.FLOAT:e===a.TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8?r=t.FLOAT_32_UNSIGNED_INT_24_8_REV:e===a.TEXTUREFORMAT_STENCIL8&&(r=t.UNSIGNED_BYTE),r}_setupFramebufferDepthAttachments(e,t,r,s,i=1,_,n=!1){const l=this._gl;_=_??(e?a.TEXTUREFORMAT_DEPTH24_STENCIL8:a.TEXTUREFORMAT_DEPTH32_FLOAT);const h=this._getInternalFormatFromDepthTextureFormat(_,t,e);return e&&t?this._createRenderBuffer(r,s,i,l.DEPTH_STENCIL,h,n?-1:l.DEPTH_STENCIL_ATTACHMENT):t?this._createRenderBuffer(r,s,i,h,h,n?-1:l.DEPTH_ATTACHMENT):e?this._createRenderBuffer(r,s,i,h,h,n?-1:l.STENCIL_ATTACHMENT):null}_createRenderBuffer(e,t,r,s,i,_,n=!0){const a=this._gl.createRenderbuffer();return this._updateRenderBuffer(a,e,t,r,s,i,_,n)}_updateRenderBuffer(e,t,r,s,i,_,n,a=!0){const l=this._gl;return l.bindRenderbuffer(l.RENDERBUFFER,e),s>1&&l.renderbufferStorageMultisample?l.renderbufferStorageMultisample(l.RENDERBUFFER,s,_,t,r):l.renderbufferStorage(l.RENDERBUFFER,i,t,r),-1!==n&&l.framebufferRenderbuffer(l.FRAMEBUFFER,n,l.RENDERBUFFER,e),a&&l.bindRenderbuffer(l.RENDERBUFFER,null),e}_releaseTexture(e){this._deleteTexture(e._hardwareTexture),this.unbindAllTextures();const t=this._internalTexturesCache.indexOf(e);-1!==t&&this._internalTexturesCache.splice(t,1),e._lodTextureHigh&&e._lodTextureHigh.dispose(),e._lodTextureMid&&e._lodTextureMid.dispose(),e._lodTextureLow&&e._lodTextureLow.dispose(),e._irradianceTexture&&e._irradianceTexture.dispose()}_deleteTexture(e){e?.release()}_setProgram(e){this._currentProgram!==e&&(S(e,this._gl),this._currentProgram=e)}bindSamplers(e){const t=e.getPipelineContext();this._setProgram(t.program);const r=e.getSamplers();for(let t=0;t<r.length;t++){const s=e.getUniform(r[t]);s&&(this._boundUniforms[t]=s)}this._currentEffect=null}_activateCurrentTexture(){this._currentTextureChannel!==this._activeChannel&&(this._gl.activeTexture(this._gl.TEXTURE0+this._activeChannel),this._currentTextureChannel=this._activeChannel)}_bindTextureDirectly(e,t,r=!1,s=!1){let i=!1;const n=t&&t._associatedChannel>-1;r&&n&&(this._activeChannel=t._associatedChannel);if(this._boundTexturesCache[this._activeChannel]!==t||s){if(this._activateCurrentTexture(),t&&t.isMultiview)throw _.Error(["_bindTextureDirectly called with a multiview texture!",e,t]),"_bindTextureDirectly called with a multiview texture!";this._gl.bindTexture(e,t?._hardwareTexture?.underlyingResource??null),this._boundTexturesCache[this._activeChannel]=t,t&&(t._associatedChannel=this._activeChannel)}else r&&(i=!0,this._activateCurrentTexture());return n&&!r&&this._bindSamplerUniformToChannel(t._associatedChannel,this._activeChannel),i}_bindTexture(e,t,r){if(void 0===e)return;t&&(t._associatedChannel=e),this._activeChannel=e;const s=t?this._getTextureTarget(t):this._gl.TEXTURE_2D;this._bindTextureDirectly(s,t)}unbindAllTextures(){for(let e=0;e<this._maxSimultaneousTextures;e++)this._activeChannel=e,this._bindTextureDirectly(this._gl.TEXTURE_2D,null),this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,null),this.webGLVersion>1&&(this._bindTextureDirectly(this._gl.TEXTURE_3D,null),this._bindTextureDirectly(this._gl.TEXTURE_2D_ARRAY,null))}setTexture(e,t,r,s){void 0!==e&&(t&&(this._boundUniforms[e]=t),this._setTexture(e,r))}_bindSamplerUniformToChannel(e,t){const r=this._boundUniforms[e];r&&r._currentState!==t&&(this._gl.uniform1i(r,t),r._currentState=t)}_getTextureWrapMode(e){switch(e){case a.TEXTURE_WRAP_ADDRESSMODE:return this._gl.REPEAT;case a.TEXTURE_CLAMP_ADDRESSMODE:return this._gl.CLAMP_TO_EDGE;case a.TEXTURE_MIRROR_ADDRESSMODE:return this._gl.MIRRORED_REPEAT}return this._gl.REPEAT}_setTexture(e,t,r=!1,s=!1,i=""){if(!t)return null!=this._boundTexturesCache[e]&&(this._activeChannel=e,this._bindTextureDirectly(this._gl.TEXTURE_2D,null),this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,null),this.webGLVersion>1&&(this._bindTextureDirectly(this._gl.TEXTURE_3D,null),this._bindTextureDirectly(this._gl.TEXTURE_2D_ARRAY,null))),!1;if(t.video){this._activeChannel=e;const r=t.getInternalTexture();r&&(r._associatedChannel=e),t.update()}else if(t.delayLoadState===a.DELAYLOADSTATE_NOTLOADED)return t.delayLoad(),!1;let _;_=s?t.depthStencilTexture:t.isReady()?t.getInternalTexture():t.isCube?this.emptyCubeTexture:t.is3D?this.emptyTexture3D:t.is2DArray?this.emptyTexture2DArray:this.emptyTexture,!r&&_&&(_._associatedChannel=e);let n=!0;this._boundTexturesCache[e]===_&&(r||this._bindSamplerUniformToChannel(_._associatedChannel,e),n=!1),this._activeChannel=e;const l=this._getTextureTarget(_);if(n&&this._bindTextureDirectly(l,_,r),_&&!_.isMultiview){if(_.isCube&&_._cachedCoordinatesMode!==t.coordinatesMode){_._cachedCoordinatesMode=t.coordinatesMode;const e=t.coordinatesMode!==a.TEXTURE_CUBIC_MODE&&t.coordinatesMode!==a.TEXTURE_SKYBOX_MODE?a.TEXTURE_WRAP_ADDRESSMODE:a.TEXTURE_CLAMP_ADDRESSMODE;t.wrapU=e,t.wrapV=e}_._cachedWrapU!==t.wrapU&&(_._cachedWrapU=t.wrapU,this._setTextureParameterInteger(l,this._gl.TEXTURE_WRAP_S,this._getTextureWrapMode(t.wrapU),_)),_._cachedWrapV!==t.wrapV&&(_._cachedWrapV=t.wrapV,this._setTextureParameterInteger(l,this._gl.TEXTURE_WRAP_T,this._getTextureWrapMode(t.wrapV),_)),_.is3D&&_._cachedWrapR!==t.wrapR&&(_._cachedWrapR=t.wrapR,this._setTextureParameterInteger(l,this._gl.TEXTURE_WRAP_R,this._getTextureWrapMode(t.wrapR),_)),this._setAnisotropicLevel(l,_,t.anisotropicFilteringLevel)}return!0}setTextureArray(e,t,r,s){if(void 0!==e&&t){this._textureUnits&&this._textureUnits.length===r.length||(this._textureUnits=new Int32Array(r.length));for(let t=0;t<r.length;t++){const s=r[t].getInternalTexture();s?(this._textureUnits[t]=e+t,s._associatedChannel=e+t):this._textureUnits[t]=-1}this._gl.uniform1iv(t,this._textureUnits);for(let e=0;e<r.length;e++)this._setTexture(this._textureUnits[e],r[e],!0)}}_setAnisotropicLevel(e,t,r){const s=this._caps.textureAnisotropicFilterExtension;t.samplingMode!==a.TEXTURE_LINEAR_LINEAR_MIPNEAREST&&t.samplingMode!==a.TEXTURE_LINEAR_LINEAR_MIPLINEAR&&t.samplingMode!==a.TEXTURE_LINEAR_LINEAR&&(r=1),s&&t._cachedAnisotropicFilteringLevel!==r&&(this._setTextureParameterFloat(e,s.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(r,this._caps.maxAnisotropy),t),t._cachedAnisotropicFilteringLevel=r)}_setTextureParameterFloat(e,t,r,s){this._bindTextureDirectly(e,s,!0,!0),this._gl.texParameterf(e,t,r)}_setTextureParameterInteger(e,t,r,s){s&&this._bindTextureDirectly(e,s,!0,!0),this._gl.texParameteri(e,t,r)}unbindAllAttributes(){if(this._mustWipeVertexAttributes){this._mustWipeVertexAttributes=!1;for(let e=0;e<this._caps.maxVertexAttribs;e++)this.disableAttributeByIndex(e)}else for(let e=0,t=this._vertexAttribArraysEnabled.length;e<t;e++)e>=this._caps.maxVertexAttribs||!this._vertexAttribArraysEnabled[e]||this.disableAttributeByIndex(e)}releaseEffects(){const e=Object.keys(this._compiledEffects);for(const t of e){this._compiledEffects[t].dispose(!0)}this._compiledEffects={}}dispose(){b()&&this._renderingCanvas&&(this._renderingCanvas.removeEventListener("webglcontextlost",this._onContextLost),this._onContextRestored&&this._renderingCanvas.removeEventListener("webglcontextrestored",this._onContextRestored)),super.dispose(),this._dummyFramebuffer&&this._gl.deleteFramebuffer(this._dummyFramebuffer),this.unbindAllAttributes(),this._boundUniforms={},this._workingCanvas=null,this._workingContext=null,this._currentBufferPointers.length=0,this._currentProgram=null,this._creationOptions.loseContextOnDispose&&this._gl.getExtension("WEBGL_lose_context")?.loseContext(),i(this._gl)}attachContextLostEvent(e){this._renderingCanvas&&this._renderingCanvas.addEventListener("webglcontextlost",e,!1)}attachContextRestoredEvent(e){this._renderingCanvas&&this._renderingCanvas.addEventListener("webglcontextrestored",e,!1)}getError(){return this._gl.getError()}_canRenderToFloatFramebuffer(){return this._webGLVersion>1?this._caps.colorBufferFloat:this._canRenderToFramebuffer(a.TEXTURETYPE_FLOAT)}_canRenderToHalfFloatFramebuffer(){return this._webGLVersion>1?this._caps.colorBufferFloat:this._canRenderToFramebuffer(a.TEXTURETYPE_HALF_FLOAT)}_canRenderToFramebuffer(e){const t=this._gl;for(;t.getError()!==t.NO_ERROR;);let r=!0;const s=t.createTexture();t.bindTexture(t.TEXTURE_2D,s),t.texImage2D(t.TEXTURE_2D,0,this._getRGBABufferInternalSizedFormat(e),1,1,0,t.RGBA,this._getWebGLTextureType(e),null),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST);const i=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,i),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,s,0);const _=t.checkFramebufferStatus(t.FRAMEBUFFER);if(r=r&&_===t.FRAMEBUFFER_COMPLETE,r=r&&t.getError()===t.NO_ERROR,r&&(t.clear(t.COLOR_BUFFER_BIT),r=r&&t.getError()===t.NO_ERROR),r){t.bindFramebuffer(t.FRAMEBUFFER,null);const e=t.RGBA,s=t.UNSIGNED_BYTE,i=new Uint8Array(4);t.readPixels(0,0,1,1,e,s,i),r=r&&t.getError()===t.NO_ERROR}for(t.deleteTexture(s),t.deleteFramebuffer(i),t.bindFramebuffer(t.FRAMEBUFFER,null);!r&&t.getError()!==t.NO_ERROR;);return r}_getWebGLTextureType(e){if(1===this._webGLVersion){switch(e){case a.TEXTURETYPE_FLOAT:return this._gl.FLOAT;case a.TEXTURETYPE_HALF_FLOAT:return this._gl.HALF_FLOAT_OES;case a.TEXTURETYPE_UNSIGNED_BYTE:return this._gl.UNSIGNED_BYTE;case a.TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4:return this._gl.UNSIGNED_SHORT_4_4_4_4;case a.TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1:return this._gl.UNSIGNED_SHORT_5_5_5_1;case a.TEXTURETYPE_UNSIGNED_SHORT_5_6_5:return this._gl.UNSIGNED_SHORT_5_6_5}return this._gl.UNSIGNED_BYTE}switch(e){case a.TEXTURETYPE_BYTE:return this._gl.BYTE;case a.TEXTURETYPE_UNSIGNED_BYTE:return this._gl.UNSIGNED_BYTE;case a.TEXTURETYPE_SHORT:return this._gl.SHORT;case a.TEXTURETYPE_UNSIGNED_SHORT:return this._gl.UNSIGNED_SHORT;case a.TEXTURETYPE_INT:return this._gl.INT;case a.TEXTURETYPE_UNSIGNED_INTEGER:return this._gl.UNSIGNED_INT;case a.TEXTURETYPE_FLOAT:return this._gl.FLOAT;case a.TEXTURETYPE_HALF_FLOAT:return this._gl.HALF_FLOAT;case a.TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4:return this._gl.UNSIGNED_SHORT_4_4_4_4;case a.TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1:return this._gl.UNSIGNED_SHORT_5_5_5_1;case a.TEXTURETYPE_UNSIGNED_SHORT_5_6_5:return this._gl.UNSIGNED_SHORT_5_6_5;case a.TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV:return this._gl.UNSIGNED_INT_2_10_10_10_REV;case a.TEXTURETYPE_UNSIGNED_INT_24_8:return this._gl.UNSIGNED_INT_24_8;case a.TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV:return this._gl.UNSIGNED_INT_10F_11F_11F_REV;case a.TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV:return this._gl.UNSIGNED_INT_5_9_9_9_REV;case a.TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV:return this._gl.FLOAT_32_UNSIGNED_INT_24_8_REV}return this._gl.UNSIGNED_BYTE}_getInternalFormat(e,t=!1){let r=t?this._glSRGBExtensionValues.SRGB8_ALPHA8:this._gl.RGBA;switch(e){case a.TEXTUREFORMAT_ALPHA:r=this._gl.ALPHA;break;case a.TEXTUREFORMAT_LUMINANCE:r=this._gl.LUMINANCE;break;case a.TEXTUREFORMAT_LUMINANCE_ALPHA:r=this._gl.LUMINANCE_ALPHA;break;case a.TEXTUREFORMAT_RED:case a.TEXTUREFORMAT_R16_UNORM:case a.TEXTUREFORMAT_R16_SNORM:r=this._gl.RED;break;case a.TEXTUREFORMAT_RG:case a.TEXTUREFORMAT_RG16_UNORM:case a.TEXTUREFORMAT_RG16_SNORM:r=this._gl.RG;break;case a.TEXTUREFORMAT_RGB:case a.TEXTUREFORMAT_RGB16_UNORM:case a.TEXTUREFORMAT_RGB16_SNORM:r=t?this._glSRGBExtensionValues.SRGB:this._gl.RGB;break;case a.TEXTUREFORMAT_RGBA:case a.TEXTUREFORMAT_RGBA16_UNORM:case a.TEXTUREFORMAT_RGBA16_SNORM:r=t?this._glSRGBExtensionValues.SRGB8_ALPHA8:this._gl.RGBA}if(this._webGLVersion>1)switch(e){case a.TEXTUREFORMAT_RED_INTEGER:r=this._gl.RED_INTEGER;break;case a.TEXTUREFORMAT_RG_INTEGER:r=this._gl.RG_INTEGER;break;case a.TEXTUREFORMAT_RGB_INTEGER:r=this._gl.RGB_INTEGER;break;case a.TEXTUREFORMAT_RGBA_INTEGER:r=this._gl.RGBA_INTEGER}return r}_getRGBABufferInternalSizedFormat(e,t,r=!1){if(1===this._webGLVersion){if(void 0!==t)switch(t){case a.TEXTUREFORMAT_ALPHA:return this._gl.ALPHA;case a.TEXTUREFORMAT_LUMINANCE:return this._gl.LUMINANCE;case a.TEXTUREFORMAT_LUMINANCE_ALPHA:return this._gl.LUMINANCE_ALPHA;case a.TEXTUREFORMAT_RGB:return r?this._glSRGBExtensionValues.SRGB:this._gl.RGB}return this._gl.RGBA}switch(e){case a.TEXTURETYPE_BYTE:switch(t){case a.TEXTUREFORMAT_RED:return this._gl.R8_SNORM;case a.TEXTUREFORMAT_RG:return this._gl.RG8_SNORM;case a.TEXTUREFORMAT_RGB:return this._gl.RGB8_SNORM;case a.TEXTUREFORMAT_RED_INTEGER:return this._gl.R8I;case a.TEXTUREFORMAT_RG_INTEGER:return this._gl.RG8I;case a.TEXTUREFORMAT_RGB_INTEGER:return this._gl.RGB8I;case a.TEXTUREFORMAT_RGBA_INTEGER:return this._gl.RGBA8I;default:return this._gl.RGBA8_SNORM}case a.TEXTURETYPE_UNSIGNED_BYTE:switch(t){case a.TEXTUREFORMAT_RED:return this._gl.R8;case a.TEXTUREFORMAT_RG:return this._gl.RG8;case a.TEXTUREFORMAT_RGB:return r?this._glSRGBExtensionValues.SRGB8:this._gl.RGB8;case a.TEXTUREFORMAT_RGBA:return r?this._glSRGBExtensionValues.SRGB8_ALPHA8:this._gl.RGBA8;case a.TEXTUREFORMAT_RED_INTEGER:return this._gl.R8UI;case a.TEXTUREFORMAT_RG_INTEGER:return this._gl.RG8UI;case a.TEXTUREFORMAT_RGB_INTEGER:return this._gl.RGB8UI;case a.TEXTUREFORMAT_RGBA_INTEGER:return this._gl.RGBA8UI;case a.TEXTUREFORMAT_ALPHA:return this._gl.ALPHA;case a.TEXTUREFORMAT_LUMINANCE:return this._gl.LUMINANCE;case a.TEXTUREFORMAT_LUMINANCE_ALPHA:return this._gl.LUMINANCE_ALPHA;default:return this._gl.RGBA8}case a.TEXTURETYPE_SHORT:switch(t){case a.TEXTUREFORMAT_RED_INTEGER:return this._gl.R16I;case a.TEXTUREFORMAT_R16_SNORM:return this._gl.R16_SNORM_EXT;case a.TEXTUREFORMAT_RG16_SNORM:return this._gl.RG16_SNORM_EXT;case a.TEXTUREFORMAT_RGB16_SNORM:return this._gl.RGB16_SNORM_EXT;case a.TEXTUREFORMAT_RGBA16_SNORM:return this._gl.RGBA16_SNORM_EXT;case a.TEXTUREFORMAT_RG_INTEGER:return this._gl.RG16I;case a.TEXTUREFORMAT_RGB_INTEGER:return this._gl.RGB16I;case a.TEXTUREFORMAT_RGBA_INTEGER:default:return this._gl.RGBA16I}case a.TEXTURETYPE_UNSIGNED_SHORT:switch(t){case a.TEXTUREFORMAT_RED_INTEGER:return this._gl.R16UI;case a.TEXTUREFORMAT_R16_UNORM:return this._gl.R16_EXT;case a.TEXTUREFORMAT_RG16_UNORM:return this._gl.RG16_EXT;case a.TEXTUREFORMAT_RGB16_UNORM:return this._gl.RGB16_EXT;case a.TEXTUREFORMAT_RGBA16_UNORM:return this._gl.RGBA16_EXT;case a.TEXTUREFORMAT_RG_INTEGER:return this._gl.RG16UI;case a.TEXTUREFORMAT_RGB_INTEGER:return this._gl.RGB16UI;case a.TEXTUREFORMAT_RGBA_INTEGER:default:return this._gl.RGBA16UI}case a.TEXTURETYPE_INT:switch(t){case a.TEXTUREFORMAT_RED_INTEGER:return this._gl.R32I;case a.TEXTUREFORMAT_RG_INTEGER:return this._gl.RG32I;case a.TEXTUREFORMAT_RGB_INTEGER:return this._gl.RGB32I;case a.TEXTUREFORMAT_RGBA_INTEGER:default:return this._gl.RGBA32I}case a.TEXTURETYPE_UNSIGNED_INTEGER:switch(t){case a.TEXTUREFORMAT_RED_INTEGER:return this._gl.R32UI;case a.TEXTUREFORMAT_RG_INTEGER:return this._gl.RG32UI;case a.TEXTUREFORMAT_RGB_INTEGER:return this._gl.RGB32UI;case a.TEXTUREFORMAT_RGBA_INTEGER:default:return this._gl.RGBA32UI}case a.TEXTURETYPE_FLOAT:switch(t){case a.TEXTUREFORMAT_RED:return this._gl.R32F;case a.TEXTUREFORMAT_RG:return this._gl.RG32F;case a.TEXTUREFORMAT_RGB:return this._gl.RGB32F;case a.TEXTUREFORMAT_RGBA:default:return this._gl.RGBA32F}case a.TEXTURETYPE_HALF_FLOAT:switch(t){case a.TEXTUREFORMAT_RED:return this._gl.R16F;case a.TEXTUREFORMAT_RG:return this._gl.RG16F;case a.TEXTUREFORMAT_RGB:return this._gl.RGB16F;case a.TEXTUREFORMAT_RGBA:default:return this._gl.RGBA16F}case a.TEXTURETYPE_UNSIGNED_SHORT_5_6_5:return this._gl.RGB565;case a.TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV:return this._gl.R11F_G11F_B10F;case a.TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV:return this._gl.RGB9_E5;case a.TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4:return this._gl.RGBA4;case a.TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1:return this._gl.RGB5_A1;case a.TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV:switch(t){case a.TEXTUREFORMAT_RGBA:return this._gl.RGB10_A2;case a.TEXTUREFORMAT_RGBA_INTEGER:return this._gl.RGB10_A2UI;default:return this._gl.RGB10_A2}}return r?this._glSRGBExtensionValues.SRGB8_ALPHA8:this._gl.RGBA8}readPixels(e,t,r,s,i=!0,_=!0){const n=i?4:3,a=i?this._gl.RGBA:this._gl.RGB,l=new Uint8Array(s*r*n);return _&&this.flushFramebuffer(),this._gl.readPixels(e,t,r,s,a,this._gl.UNSIGNED_BYTE,l),Promise.resolve(l)}static get IsSupportedAsync(){return Promise.resolve(this.isSupported())}static get IsSupported(){return this.isSupported()}static isSupported(){if(null!==this._HasMajorPerformanceCaveat)return!this._HasMajorPerformanceCaveat;if(null===this._IsSupported)try{const e=r._CreateCanvas(1,1),t=e.getContext("webgl")||e.getContext("experimental-webgl");this._IsSupported=null!=t&&!!window.WebGLRenderingContext}catch(e){this._IsSupported=!1}return this._IsSupported}static get HasMajorPerformanceCaveat(){if(null===this._HasMajorPerformanceCaveat)try{const e=r._CreateCanvas(1,1),t=e.getContext("webgl",{failIfMajorPerformanceCaveat:!0})||e.getContext("experimental-webgl",{failIfMajorPerformanceCaveat:!0});this._HasMajorPerformanceCaveat=!t}catch(e){this._HasMajorPerformanceCaveat=!1}return this._HasMajorPerformanceCaveat}}N._TempClearColorUint32=new Uint32Array(4),N._TempClearColorInt32=new Int32Array(4),N.ExceptionList=[{key:"Chrome/63.0",capture:"63\\.0\\.3239\\.(\\d+)",captureConstraint:108,targets:["uniformBuffer"]},{key:"Firefox/58",capture:null,captureConstraint:null,targets:["uniformBuffer"]},{key:"Firefox/59",capture:null,captureConstraint:null,targets:["uniformBuffer"]},{key:"Chrome/72.+?Mobile",capture:null,captureConstraint:null,targets:["vao"]},{key:"Chrome/73.+?Mobile",capture:null,captureConstraint:null,targets:["vao"]},{key:"Chrome/74.+?Mobile",capture:null,captureConstraint:null,targets:["vao"]},{key:"Mac OS.+Chrome/71",capture:null,captureConstraint:null,targets:["vao"]},{key:"Mac OS.+Chrome/72",capture:null,captureConstraint:null,targets:["vao"]},{key:"Mac OS.+Chrome",capture:null,captureConstraint:null,targets:["uniformBuffer"]},{key:"Chrome/12\\d\\..+?Mobile",capture:null,captureConstraint:null,targets:["uniformBuffer"]},{key:".*AppleWebKit.*(15.4).*Safari",capture:null,captureConstraint:null,targets:["antialias","maxMSAASamples"]},{key:".*(15.4).*AppleWebKit.*Safari",capture:null,captureConstraint:null,targets:["antialias","maxMSAASamples"]}],N._ConcatenateShader=t,N._IsSupported=null,N._HasMajorPerformanceCaveat=null;var L=Object.freeze({__proto__:null,ThinEngine:N});export{N as T,U as W,F as a,L as t};
|
|
2
|
-
//# sourceMappingURL=thinEngine-Cu21aOSC.esm.min.js.map
|