IDirect3DDevice9::D rawIndexedPrimitiveUP 方法 (d3d9helper.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

在此呼叫期間使用的頂點數目。 第一個頂點位於 index: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 時,您必須先新增 IDirect3DDevice9::SetFVF 的呼叫,才能使用固定函數管線,或 IDirect3DDevice9::SetVertexDeclaration 在進行任何 Draw 呼叫之前使用頂點著色器。

規格需求

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

另請參閱

IDirect3DDevice9

IDirect3DDevice9::DrawPrimitive

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