[page:Mesh] →

[name]

A special version of [page:Mesh] with instanced rendering support. Use [name] if you have to render a large number of objects with the same geometry and material but with different world transformations. The usage of [name] will help you to reduce the number of draw calls and thus improve the overall rendering performance in your application.

Example

[example:webgl_instancing_suzanne WebGL / instancing / suzanne]

Constructor

[name]( [param:BufferGeometry geometry], [param:Material material], [param:Integer count] )

[page:Geometry geometry] - an instance of [page:BufferGeometry].
[page:Material material] - an instance of [page:Material]. Default is a new [page:MeshBasicMaterial].
[page:Integer count] - the number of instances.

Properties

See the base [page:Mesh] class for common properties.

[property:Integer count]

The number of instances. The *count* value passed into the constructor represents the maximum number of instances of this mesh. You can change the number of instances at runtime to an integer value in the range [0, count].

If you need more instances than the original count value, you have to create a new [name].

[property:BufferAttribute instanceMatrix]

Represents the local transformation of all instances. For internal use only.

Methods

See the base [page:Mesh] class for common methods.

[method:null getMatrixAt]( [param:Integer index], [param:Matrix4 matrix] )

[page:Integer index]: The index of an instance. Values have to be in the range [0, count].

[page:Matrix4 matrix]: This 4x4 matrix will be set to the local transformation matrix of the defined instance.

Get the local transformation matrix of the defined instance.

[method:null setMatrixAt]( [param:Integer index], [param:Matrix4 matrix] )

[page:Integer index]: The index of an instance. Values have to be in the range [0, count].

[page:Matrix4 matrix]: A 4x4 matrix representing the local transformation of a single instance.

Sets the given local transformation matrix to the defined instance.

Source

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]