CustomVertex Class

Language:

How Do I...?

Defines various custom fixed-format vertex types. This class is a container of structures. See the individual structures for more information.

Definition

Visual Basic NotInheritable Public Class CustomVertex
    Inherits Object
C# public sealed class CustomVertex : Object
C++ public ref class CustomVertex sealed : Object
JScript public final class CustomVertex extends Object

Members Table

Structure Description
CustomVertex.PositionColored Describes a custom vertex format structure that contains position and color information.
CustomVertex.PositionColoredTextured Describes a custom vertex format structure that contains position, color, and one set of texture coordinates.
CustomVertex.PositionNormal Describes a custom vertex format structure that contains position and normal data.
CustomVertex.PositionNormalColored Describes a custom vertex format structure that contains position, color, and normal data.
CustomVertex.PositionNormalTextured Describes a custom vertex format structure that contains position, normal data, and one set of texture coordinates.
CustomVertex.PositionOnly Describes a custom vertex format structure that contains only position data.
CustomVertex.PositionTextured Describes a custom vertex format structure that contains position and one set of texture coordinates.
CustomVertex.Transformed Describes a custom vertex format structure that contains transformed vertices.
CustomVertex.TransformedColored Describes a custom vertex format structure that contains transformed vertices and color information.
CustomVertex.TransformedColoredTextured Describes a custom vertex format structure that contains transformed vertices, color, and one set of texture coordinates.
CustomVertex.TransformedTextured Describes a custom vertex format structure that contains transformed vertices and one set of texture coordinates.

Inheritance Hierarchy

Object Leave Site
CustomVertex

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); }

Generate a Scene

This example shows how to begin scene generation and draw primitives.

The SetStreamSource method binds a vertex buffer to a device data stream to create an association between the vertex data and one of several data stream ports that feed the primitive processing functions. The parameters for this method are the number of the data stream, the name of the VertexBuffer object, and the stream vertex stride.

In the following C# code example, it is assumed that the device is the rendering Device, and vBuffer is a vertex buffer filled with CustomVertex.PositionNormal data.

              [C#]
              
device.BeginScene(); device.SetStreamSource(0, vBuffer, 0); device.VertexFormat = CustomVertex.PositionNormal.Format; device.DrawPrimitives(PrimitiveType.TriangleList, 0, 1); device.EndScene();

Class 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

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

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