Share via


IDirect3DDevice9::D rawIndexedPrimitive-Methode (d3d9.h)

Rendert basierend auf der Indizierung das angegebene geometrische Grundelement in ein Array von Scheitelpunkten.

Syntax

HRESULT DrawIndexedPrimitive(
  [in] D3DPRIMITIVETYPE unnamedParam1,
  [in] INT              BaseVertexIndex,
  [in] UINT             MinVertexIndex,
  [in] UINT             NumVertices,
  [in] UINT             startIndex,
  [in] UINT             primCount
);

Parameter

[in] unnamedParam1

Typ: D3DPRIMITIVETYPE

Member des aufgezählten D3DPRIMITIVETYPE-Typs , der den zu rendernden Primitiventyp beschreibt. D3DPT_POINTLIST wird mit dieser Methode nicht unterstützt. Siehe Hinweise.

[in] BaseVertexIndex

Typ: INT

Offset vom Anfang des Scheitelpunktpuffers bis zum ersten Scheitelpunkt. Siehe Szenario 4.

[in] MinVertexIndex

Typ: UINT

Minimaler Scheitelpunktindex für Scheitelpunkte, die während dieses Aufrufs verwendet werden. Dies ist ein nullbasierter Index relativ zu BaseVertexIndex.

[in] NumVertices

Typ: UINT

Anzahl der Scheitelpunkte, die während dieses Aufrufs verwendet werden. Der erste Scheitelpunkt befindet sich im Index: BaseVertexIndex + MinIndex.

[in] startIndex

Typ: UINT

Index des ersten Indexes, der beim Zugriff auf den Vertexpuffer verwendet werden soll. Beginnend bei StartIndex, um Scheitelpunkte aus dem Vertexpuffer zu indizieren.

[in] primCount

Typ: UINT

Anzahl der zu rendernden Primitiven. Die Anzahl der verwendeten Scheitelpunkte ist eine Funktion der primitiven Anzahl und des primitiven Typs. Die maximal zulässige Anzahl von Primitiven wird durch Überprüfen des MaxPrimitiveCount-Members der D3DCAPS9-Struktur bestimmt.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Methode fehlschlägt, kann der Rückgabewert wie folgt aussehen: D3DERR_INVALIDCALL.

Hinweise

Diese Methode zeichnet indizierte Primitive aus dem aktuellen Satz von Dateneingabedatenströmen. MinIndex und alle Indizes im Indexstream sind relativ zum BaseVertexIndex.

Die Parameter MinIndex und NumVertices geben den Bereich der Vertexindizes an, die für jeden IDirect3DDevice9::D rawIndexedPrimitive-Aufruf verwendet werden. Diese werden verwendet, um die Vertexverarbeitung von indizierten Primitiven zu optimieren, indem ein sequenzieller Bereich von Scheitelpunkten vor der Indizierung in diese Scheitelpunkte verarbeitet wird. Sie ist ungültig für alle Indizes, die während dieses Aufrufs verwendet werden, um auf alle Scheitelpunkte außerhalb dieses Bereichs zu verweisen.

IDirect3DDevice9::D rawIndexedPrimitive schlägt fehl, wenn kein Indexarray festgelegt ist.

Das D3DPT_POINTLIST Member des aufgezählten D3DPRIMITIVETYPE-Typs wird nicht unterstützt und ist kein gültiger Typ für diese Methode.

Wenn Sie eine Legacyanwendung in Direct3D 9 konvertieren, müssen Sie entweder einen Aufruf von IDirect3DDevice9::SetFVF hinzufügen, um die feste Funktionspipeline zu verwenden, oder IDirect3DDevice9::SetVertexDeclaration , um einen Vertex-Shader zu verwenden, bevor Sie Draw-Aufrufe tätigen.

Anforderungen

   
Zielplattform Windows
Kopfzeile d3d9.h (einschließlich D3D9.h)
Bibliothek D3D9.lib

Weitere Informationen

IDirect3DDevice9

IDirect3DDevice9::D rawPrimitive

Indexpuffer (Direct3D 9)

Rendering aus Vertex- und Indexpuffern (Direct3D 9)

Vertexpuffer (Direct3D 9)