Microsoft DirectX 9.0 SDK Update (October 2004)

Mesh.Mesh Constructor

Language:

Note: This documentation is preliminary and is subject to change.
How Do I...?

Creates a new Mesh instance.

Definition

Visual Basic .NET Public Sub New( _
    ByVal numFaces As Integer, _
    ByVal numVertices As Integer, _
    ByVal options As MeshFlags, _
    ByVal vertexFormat As VertexFormats, _
    ByVal device As Device _
)
C# public Mesh(
    int numFaces,
    int numVertices,
    MeshFlags options,
    VertexFormats vertexFormat,
    Device device
);
Managed C++ public: Mesh(
    int numFaces,
    int numVertices,
    MeshFlags options,
    VertexFormats vertexFormat,
    Device *device
);
JScript .NET public function Mesh(
    numFaces : int,
    numVertices : int,
    options : MeshFlags,
    vertexFormat : VertexFormats,
    device : Device
);

Parameters

numFaces System.Int32. Number of faces for the mesh. The valid range is greater than 0 and one less than the maximum Int32 Leave Site (typically 65534), because the last index is reserved.
numVertices System.Int32. Number of vertices for the mesh. This parameter must be greater than 0.
options Microsoft.DirectX.Direct3D.MeshFlags. One or more flags from the MeshFlags enumeration that specify creation options for the mesh (excepting the Simplify* and Optimize* flags).
vertexFormat Microsoft.DirectX.Direct3D.VertexFormats. One or more flags from the VertexFormats enumeration that specify the format of the mesh vertices.
device Microsoft.DirectX.Direct3D.Device. A Device object that represents the device associated with the mesh.

Remarks

Exceptions
InvalidCallException The method call is invalid. For example, a method's parameter might contain an invalid value.
OutOfMemoryException Leave Site Microsoft® Direct3D® could not allocate sufficient memory to complete the call.

How Do I...?

Create a Mesh Object

This example shows how to create a Mesh object.

In the following C# code example, device is assumed to be the rendering Device.

              [C#]
              
int numberVerts = 8; short[] indices = { 0,1,2, // Front Face 1,3,2, // Front Face 4,5,6, // Back Face 6,5,7, // Back Face 0,5,4, // Top Face 0,2,5, // Top Face 1,6,7, // Bottom Face 1,7,3, // Bottom Face 0,6,1, // Left Face 4,6,0, // Left Face 2,3,7, // Right Face 5,2,7 // Right Face }; Mesh mesh = new Mesh(numberVerts * 3, numberVerts, MeshFlags.Managed, CustomVertex.PositionColored.Format, device); using(VertexBuffer vb = mesh.VertexBuffer) { GraphicsStream data = vb.Lock(0, 0, LockFlags.None); data.Write(new CustomVertex.PositionColored(-1.0f, 1.0f, 1.0f, 0x00ff00ff)); data.Write(new CustomVertex.PositionColored(-1.0f, -1.0f, 1.0f, 0x00ff00ff)); data.Write(new CustomVertex.PositionColored(1.0f, 1.0f, 1.0f, 0x00ff00ff)); data.Write(new CustomVertex.PositionColored(1.0f, -1.0f, 1.0f, 0x00ff00ff)); data.Write(new CustomVertex.PositionColored(-1.0f, 1.0f, -1.0f, 0x00ff00ff)); data.Write(new CustomVertex.PositionColored(1.0f, 1.0f, -1.0f, 0x00ff00ff)); data.Write(new CustomVertex.PositionColored(-1.0f, -1.0f, -1.0f, 0x00ff00ff)); data.Write(new CustomVertex.PositionColored(1.0f, -1.0f, -1.0f, 0x00ff00ff)); vb.Unlock(); } using (IndexBuffer ib = mesh.IndexBuffer) { ib.SetData(indices, 0, LockFlags.None); }


© 2004 Microsoft Corporation. All rights reserved. Terms of use.

Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center