Device.ProcessVertices Method |
Language: |
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.
Visual Basic Public Sub ProcessVertices( _
ByVal srcStartIndex As Integer, _
ByVal destIndex As Integer, _
ByVal vertexCount As Integer, _
ByVal destBuffer As VertexBuffer, _
ByVal vertexDeclaration As VertexDeclaration, _
ByVal copyData As Boolean _
)C# public void ProcessVertices(
int srcStartIndex,
int destIndex,
int vertexCount,
VertexBuffer destBuffer,
VertexDeclaration vertexDeclaration,
bool copyData
);C++ public:
void ProcessVertices(
int srcStartIndex,
int destIndex,
int vertexCount,
VertexBuffer^ destBuffer,
VertexDeclaration^ vertexDeclaration,
bool copyData
);JScript public function ProcessVertices(
srcStartIndex : int,
destIndex : int,
vertexCount : int,
destBuffer : VertexBuffer,
vertexDeclaration : VertexDeclaration,
copyData : boolean
);
srcStartIndex System.Int32
Index of first vertex to load.destIndex System.Int32
Index of first vertex in the destination vertex buffer into which the results are placed.vertexCount System.Int32
Number of vertices to process.destBuffer Microsoft.DirectX.Direct3D.VertexBuffer
A VertexBuffer class; the destination vertex buffer that represents the stream of interleaved vertex data.vertexDeclaration Microsoft.DirectX.Direct3D.VertexDeclaration
A VertexDeclaration class that represents the output vertex data declaration. When vertex shader 3.0 or later is set as the current vertex shader, the output vertex declaration must be present.copyData System.Boolean
Set to true for default processing. Set to false to prevent the system from copying vertex data not affected by the vertex operation into the destination buffer.
The order of operations for this method is as follows.
- Transform vertices to projection space using the world + view + projection matrix.
- Compute screen coordinates using viewport settings.
- If clipping is enabled, compute clipping codes and store them in an internal buffer that is associated with the destination vertex buffer. If a vertex is inside of the viewing frustum, its screen coordinates are computed. If the vertex is outside of the viewing frustum, it is stored in the destination vertex buffer in projection space coordinates.
Note that 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, param_VertexBuffer_destBuffer, must be created with a nonzero flexible vertex format parameter. The flexible vertex format (FVF) code specified during the call to the VertexBuffer constructor method specifies the vertex elements present in the destination vertex buffer.
When Microsoft 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 the extra components.
Exceptions
InvalidCallException The method call is invalid. For example, a method's parameter might contain an invalid value.
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