UNPKG

pixi.js

Version:

<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">

36 lines (33 loc) 1.05 kB
import WorkerInstance from '../../../_virtual/basis.worker.mjs'; import { basisTranscoderUrls } from '../utils/setBasisTranscoderPath.mjs'; "use strict"; let basisWorker; const urlHash = {}; function getBasisWorker(supportedTextures) { if (!basisWorker) { basisWorker = new WorkerInstance().worker; basisWorker.onmessage = (messageEvent) => { const { success, url, textureOptions } = messageEvent.data; if (!success) { console.warn("Failed to load Basis texture", url); } urlHash[url](textureOptions); }; basisWorker.postMessage({ type: "init", jsUrl: basisTranscoderUrls.jsUrl, wasmUrl: basisTranscoderUrls.wasmUrl, supportedTextures }); } return basisWorker; } function loadBasisOnWorker(url, supportedTextures) { const ktxWorker = getBasisWorker(supportedTextures); return new Promise((resolve) => { urlHash[url] = resolve; ktxWorker.postMessage({ type: "load", url }); }); } export { loadBasisOnWorker }; //# sourceMappingURL=loadBasisOnWorker.mjs.map