three-stdlib
Version:
stand-alone library of threejs examples
49 lines (48 loc) • 1.79 kB
TypeScript
import { Matrix4, Mesh, BufferGeometry, Material, DataTexture, IUniform } from 'three';
declare class BatchedMesh extends Mesh<BufferGeometry, Material> {
_vertexStarts: number[];
_vertexCounts: number[];
_indexStarts: number[];
_indexCounts: number[];
_reservedRanges: {
vertexStart: number;
vertexCount: number;
indexStart: number;
indexCount: number;
}[];
_visible: boolean[];
_active: boolean[];
_maxGeometryCount: number;
_maxVertexCount: number;
_maxIndexCount: number;
_geometryInitialized: boolean;
_geometryCount: number;
_matrices: Matrix4[];
_matricesTexture: DataTexture | null;
_customUniforms: Record<string, IUniform>;
constructor(maxGeometryCount: number, maxVertexCount: number, maxIndexCount?: number, material?: Material);
_initMatricesTexture(): void;
_initShader(): void;
_initializeGeometry(reference: BufferGeometry): void;
_validateGeometry(geometry: BufferGeometry): void;
getGeometryCount(): number;
getVertexCount(): number;
getIndexCount(): number;
addGeometry(geometry: BufferGeometry, vertexCount?: number, indexCount?: number): number;
/**
* @deprecated use `addGeometry` instead.
*/
applyGeometry(geometry: BufferGeometry): number;
setGeometryAt(id: number, geometry: BufferGeometry): number;
deleteGeometry(geometryId: number): this;
optimize(): never;
setMatrixAt(geometryId: number, matrix: Matrix4): this;
getMatrixAt(geometryId: number, matrix: Matrix4): Matrix4;
setVisibleAt(geometryId: number, value: boolean): this;
getVisibleAt(geometryId: number): boolean;
raycast(): void;
copy(): never;
toJSON(): never;
dispose(): this;
}
export { BatchedMesh };