class
Mesh
public class Mesh A mesh is a basic version of a Model, containing a set of vertices and indices which make up faces that make up a shape. A set of meshes can be used to create a Model via the ModelBuilder class.
Constructors
Mesh() Mesh(Material material, MeshPrimitiveType primType) Mesh(String name, Material material, MeshPrimitiveType primType) Properties
| Name | Type | Description |
|---|---|---|
IsValid virtual | Boolean | |
PrimitiveType | MeshPrimitiveType | Sets the primitive type for this mesh. |
Material | Material | Sets material for this mesh. |
Bounds | BBox | Sets AABB bounds for this mesh. |
UvDensity | Single | Used to calculate texture size for texture streaming. |
HasIndexBuffer | Boolean | Whether this mesh has an index buffer. |
IndexCount | Int32 | Number of indices this mesh has. |
HasVertexBuffer | Boolean | Whether this mesh has a vertex buffer. |
VertexCount | Int32 | Number of vertices this mesh has. |
Methods
Void SetVertexRange(Int32 start, Int32 count) Set how many vertices this mesh draws (if there's no index buffer)
Void SetIndexRange(Int32 start, Int32 count) Set how many indices this mesh draws
Void CreateBuffers(VertexBuffer vb, Boolean calculateBounds = True) Create vertex and index buffers.
vb — Input vertex buffer. If it is indexed (Indexed), then index buffer will also be created. calculateBounds — Whether to recalculate bounds from the vertex buffer. static Span<Int32> TriangulatePolygon(Span<Vector3> vertices) Void CreateIndexBuffer() Create an empty index buffer, it can be resized later
Void CreateIndexBuffer(Int32 indexCount, List<Int32> data) Void CreateIndexBuffer(Int32 indexCount, Span<Int32> data = null) Void SetIndexBufferData(List<Int32> data, Int32 elementOffset = 0) Void SetIndexBufferData(Span<Int32> data, Int32 elementOffset = 0) Void SetIndexBufferSize(Int32 elementCount) Resize the index buffer.
Void LockIndexBuffer(IndexBufferLockHandler handler) Lock all the memory in this buffer so you can write to it
Void LockIndexBuffer(Int32 elementCount, IndexBufferLockHandler handler) Lock a specific amount of the memory in this buffer so you can write to it
Void LockIndexBuffer(Int32 elementOffset, Int32 elementCount, IndexBufferLockHandler handler) Lock a region of memory in this buffer so you can write to it
Void CreateVertexBuffer(Int32 vertexCount, Span<T> data = null) Void CreateVertexBuffer(Int32 vertexCount, List<T> data) Void CreateVertexBuffer(VertexAttribute[] layout) Create an empty vertex buffer, it can be resized later
Void CreateVertexBuffer(Int32 vertexCount, VertexAttribute[] layout, List<T> data) Void CreateVertexBuffer(Int32 vertexCount, VertexAttribute[] layout, Span<T> data = null) Void SetVertexBufferData(List<T> data, Int32 elementOffset = 0) Void SetVertexBufferData(Span<T> data, Int32 elementOffset = 0) Void SetVertexBufferSize(Int32 elementCount) Resize the vertex buffer
Void LockVertexBuffer(VertexBufferLockHandler<T> handler) Void LockVertexBuffer(Int32 elementCount, VertexBufferLockHandler<T> handler) Void LockVertexBuffer(Int32 elementOffset, Int32 elementCount, VertexBufferLockHandler<T> handler)