UNPKG

@threlte/extras

Version:

Utilities, abstractions and plugins for your Threlte apps

16 lines (15 loc) 560 B
import { useThrelte } from '@threlte/core'; import { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader.js'; const ktxLoaderInstances = {}; export const useKtx2 = (transcoderPath) => { const cachedLoader = ktxLoaderInstances[transcoderPath]; if (cachedLoader) { return cachedLoader; } const { renderer } = useThrelte(); const ktx2Loader = new KTX2Loader(); ktx2Loader.setTranscoderPath(transcoderPath); ktx2Loader.detectSupport(renderer); ktxLoaderInstances[transcoderPath] = ktx2Loader; return ktx2Loader; };