CustomVertex.PositionNormalTextured Structure (Microsoft.DirectX.Direct3D)
How Do I...?
- Create a Mesh Object
Describes a custom vertex format structure that contains position, normal data, and one set of texture coordinates.
Definition
Visual Basic Public Structure PositionNormalTextured C# public struct PositionNormalTextured C++ public value class PositionNormalTextured sealed JScript In JScript, you can use structures, but you cannot define your own.
Members Table
The following table lists the members exposed by the object.
Fields
Field Description Format
Retrieves the VertexFormats for the current custom vertex. Nx Retrieves or sets the nx component of the vertex normal. Ny Retrieves or sets the ny component of the vertex normal. Nz Retrieves or sets the nz component of the vertex normal. Tu Retrieves or sets the u component of the texture coordinate. Tv Retrieves or sets the v component of the texture coordinate. X Retrieves or sets the x component of the position. Y Retrieves or sets the y component of the position. Z Retrieves or sets the z component of the position. Methods
Method Description PositionNormalTextured Initializes a new instance of the CustomVertex.PositionNormalTextured class. ToString Obtains a string representation of the current instance. Properties
Property Description Normal Retrieves or sets the vertex normal data. Position Retrieves or sets the vertex position. StrideSize
Retrieves the size of the CustomVertex.PositionNormalTextured structure.
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); }
Structure Information
Namespace Microsoft.DirectX.Direct3D Assembly Microsoft.DirectX.Direct3D (microsoft.directx.direct3d.dll) Strong Name Microsoft.DirectX.Direct3D, Version=1.0.900.0, Culture=neutral, PublicKeyToken=d3231b57b74a1492
See Also