Freigeben über


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

Rendert basierend auf der Indizierung den angegebenen geometrischen Grundtyp 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 D3DPRIMITIVETYPE aufgezählten Typs, der den Typ des zu rendernden Grundtyps beschreibt. D3DPT_POINTLIST wird mit dieser Methode nicht unterstützt. Siehe Hinweise.

[in] BaseVertexIndex

Typ: INT

Offset vom Anfang des Vertexpuffers 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 am 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 Grundtypen. Die Anzahl der verwendeten Scheitelpunkte ist eine Funktion der primitiven Anzahl und des primitiven Typs. Die maximale Anzahl zulässiger Grundtypen wird durch Überprüfen des MaxPrimitiveCount-Elements 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 Grundtypen aus dem aktuellen Satz von Dateneingabestreams. 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 Grundtypen zu optimieren, indem vor der Indizierung in diese Scheitelpunkte ein sequenzieller Bereich von Scheitelpunkten verarbeitet wird. Es 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.

Der D3DPT_POINTLIST Member des D3DPRIMITIVETYPE enumerierten 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 ausführen.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d9helper.h (include D3D9.h)
Bibliothek D3D9.lib

Weitere Informationen

IDirect3DDevice9

IDirect3DDevice9::D rawPrimitive

Indexpuffer (Direct3D 9)

Rendern aus Vertex- und Indexpuffern (Direct3D 9)

Vertexpuffer (Direct3D 9)