FVF Vertex Buffers
A version of this page is also available for
4/8/2010
Setting the FVF parameter of the IDirect3DMobileDevice::CreateVertexBuffer method to a nonzero value, which must be a valid FVF code, indicates that the buffer content is to be characterized by an FVF flag (see D3DMFVF Values). A vertex buffer that is created with an FVF code is referred to as an FVF vertex buffer. FVF vertex buffers are required as the destination vertex buffer argument for IDirect3DMobileDevice::ProcessVertices.
FVF vertex buffers can be bound to a source data stream for any stream number. The presence of the D3DMFVF_XYZRHW component on FVF vertex buffers indicates that the vertices in that buffer have been processed. Vertex buffers used for ProcessVertices destination vertex buffers must be post-processed. Vertex buffers used for fixed function shader inputs can be either pre- or post-processed. If the vertex buffer is post-processed, then the shader is effectively bypassed and the data is passed directly to the primitive clipping and setup module.
The most important things with vertex performance is to use a 32-byte vertex, and to maintain good cache ordering.