IDirect3DDevice9::D rawIndexedPrimitive 方法 (d3d9helper.h)

根據索引編製,將指定的幾何基本類型轉譯成頂點陣列。

語法

HRESULT DrawIndexedPrimitive(
  [in] D3DPRIMITIVETYPE unnamedParam1,
  [in] INT              BaseVertexIndex,
  [in] UINT             MinVertexIndex,
  [in] UINT             NumVertices,
  [in] UINT             startIndex,
  [in] UINT             primCount
);

參數

[in] unnamedParam1

類型: D3DPRIMITIVETYPE

D3DPRIMITIVETYPE列舉型別的成員,描述要呈現的基本類型。 這個方法不支援D3DPT_POINTLIST。 請參閱<備註>。

[in] BaseVertexIndex

類型: INT

從頂點緩衝區的開頭到第一個頂點的位移。 請參閱 案例 4

[in] MinVertexIndex

類型: UINT

此呼叫期間所使用頂點的最小頂點索引。 這是相對於BaseVertexIndex的以零起始的索引。

[in] NumVertices

類型: UINT

在此呼叫期間使用的頂點數目。 第一個頂點位於 index:BaseVertexIndex + MinIndex。

[in] startIndex

類型: UINT

存取頂點緩衝區時使用之第一個索引的索引。 從 StartIndex 開始,從頂點緩衝區索引頂點。

[in] primCount

類型: UINT

要轉譯的基本類型數目。 使用的頂點數目是基本計數和基本類型的函式。 允許的基本類型數目上限取決於檢查 D3DCAPS9 結構的 MaxPrimitiveCount 成員。

傳回值

類型: HRESULT

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

備註

這個方法會從目前的一組數據輸入數據流中繪製已編製索引的基本類型。 MinIndex 和索引數據流中的所有索引都是相對於BaseVertexIndex。

MinIndex 和 NumVertices 參數會指定每個 IDirect3DDevice9::D rawIndexedPrimitive 呼叫所使用的頂點索引範圍。 這些是用來優化已編製索引基本類型的頂點處理,方法是先處理循序範圍的頂點,再將這些頂點編製成這些頂點。 此呼叫期間使用的任何索引參考此範圍外的任何頂點都無效。

如果未設定索引陣列,IDirect3DDevice9::D rawIndexedPrimitive 就會失敗。

不支援D3DPRIMITIVETYPE列舉型別的 D3DPT_POINTLIST 成員,而且不是這個方法的有效型別。

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

規格需求

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

另請參閱

IDirect3DDevice9

IDirect3DDevice9::DrawPrimitive

Direct3D 9 (索引緩衝區)

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

(Direct3D 9) 頂點緩衝區