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.