Freigeben über


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

Rendert Daten, die von einem Benutzerspeicherzeiger als Sequenz geometrischer Grundtypen des angegebenen Typs angegeben werden.

Syntax

HRESULT DrawPrimitiveUP(
  [in] D3DPRIMITIVETYPE PrimitiveType,
  [in] UINT             PrimitiveCount,
  [in] const void       *pVertexStreamZeroData,
  [in] UINT             VertexStreamZeroStride
);

Parameter

[in] PrimitiveType

Typ: D3DPRIMITIVETYPE

Member des D3DPRIMITIVETYPE aufgezählten Typs, der den Typ des zu rendernden Grundtyps beschreibt.

[in] PrimitiveCount

Typ: UINT

Anzahl der zu rendernden Grundtypen. Die maximale Anzahl zulässiger Grundtypen wird durch Überprüfen des MaxPrimitiveCount-Elements der D3DCAPS9-Struktur bestimmt.

[in] pVertexStreamZeroData

Typ: const void*

Benutzerspeicherzeiger auf die Vertexdaten.

[in] VertexStreamZeroStride

Typ: UINT

Die Anzahl der Datenbytes für jeden Scheitelpunkt. Dieser Wert ist möglicherweise nicht 0.

Rückgabewert

Typ: HRESULT

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

Hinweise

Diese Methode ist für die Verwendung in Anwendungen vorgesehen, die ihre Vertexdaten nicht in Vertexpuffern speichern können. Diese Methode unterstützt nur einen einzelnen Vertexstream. Die Auswirkung dieses Aufrufs besteht darin, den bereitgestellten Vertexdatenzeiger und -stride für Vertexstream 0 zu verwenden. Es ist ungültig, wenn die Deklaration des aktuellen Vertexshaders auf andere Vertexstreams als Stream 0 verweist.

Nach einem IDirect3DDevice9::D rawPrimitiveUP-Aufruf werden die Stream 0-Einstellungen, auf die von IDirect3DDevice9::GetStreamSource verwiesen wird, auf NULL festgelegt.

Die an IDirect3DDevice9::D rawPrimitiveUP übergebenen Vertexdaten müssen nach dem Aufruf nicht beibehalten werden. Direct3D schließt den Zugriff auf diese Daten ab, bevor der Aufruf zurückgegeben wird.

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 rawIndexedPrimitiveUP

Rendern aus Vertex- und Indexpuffern (Direct3D 9)