ObjectMeshCluster Class
MeshCluster class bakes identical meshes (with the same material applied to their surfaces) into one objects, which allows for less cluttered spatial tree, reduces the number of texture fetches and speeds up rendering.
Meshes are rendered within a specified distance from the camera. Further than this distance, nodes fade out and then disappear completely.
The following samples demonstrate the ObjectMeshCluster class usage:
ObjectMeshCluster Class
This class inherits from ObjectMembers
ObjectMeshCluster (string name)
Constructor. Creates a new mesh cluster to render instances of the specified mesh.Arguments
- string name - Mesh name.
void clearMeshes ()
Deletes all meshes currently baked into mesh cluster.void createMeshes (int transforms)
Bakes child meshes of the mesh cluster into this cluster. For meshes to be baked, they must be identical to mesh cluster mesh and have the same material applied to its surfaces.Arguments
- int transforms - ID of array with transformation matrices for meshes.
float getFadeDistance ()
Returns the current distance up to which meshes handled by the mesh cluster are fading out (that is, fewer meshes will be rendered instead of all). The distance is measured starting from the visible distance. The default is 0.In order for a fade distance to be applied, visibility distance should not be infinite.
Return value
Distance of nodes fading in units.string getMeshName ()
Returns the name of the mesh handled by mesh cluster.Return value
Mesh name.mat4 getMeshTransform (int num)
Returns the transformation of the given mesh instance.Arguments
- int num - Mesh instance number.
Return value
Transformation matrix.int getNumMeshes ()
Returns the total number of meshes handled by the mesh cluster.Return value
Number of meshes.float getShadowRadius ()
Returns the current distance to draw additional meshes outside the view frustum. This option allows you to eliminate popping of shadows at the edges of the screen when the camera is turning. The default is 0.Return value
Distance in units.float getVisibleDistance ()
Returns the current distance up to which meshes handled by the mesh cluster are rendered. The default is infinity.Return value
Distance of visibility for meshes in units.void setFadeDistance (float distance)
Sets the distance up to which meshes handled by the mesh cluster will be fading out (that is, fewer meshes will be rendered instead of all). The distance is measured starting from the visible distance. The default is 0.In order for a fade distance to be applied, visibility distance should not be infinite.
Arguments
- float distance - Distance of fading for meshes in units. If a negative value is provided, 0 will be used instead.
void setShadowRadius (float radius)
Sets the distance to draw additional meshes outside the view frustum. This option allows you to eliminate popping of shadows at the edges of the screen when the camera is turning. The default is 0.Arguments
- float radius - Distance in units. If a negative value is provided, 0 will be used instead.
void setVisibleDistance (float distance)
Sets the distance up to which meshes handled by the mesh cluster will be rendered. The default is infinity.Arguments
- float distance - Distance of visibility for meshes in units. If a negative value is provided, 0 will be used instead.
Last update: 2017-07-03
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)