File size: 1,007 Bytes
2b7aae2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import { BufferGeometry } from '../core/BufferGeometry';
import { Material } from './../materials/Material';
import { BufferAttribute } from './../core/BufferAttribute';
import { InstancedBufferAttribute } from '../core/InstancedBufferAttribute';
import { Mesh } from './Mesh';
import { Matrix4 } from './../math/Matrix4';
import { Color } from './../math/Color';

export class InstancedMesh<TGeometry extends BufferGeometry = BufferGeometry, TMaterial extends Material | Material[] = Material | Material[]> extends Mesh<
	TGeometry,
	TMaterial
> {
	constructor(geometry: TGeometry | undefined, material: TMaterial | undefined, count: number);

	count: number;
	instanceColor: null | InstancedBufferAttribute;
	instanceMatrix: InstancedBufferAttribute;
	readonly isInstancedMesh: true;

	getColorAt(index: number, color: Color): void;
	getMatrixAt(index: number, matrix: Matrix4): void;
	setColorAt(index: number, color: Color): void;
	setMatrixAt(index: number, matrix: Matrix4): void;
	dispose(): void;
}