@three.ez/batched-mesh-extensions
Version:
Utility extension methods for BatchedMesh
29 lines • 1.39 kB
TypeScript
import { BatchedMesh, BufferGeometry, TypedArray } from 'three';
export type LODInfo = {
start: number;
count: number;
distance: number;
hysteresis: number;
};
declare module 'three' {
interface BatchedMesh {
/**
* Adds a Level of Detail (LOD) geometry to the BatchedMesh.
* @param geometryId The ID of the geometry to which the LOD is being added.
* @param geometryOrIndex The BufferGeometry to be added as LOD or the index array.
* @param distance The distance at which this LOD should be used.
* @param hysteresis Optional hysteresis value for LOD transition.
*/
addGeometryLOD(geometryId: number, geometryOrIndex: BufferGeometry | TypedArray, distance: number, hysteresis?: number): void;
/**
* Retrieves the LOD index for a given distance.
* @param LOD The array of LOD information.
* @param distance The distance to check against the LODs.
* @returns The index of the appropriate LOD
*/
getLODIndex(LOD: LODInfo[], distance: number): number;
}
}
export declare function addGeometryLOD(this: BatchedMesh, geometryId: number, geoOrIndex: BufferGeometry | TypedArray, distance: number, hysteresis?: number): void;
export declare function getLODIndex(LODs: LODInfo[], distance: number): number;
//# sourceMappingURL=LOD.d.ts.map