@needle-tools/gltf-progressive
Version:
three.js support for loading glTF or GLB files that contain progressive loading data
37 lines (36 loc) • 1.65 kB
TypeScript
export { version as VERSION } from "./version.js";
export * from "./extension.js";
export * from "./plugins/index.js";
export { LODsManager, type LOD_Results } from "./lods_manager.js";
export { setDracoDecoderLocation, setKTX2TranscoderLocation, createLoaders, addDracoAndKTX2Loaders, configureLoader } from "./loaders.js";
export { getRaycastMesh, registerRaycastMesh, useRaycastMeshes } from "./utils.js";
import { WebGLRenderer } from "three";
import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader.js";
import { SmartLoadingHints } from "./loaders.js";
import { LODsManager } from "./lods_manager.js";
declare type UseNeedleGLTFProgressiveOptions = {
/**
* When set to true the LODs manager will automatically be enabled
*/
enableLODsManager?: boolean;
/**
* Smart loading hints can be used by needle infrastructure to deliver assets optimized for a specific usecase.
*/
hints?: Omit<SmartLoadingHints, "progressive">;
};
/** Use this function to enable progressive loading of gltf models.
* @param url The url of the gltf model.
* @param renderer The renderer of the scene.
* @param loader The gltf loader.
* @param opts Options.
* @returns The LODsManager instance.
* @example In react-three-fiber:
* ```ts
* const url = 'https://yourdomain.com/yourmodel.glb'
* const { scene } = useGLTF(url, false, false, (loader) => {
* useNeedleGLTFProgressive(url, gl, loader)
* })
* return <primitive object={scene} />
* ```
*/
export declare function useNeedleProgressive(url: string, renderer: WebGLRenderer, loader: GLTFLoader, opts?: UseNeedleGLTFProgressiveOptions): LODsManager;