IDirect3DDevice9::P rocessVertices-Methode (d3d9.h)
Wendet die durch den Vertexshader definierte Vertexverarbeitung auf den Satz von Eingabedatenströmen an, wodurch ein einzelner Datenstrom von verschachtelten Vertexdaten auf den Zielvertexpuffer generiert wird.
Syntax
HRESULT ProcessVertices(
[in] UINT SrcStartIndex,
[in] UINT DestIndex,
[in] UINT VertexCount,
[in] IDirect3DVertexBuffer9 *pDestBuffer,
[in] IDirect3DVertexDeclaration9 *pVertexDecl,
[in] DWORD Flags
);
Parameter
[in] SrcStartIndex
Typ: UINT
Index des ersten zu ladenden Scheitelpunkts.
[in] DestIndex
Typ: UINT
Index des ersten Scheitelpunkts im Zielvertexpuffer, in dem die Ergebnisse platziert werden.
[in] VertexCount
Typ: UINT
Anzahl der zu verarbeitenden Scheitelpunkte.
[in] pDestBuffer
Typ: IDirect3DVertexBuffer9*
Zeiger auf eine IDirect3DVertexBuffer9-Schnittstelle , den Zielvertexpuffer, der den Datenstrom der verschachtelten Vertexdaten darstellt.
[in] pVertexDecl
Typ: IDirect3DVertexDeclaration9*
Zeiger auf eine IDirect3DVertexDeclaration9-Schnittstelle , die die Ausgabevertexdatendeklaration darstellt. Wenn vertex shader 3.0 oder höher als aktueller Vertexshader festgelegt ist, muss die Ausgabevertexdeklaration vorhanden sein.
[in] Flags
Typ: DWORD
Verarbeitungsoptionen. Legen Sie diesen Parameter für die Standardverarbeitung auf 0 fest. Legen Sie diese Einstellung auf D3DPV_DONOTCOPYDATA fest, um zu verhindern, dass das System Vertexdaten, die nicht vom Vertexvorgang betroffen sind, in den Zielpuffer kopiert. Der D3DPV_DONOTCOPYDATA Wert kann mit einem oder mehreren D3DLOCK-Werten kombiniert werden, die für den Zielpuffer geeignet sind.
Rückgabewert
Typ: HRESULT
Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Methode fehlschlägt, kann der Rückgabewert D3DERR_INVALIDCALL werden.
Hinweise
Die Reihenfolge der Vorgänge für diese Methode lautet wie folgt:
- Transformieren Sie Scheitelpunkte in einen Projektionsraum, indem Sie die Welt + Ansicht + Projektionsmatrix verwenden.
- Berechnen von Bildschirmkoordinaten mithilfe von Viewporteinstellungen.
- Wenn clipping aktiviert ist, berechnen Sie Beschneidungscodes, und speichern Sie sie in einem internen Puffer, der dem Zielvertexpuffer zugeordnet ist. Wenn sich ein Scheitelpunkt innerhalb des Anzeige-Frustums befindet, werden seine Bildschirmkoordinaten berechnet. Wenn sich der Scheitelpunkt außerhalb des Anzeige frustums befindet, wird der Scheitelpunkt im Zielvertexpuffer in Projektionsraumkoordinaten gespeichert.
- Weitere Hinweise: Der Benutzer hat keinen Zugriff auf den internen Clipcodepuffer. An Dreiecken oder anderen Grundtypen wird kein Clipping durchgeführt.
Wenn Direct3D Texturkoordinaten generiert oder Eingabetexturkoordinaten kopiert oder transformiert und das Ausgabetexturkoordinatenformat mehr Texturkoordinatenkomponenten definiert als Direct3D generiert, ändert Direct3D diese zusätzlichen Komponenten nicht.
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d9.h (einschließlich D3D9.h) |
Bibliothek | D3D9.lib |
Weitere Informationen
Gerätetypen und Vertexverarbeitungsanforderungen (Direct3D 9)