Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


SetIndexBufferParams(int, IndexFormat)

Sets the index buffer size and format.
Read time 1 minuteLast updated 4 days ago

Definition

  • Type: Method
  • Namespace: UnityEngine
  • Assembly: UnityEngine.CoreModule
public void SetIndexBufferParams(int indexCount, IndexFormat format)

Parameters

indexCount

Size of index buffer.

Format of the indices.

Remarks

Note: This method is designed for advanced users aiming for maximum performance because it operates on the underlying mesh data structures that primarily work on raw index buffers, vertex buffers and mesh subset data. Using this method, Unity performs very little data validation, so you must ensure your data is valid.
In particular, you must ensure that the index buffer does not contain out-of-bounds indices, and that the sub-mesh index range and bounds are updated via Mesh.SetSubMesh.
For information about the difference between the simpler and more advanced methods of assigning data to a Mesh from script, see the notes on the Mesh page.
General usage pattern is:
var mesh = new Mesh();// setup vertex buffer datamesh.vertices = ...;// set index buffermesh.SetIndexBufferParams(...);mesh.SetIndexBufferData(...);// setup information about mesh subsetsmesh.subMeshCount = ...;mesh.SetSubMesh(index, ...);
When you change the index buffer size or format, the Mesh.subMeshCount reverts to one, and the index buffer data is uninitialized. To set values, use Mesh.SetIndexBufferData.
Note that changing Mesh.subMeshCount to a smaller value than it was previously resizes the index buffer to be smaller. The new index buffer size is set to SubMeshDescriptor.indexStart of the first removed sub-mesh.
If the index buffer size exceeds the maximum buffer size that the device supports, the method raises an exception. For more information, see SystemInfo.maxGraphicsBufferSize.