Share via


IDirect3DDevice9::D rawIndexedPrimitiveUP 方法 (d3d9.h)

使用使用者記憶體指標所指定的數據來呈現指定的幾何基本類型。

語法

HRESULT DrawIndexedPrimitiveUP(
  [in] D3DPRIMITIVETYPE PrimitiveType,
  [in] UINT             MinVertexIndex,
  [in] UINT             NumVertices,
  [in] UINT             PrimitiveCount,
  [in] const void       *pIndexData,
  [in] D3DFORMAT        IndexDataFormat,
  [in] const void       *pVertexStreamZeroData,
  [in] UINT             VertexStreamZeroStride
);

參數

[in] PrimitiveType

類型: D3DPRIMITIVETYPE

D3DPRIMITIVETYPE列舉型別的成員,描述要呈現的基本類型。

[in] MinVertexIndex

類型: UINT

頂點索引下限。 這是以零起始的索引。

[in] NumVertices

類型: UINT

在此呼叫期間使用的頂點數目。 第一個頂點位於索引:MinVertexIndex。

[in] PrimitiveCount

類型: UINT

要呈現的基本類型數目。 允許的基本類型數目上限取決於檢查 D3DCAPS9 結構的 MaxPrimitiveCount 成員, (索引數目是基本計數和基本類型) 的函式。

[in] pIndexData

類型: const void*

索引數據的用戶記憶體指標。

[in] IndexDataFormat

類型: D3DFORMAT

D3DFORMAT列舉型別的成員,描述索引數據的格式。 有效設定為:

[in] pVertexStreamZeroData

類型: const void*

頂點數據的用戶記憶體指標。 頂點數據必須位於數據流 0 中。

[in] VertexStreamZeroStride

類型: UINT

每個頂點的數據位元組數目。 此值可能不是 0。

傳回值

類型: HRESULT

如果方法成功,傳回值會D3D_OK。 如果方法失敗,則傳回值可以是下列各項:D3DERR_INVALIDCALL。

備註

這個方法適用於無法將其頂點數據儲存在頂點緩衝區的應用程式。 這個方法只支援單一頂點數據流,必須宣告為數據流 0。

遵循任何 IDirect3DDevice9::D rawIndexedPrimitiveUP 呼叫之後, IDirect3DDevice9::GetStreamSource 所參考的數據流 0 設定會設定為 NULL。 此外, IDirect3DDevice9::SetIndices 的 索引緩衝區設定會設定為 NULL

傳遞至 IDirect3DDevice9::D rawIndexedPrimitiveUP 的頂點數據不需要在呼叫之後保存。 Direct3D 會先完成該數據的存取權,再從呼叫傳回。

將舊版應用程式轉換為 Direct3D 9 時,您必須在進行任何 Draw 呼叫之前,新增 IDirect3DDevice9::SetFVF 的呼叫,才能使用固定函數管線或 IDirect3DDevice9::SetVertexDeclaration 來使用頂點著色器。

規格需求

需求
目標平台 Windows
標頭 d3d9.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

IDirect3DDevice9

IDirect3DDevice9::DrawPrimitive

從頂點和索引緩衝區轉譯 (Direct3D 9)