UNPKG

@babylonjs/viewer

Version:

The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.

3 lines (2 loc) 1.45 kB
import{T as e,aK as a,aL as t,aM as n,aN as r,aO as o}from"./index-B8IgtevW.esm.min.js";async function s(s,c){const u=c._envTextures;if(!u)return;const m=c._envRecoverySource;m||e(84);const f=u.sphericalHarmonics;let p;if(c._envTextures=void 0,"env"===m.kind)p=await async function(e,t,n){const s=r(t.brdfUrl);s.catch(()=>{});const c=await i(t.url),{faceBlobs:u,irradianceSH:m,width:f,mipCount:p}=o(c),l=await Promise.all(u.map(e=>createImageBitmap(e,{premultiplyAlpha:"none",colorSpaceConversion:"none"}))),d=await import("./rgbd-decode-D4WHAcMb.esm.min.js"),h=d.uploadCubemapRGBD(e,l,f,p);for(const e of l)e.close();const b=await s,w=d.decodeBrdfPng(e,b);return b.close(),a(h,w,m,.8,e,n)}(s,m,f);else{const e=await import("./index-B8IgtevW.esm.min.js").then(function(e){return e.bQ}),t=await import("./index-B8IgtevW.esm.min.js").then(function(e){return e.bR}),n=await i(m.url),r=e.parseRGBE(n),o=e.computeSHFromEquirect(r.data,r.width,r.height),c=t.equirectToCubemapGPU(s,r,m.faceSize),u=t.prefilterCubemapGPU(s,c,m.faceSize,Math.floor(Math.log2(m.faceSize))+1);p=a(u,t.generateBrdfLut(s),o,1,s,f)}Object.assign(u,p);const{specularCube:l,brdfLut:d}=u;t(l),t(d),c._disposables.push(()=>{n(l),n(d)}),c._envTextures=u,c._envRecoverySource=m}async function i(a){const t=await fetch(a);return t.ok||e(85,a,t.status,t.statusText),t.arrayBuffer()}export{s as rebuildSceneEnvironment}; //# sourceMappingURL=environment-recovery-D1LJSRlL.esm.min.js.map