Freigeben über


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

Rendert daten, die von einem Benutzerspeicherzeiger als Sequenz von geometrischen 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 aufgezählten D3DPRIMITIVETYPE-Typs , der den zu rendernden Primitiventyp beschreibt.

[in] PrimitiveCount

Typ: UINT

Anzahl der zu rendernden Primitiven. Die maximal zulässige Anzahl von Primitiven wird durch Überprüfen des MaxPrimitiveCount-Members der D3DCAPS9-Struktur bestimmt.

[in] pVertexStreamZeroData

Typ: const void*

Benutzerspeicherzeiger auf die Scheitelpunktdaten.

[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 folgendes 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 angegebenen Vertexdatenzeiger und -stride für Vertexstream 0 zu verwenden. Es ist ungültig, dass die Deklaration des aktuellen Vertex-Shaders 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 Scheitelpunktdaten 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 tätigen.

Anforderungen

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

Weitere Informationen

IDirect3DDevice9

IDirect3DDevice9::D rawIndexedPrimitiveUP

Rendering aus Vertex- und Indexpuffern (Direct3D 9)