UNPKG

@softrobot/loaders.gl-draco

Version:

Framework-independent loader and writer for Draco compressed meshes and point clouds

41 lines (39 loc) 1.05 kB
import { VERSION } from './lib/utils/version'; import { loadDracoDecoderModule } from './lib/draco-module-loader'; import DracoParser from './lib/draco-parser'; export const DracoWorkerLoader = { name: 'Draco', id: 'draco', module: 'draco', version: VERSION, worker: true, extensions: ['drc'], mimeTypes: ['application/octet-stream'], binary: true, tests: ['DRACO'], options: { draco: { decoderType: typeof WebAssembly === 'object' ? 'wasm' : 'js', libraryPath: "libs/", extraAttributes: {} } } }; export const DracoLoader = { ...DracoWorkerLoader, parse }; async function parse(arrayBuffer, options, context, loader) { const { draco } = await loadDracoDecoderModule(options); const dracoParser = new DracoParser(draco); try { return dracoParser.parseSync(arrayBuffer, { extraAttributes: options.draco && options.draco.extraAttributes || null, ...(options.parseOptions || {}) }); } finally { dracoParser.destroy(); } } //# sourceMappingURL=draco-loader.js.map