Please note that mesh primitives currently do not support permeation, as it's not guaranteed they will be a closed-loop mesh (e.g. heightmaps). In future this class will be split into `HeightmapPrimitive` and `MeshPrimitive` classes
```cs
public unsafe class MeshPrimitive : Primitive
{
public MeshPrimitive(MaterialType material,
List<Vector3F> vertices,
Vector3F minBounds,
Vector3F maxBounds,
Matrix4F transform,
bool rendering)
{
}
public Matrix4F transform = Matrix4F.Identity;
}
```
Unlike other primitives, a MeshPrimitive must be initialised with a constructor with all data already available.
Once created, only `transform` and `material` can be updated. The vertices will be processed into a BVH and cannot be updated.
After creation, the vertices list can be safely cleared/disposed, or used to create another [[MeshPrimitive]].
`minBounds` and `maxBounds` must be the minimum and maximum bounds of the 3D model when at rest, i.e. `Matrix4F.Identity`.
> You must also provide a `rendering` boolean when using the debug window, so it can construct a model to render in the debug window.