Direct3DDevice8.ProcessVertices
Applies the vertex processing defined by the vertex shader to the set of input data streams, generating a single stream of interleaved vertex data to the destination vertex buffer.
object.ProcessVertices( _
SrcStartIndex As Long, _
DestIndex As Long, _
VertexCount As Long, _
DestBuffer As Direct3DVertexBuffer8, _
Flags As Long)
Parts
- object
- Object expression that resolves to a Direct3DDevice8 object.
- SrcStartIndex
- Index of first vertex to load.
- DestIndex
- Index of first vertex in the destination vertex buffer into which the results are placed.
- VertexCount
- Number of vertices to process.
- DestBuffer
- A Direct3DVertexBuffer8 object, the destination vertex buffer representing the stream of interleaved vertex data.
- Flags
- Processing options. Set this parameter to 0 for default processing. Set to D3DPV_DONOTCOPYDATA to prevent the system from copying vertex data not affected by the vertex operation into the destination buffer.
Error Codes
If the method fails, an error is raised and Err.Number can be set to D3DERR_INVALIDCALL.
For information on trapping errors, see the Microsoft® Visual Basic® Error Handling topic.
Remarks
The order of operations for this method is as follows:
- Transform vertices to projection space using the world + view + projection matrix
- Compute screen coordinates usiong viewport settings
- If clipping is enabled, compute clipping codes and store them in an internal buffer, associated with the destination vertex buffer. If a vertex is inside the viewing frustum, it's screen coordinates are computed. If the vertex is outside the viewing frustum, the vertex is stored in the destination vertex buffer in projection space coordinates.
- Other notes: The user does not have access to the internal clip code buffer. No clipping is done on triangles or any other primitives.
The destination vertex buffer, DestBuffer, must be created with a nonzero FVF parameter. The FVF code specified during the call to the Direct3DDevice8.CreateVertexBuffer method, specifies the vertex elements present in the destination vertex buffer.
When Direct3D generates texture coordinates, or copies or transforms input texture coordinates, and the output texture coordinate format defines more texture coordinate components than Direct3D generates, Direct3D does not change these extra components.
See Also
Device Types and Vertex Processing Requirements