const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/rgbdDecode.fragment-BKWiTJSM.js","assets/Viewer-DVCEMRp5.js","assets/vuetify-Ce4WN_Dg.js","assets/overlayscrollbars-CiKU261J.js","assets/overlayscrollbars-BJn_P54_.css","assets/vuetify-BSwS9o2d.css","assets/index-Bku7SJna.js","assets/echarts-DzoUeqWp.js","assets/index-DdkGOISd.css","assets/codemirror-ZSHHXwGs.js","assets/Viewer-oTo4b16s.css","assets/rgbdDecode.fragment-DQaMBCWE.js","assets/helperFunctions-CmftqOHQ.js"])))=>i.map(i=>d[i]); import{o as C}from"./index-Bku7SJna.js";import{B as P,a as S,d as D,V as m,f as B,h as U,P as z,I as G}from"./Viewer-DVCEMRp5.js";import{C as V}from"./cubemapToSphericalPolynomial-DI79UW0r.js";import"./vuetify-Ce4WN_Dg.js";import"./overlayscrollbars-CiKU261J.js";import"./echarts-DzoUeqWp.js";import"./codemirror-ZSHHXwGs.js";P.prototype.forceSphericalPolynomialsRecompute=function(){this._texture&&(this._texture._sphericalPolynomial=null,this._texture._sphericalPolynomialPromise=null,this._texture._sphericalPolynomialComputed=!1)};Object.defineProperty(P.prototype,"sphericalPolynomial",{get:function(){if(this._texture){if(this._texture._sphericalPolynomial||this._texture._sphericalPolynomialComputed)return this._texture._sphericalPolynomial;if(this._texture.isReady)return this._texture._sphericalPolynomialPromise||(this._texture._sphericalPolynomialPromise=V.ConvertCubeMapTextureToSphericalPolynomial(this),this._texture._sphericalPolynomialPromise===null?this._texture._sphericalPolynomialComputed=!0:this._texture._sphericalPolynomialPromise.then(e=>{this._texture._sphericalPolynomial=e,this._texture._sphericalPolynomialComputed=!0})),null}return null},set:function(e){this._texture&&(this._texture._sphericalPolynomial=e)},enumerable:!0,configurable:!0});const O="image/png",I=2,M=[134,22,135,150,246,214,150,54];function k(e){const a=new DataView(e.buffer,e.byteOffset,e.byteLength);let t=0;for(let l=0;lI)throw new Error('Unsupported babylon environment map version "'.concat(e.version,'". Latest supported version is "').concat(I,'".'));return e.version===2||(e={...e,version:2,imageType:O}),e}function E(e,a){a=A(a);const t=a.specular;let r=Math.log2(a.width);if(r=Math.round(r)+1,t.mipmaps.length!==6*r)throw new Error('Unsupported specular mipmaps number "'.concat(t.mipmaps.length,'"'));const n=new Array(r);for(let o=0;o{if(t){const i=a.createTexture(null,!0,!0,null,1,null,u=>{v(u)},e);r==null||r.onEffectCreatedObservable.addOnce(u=>{u.executeWhenCompiled(()=>{r.externalTextureSamplerBinding=!0,r.onApply=p=>{p._bindTexture("textureSampler",i),p.setFloat2("scale",1,a._features.needsInvertingBitmap&&e instanceof ImageBitmap?-1:1)},a.scenes.length&&(a.scenes[0].postProcessManager.directRender([r],_,!0,o,l),a.restoreDefaultFramebuffer(),i.dispose(),URL.revokeObjectURL(n),x())})})}else{if(a._uploadImageToTexture(y,e,o,l),s){const i=h[l];i&&a._uploadImageToTexture(i._texture,e,o,0)}x()}})}async function N(e,a,t=O){if(!B.IsExponentOfTwo(e.width))throw new Error("Texture size must be a power of two");const r=U(e.width)+1,n=e.getEngine();let o=!1,l=!1,s=null,h=null,_=null;const y=n.getCaps();e.format=5,e.type=0,e.generateMipMaps=!0,e._cachedAnisotropicFilteringLevel=null,n.updateTextureSamplingMode(3,e),y.textureLOD?n._features.supportRenderAndCopyToLodForFloatTextures?y.textureHalfFloatRender&&y.textureHalfFloatLinearFiltering?(o=!0,e.type=2):y.textureFloatRender&&y.textureFloatLinearFiltering&&(o=!0,e.type=1):o=!1:(o=!1,l=!0,_={});let x=0;if(o)n.isWebGPU?(x=1,await C(()=>import("./rgbdDecode.fragment-BKWiTJSM.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]))):await C(()=>import("./rgbdDecode.fragment-DQaMBCWE.js"),__vite__mapDeps([11,1,2,3,4,5,6,7,8,9,10,12])),s=new z("rgbdDecode","rgbdDecode",null,null,1,null,3,n,!1,void 0,e.type,void 0,null,!1,void 0,x),e._isRGBD=!1,e.invertY=!1,h=n.createRenderTargetCubeTexture(e.width,{generateDepthBuffer:!1,generateMipMaps:!0,generateStencilBuffer:!1,samplingMode:3,type:e.type,format:5});else if(e._isRGBD=!0,e.invertY=!0,l){const u=e._lodGenerationScale,p=e._lodGenerationOffset;for(let c=0;c<3;c++){const g=1-c/2,f=p,L=(r-1)*u+p,R=f+(L-f)*g,w=Math.round(Math.min(Math.max(R,0),L)),b=new G(n,2);b.isCube=!0,b.invertY=!0,b.generateMipMaps=!1,n.updateTextureSamplingMode(2,b);const T=new P(null);switch(T._isCube=!0,T._texture=b,_[w]=T,c){case 0:e._lodTextureLow=T;break;case 1:e._lodTextureMid=T;break;case 2:e._lodTextureHigh=T;break}}}const v=[];for(let i=0;iF(f,n,o,s,d,u,i,l,_,h,e));else{const f=new Image;f.src=d,g=new Promise((L,R)=>{f.onload=()=>{F(f,n,o,s,d,u,i,l,_,h,e).then(()=>L()).catch(w=>{R(w)})},f.onerror=w=>{R(w)}})}v.push(g)}if(a.length{h&&(n._releaseTexture(e),h._swapAndDie(e)),s&&s.dispose(),l&&(e._lodTextureHigh&&e._lodTextureHigh._texture&&(e._lodTextureHigh._texture.isReady=!0),e._lodTextureMid&&e._lodTextureMid._texture&&(e._lodTextureMid._texture.isReady=!0),e._lodTextureLow&&e._lodTextureLow._texture&&(e._lodTextureLow._texture.isReady=!0))})}function Y(e,a){a=A(a);const t=a.irradiance;if(!t)return;const r=new D;m.FromArrayToRef(t.x,0,r.x),m.FromArrayToRef(t.y,0,r.y),m.FromArrayToRef(t.z,0,r.z),m.FromArrayToRef(t.xx,0,r.xx),m.FromArrayToRef(t.yy,0,r.yy),m.FromArrayToRef(t.zz,0,r.zz),m.FromArrayToRef(t.yz,0,r.yz),m.FromArrayToRef(t.zx,0,r.zx),m.FromArrayToRef(t.xy,0,r.xy),e._sphericalPolynomial=r}class X{constructor(){this.supportCascades=!1}loadCubeData(a,t,r,n,o){if(Array.isArray(a))return;const l=k(a);if(l){t.width=l.width,t.height=l.width;try{Y(t,l),H(t,a,l).then(()=>{t.isReady=!0,t.onLoadedObservable.notifyObservers(t),t.onLoadedObservable.clear(),n&&n()},s=>{o==null||o("Can not upload environment levels",s)})}catch(s){o==null||o("Can not upload environment file",s)}}else o&&o("Can not parse the environment file",null)}loadData(){throw".env not supported in 2d."}}export{X as _ENVTextureLoader};