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.

37 lines (34 loc) 1.28 kB
import { T as ThrowLiteError } from './index-By0tcgYN.esm.js'; async function parseGltfJsonAsset(buffer, baseUrl) { const json = JSON.parse(new TextDecoder().decode(buffer)); const buffers = json.buffers ?? []; let binChunk; if (buffers.length > 1) { const multiBuffer = await import('./gltf-multi-buffer-5Wl9SblW.esm.js'); binChunk = await multiBuffer.loadMultiBuffer(json, baseUrl); } else if (buffers[0]?.uri) { binChunk = new DataView(await fetch(resolveBufferUri(buffers[0].uri, baseUrl)).then((r) => r.arrayBuffer())); } else { binChunk = new DataView(new ArrayBuffer(0)); } return { json, binChunk, baseUrl }; } async function resolveExternalImage(uri, baseUrl) { const response = await fetch(new URL(uri, baseUrl + "x")); if (!response.ok) { ThrowLiteError(96, response.status, response.statusText); } return createImageBitmap(await response.blob(), { premultiplyAlpha: "none", colorSpaceConversion: "none" }); } function resolveBufferUri(uri, baseUrl) { if (baseUrl) { return new URL(uri, baseUrl + "x").href; } try { return new URL(uri).href; } catch { ThrowLiteError(97); } } export { parseGltfJsonAsset, resolveBufferUri, resolveExternalImage }; //# sourceMappingURL=gltf-json-asset-Bm6pwOaU.esm.js.map