Microsoft DirectX 8.1 (C++)

Manually Transforming Vertices

You can use three kinds of vertices in your Microsoft® Direct3D® application. Read Vertex Formats for more details on the vertex formats.

Untransformed and Unlit Vertices
Vertices that your application doesn't light or transform. Although you specify lighting parameters and transformation matrices, Direct3D computes these values.
Untransformed and Lit Vertices
Vertices that your application lights but does not transform.
Transformed and Lit Vertices
Vertices that your application both lights and transforms.

You can change from simple to complex vertex types by using vertex buffers. Vertex buffers are objects used to efficiently contain and process batches of vertices for rapid rendering, and are optimized to exploit processor-specific features. Use the IDirect3DDevice8::ProcessVertices method to perform vertex transformations. ProcessVertices accepts only untransformed vertices and can optionally light and clip vertices as well. Lighting is performed at the time you call the ProcessVertices methods, but clipping is performed at render time.

After processing the vertices, you can use special rendering methods to render the vertices, or you can access them directly by locking the vertex buffer memory. For more information about using vertex buffers, see Vertex Buffers.