UNPKG

@kibeo/loaders.gl-textures

Version:

Framework-independent loaders for compressed and super compressed (basis) textures

42 lines (36 loc) 1.1 kB
import { loadLibrary } from '@kibeo/loaders.gl-worker-utils'; let loadBasisPromise; export async function loadBasisModule(options) { const modules = options.modules || {}; if (modules.basis) { return modules.basis; } loadBasisPromise = loadBasisPromise || loadBasis(options); return await loadBasisPromise; } async function loadBasis(options) { let BASIS = null; let wasmBinary = null; [BASIS, wasmBinary] = await Promise.all([await loadLibrary('basis_transcoder.js', 'textures', options), await loadLibrary('basis_transcoder.wasm', 'textures', options)]); BASIS = BASIS || globalThis.BASIS; return await initializeBasisModule(BASIS, wasmBinary); } function initializeBasisModule(BasisModule, wasmBinary) { const options = {}; if (wasmBinary) { options.wasmBinary = wasmBinary; } return new Promise(resolve => { BasisModule(options).then(module => { const { BasisFile, initializeBasis } = module; initializeBasis(); resolve({ BasisFile }); }); }); } //# sourceMappingURL=basis-module-loader.js.map