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.

39 lines (36 loc) 1.21 kB
import { o as TU, q as getOrCreateSampler, ak as acquireTexture } from './index-DMbDahsc.esm.js'; import { generateMipmaps } from './generate-mipmaps-BpLaf4fV.esm.js'; async function rebuildDynamicTexture2D(engine, tex) { const rec = tex._recoverySource; if (!rec || rec.kind !== "dynamic") { return; } const { width, height, format, levels, samplerDesc } = rec; const rebuilt = engine._device.createTexture({ size: { width, height }, format, mipLevelCount: levels, usage: TU.TEXTURE_BINDING | TU.COPY_DST | TU.RENDER_ATTACHMENT }); if (rec.source) { try { engine._device.queue.copyExternalImageToTexture({ source: rec.source, flipY: rec.flipY }, { texture: rebuilt, premultipliedAlpha: rec.premultipliedAlpha }, [ width, height ]); if (levels > 1) { generateMipmaps(engine, rebuilt); } } catch { rec.source = null; } } tex.texture = rebuilt; tex.view = rebuilt.createView(); tex.sampler = getOrCreateSampler(engine, samplerDesc); tex.width = width; tex.height = height; acquireTexture(tex); } export { rebuildDynamicTexture2D }; //# sourceMappingURL=dynamic-texture-recovery-BGY1ewGU.esm.js.map