private static extern void Internal_create(MeshData managedInstance, int numVertices, int numIndices, VertexLayout layout, IndexType indexType);
/// <summary> /// Creates a new mesh with enough space to hold the a number of primitives using the specified layout. Indices can be /// referenced by multiple sub-meshes. /// </summary> /// <param name="data">Vertex and index data to initialize the mesh with.</param> /// <param name="subMeshes"> /// Defines how are indices separated into sub-meshes, and how are those sub-meshes rendered. Sub-meshes may be rendered /// independently, each with a different material. /// </param> /// <param name="usage">Optimizes performance depending on planned usage of the mesh.</param> public Mesh(MeshData data, SubMesh[] subMeshes, MeshUsage usage = MeshUsage.Static) { Internal_create2(this, data, subMeshes, usage); }
/// <summary> /// Creates a new mesh from an existing mesh data. Created mesh will match the vertex and index buffers described by the /// mesh data exactly. Mesh will have no sub-meshes. /// </summary> /// <param name="data">Vertex and index data to initialize the mesh with.</param> /// <param name="topology"> /// Determines how should the provided indices be interpreted by the pipeline. Default option is a triangle list, where /// three indices represent a single triangle. /// </param> /// <param name="usage">Optimizes performance depending on planned usage of the mesh.</param> public Mesh(MeshData data, MeshTopology topology = MeshTopology.TriangleList, MeshUsage usage = MeshUsage.Static) { Internal_create1(this, data, topology, usage); }
private static extern void Internal_setMeshData(IntPtr thisPtr, MeshData value);
private static extern void Internal_create2(Mesh managedInstance, MeshData data, SubMesh[] subMeshes, MeshUsage usage);
private static extern void Internal_create1(Mesh managedInstance, MeshData data, MeshTopology topology, MeshUsage usage);