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) 2.35 kB
import{bU as e,C as n,b as a,H as r,a as s,E as t}from"./index-Bw2N6w1y.esm.min.js";let i,p=null;async function o(e,n,a,r,s="image/png",t,i){const p=await a.readPixels(0,0,e,n);d(e,n,new Uint8Array(p.buffer),r,s,t,!0,void 0,i)}async function c(e,n,a,r="image/png",s,t=!1,i=!1,p){return await new Promise((o=>{d(e,n,a,(e=>o(e)),r,s,t,i,p)}))}function d(o,c,d,m,f="image/png",u,g=!1,h=!1,w){(async function(){return p||(p=new Promise(((e,n)=>{let a,p=null;const o={preserveDrawingBuffer:!0,depth:!1,stencil:!1,alpha:!0,premultipliedAlpha:!1,antialias:!1,failIfMajorPerformanceCaveat:!1};import("./index-Bw2N6w1y.esm.min.js").then((function(e){return e.cj})).then((({ThinEngine:c})=>{const d=r.Instances.length;try{a=new OffscreenCanvas(100,100),p=new c(a,!1,o)}catch(e){d<r.Instances.length&&r.Instances.pop()?.dispose(),a=document.createElement("canvas"),p=new c(a,!1,o)}r.Instances.pop(),r.OnEnginesDisposedObservable.add((e=>{p&&e!==p&&!p.isDisposed&&0===r.Instances.length&&l()})),p.getCaps().parallelShaderCompile=void 0;const m=new s(p);import("./pass.fragment-9Oq7Eg8G.esm.min.js").then((({passPixelShader:r})=>{if(!p)return void n("Engine is not defined");const s=new t({engine:p,name:r.name,fragmentShader:r.shader,samplerNames:["textureSampler"]});i={canvas:a,engine:p,renderer:m,wrapper:s},e(i)}))})).catch(n)}))),await p})().then((r=>{if(r.engine.setSize(o,c,!0),d instanceof Float32Array){const n=new Uint8Array(d.length);let a=d.length;for(;a--;){const r=d[a];n[a]=Math.round(255*e(r))}d=n}const s=r.engine.createRawTexture(d,o,c,n.TEXTUREFORMAT_RGBA,!1,!g,n.TEXTURE_NEAREST_NEAREST);r.renderer.setViewport(),r.renderer.applyEffectWrapper(r.wrapper),r.wrapper.effect._bindTexture("textureSampler",s),r.renderer.draw(),h?a.ToBlob(r.canvas,(e=>{const n=new FileReader;n.onload=e=>{const n=e.target.result;m&&m(n)},n.readAsArrayBuffer(e)}),f,w):a.EncodeScreenshotCanvasData(r.canvas,m,f,u,w),s.dispose()}))}function l(){i?(i.wrapper.dispose(),i.renderer.dispose(),i.engine.dispose()):p?.then((e=>{e.wrapper.dispose(),e.renderer.dispose(),e.engine.dispose()})),p=null,i=null}const m={DumpData:d,DumpDataAsync:c,DumpFramebuffer:o,Dispose:l};a.DumpData=d,a.DumpDataAsync=c,a.DumpFramebuffer=o;export{l as Dispose,d as DumpData,c as DumpDataAsync,o as DumpFramebuffer,m as DumpTools}; //# sourceMappingURL=dumpTools-DB1fGFKH.esm.min.js.map