共用方式為


D3DHAL_DP2INDEXEDTRIANGLESTRIP 結構 (d3dhal.h)

D3DHAL_DP2COMMAND 結構的 bCommand 成員設定為 D3DDP2OP_INDEXEDTRIANGLESTRIP 時,D3dDrawPrimitives2 回呼會從命令緩衝區剖析一或多個D3DHAL_DP2INDEXEDTRIANGLESTRIP結構,並使用頂點索引來轉譯連接三角形的等量。

語法

typedef struct _D3DHAL_DP2INDEXEDTRIANGLESTRIP {
  WORD wV[3];
} D3DHAL_DP2INDEXEDTRIANGLESTRIP, *LPD3DHAL_DP2INDEXEDTRIANGLESTRIP;

成員

wV[3]

指定頂點緩衝區中的索引,其中包含三角形帶狀結構第一個頂點的座標數據。

雖然此成員只有足夠空間可包含三個索引,但此索引數位應該視為具有 wPrimitiveCount + 2) 元素 (可變大小的陣列。 (wPrimitiveCount 是 D3DHAL_DP2COMMAND structure.) 的成員

備註

D3dDrawPrimitives2 應該處理命令緩衝區 (wPrimitiveCount+2) 索引,實際上,處理 wPrimitiveCount D3DHAL_DP2INDEXEDTRIANGLESTRIP 結構。

三角形帶中的三角形邊緣會依此順序呈現: (wV[0], wV[1]wV[2]) , (wV[1], wV[3]wV[2]) , (wV[2], wV[3]wV[4]) , (wV[3], wV[5]wV[4]) ,...

不過,對於三角形帶中的最後一個三角形,當 wPrimitiveCountt 為奇數且偶數時,邊緣會以不同的順序呈現。

  • 當 wPrimitiveCount 是奇數時,最後三角形的邊緣會依此順序呈現: (wV[wPrimitiveCount - 1]wV[wPrimitiveCount]、wV[wPrimitiveCount+ 1]) 。
  • 當 wPrimitiveCount 是偶數時,最後三角形的邊緣會依此順序轉譯: (wV[wPrimitiveCount- 1]wV[wPrimitiveCount+1]wV[wPrimitiveCount) 。
D3DHAL_DP2STARTVERTEX 結構會緊接在命令緩衝區中的 命令後面。 頂點緩衝區索引相對於D3DHAL_DRAWPRIMITIVES2DATA 結構的 dwVertexOffset 成員所指定的頂點緩衝區位移,加上從 D3DHAL_DP2STARTVERTEX 結構的 wVStart 成員取得的基底位移。

下圖顯示範例命令緩衝區的一部分,其中包含D3DDP2OP_INDEXEDTRIANGLESTRIP命令、零的D3DHAL_DP2STARTVERTEX位移,以及D3DHAL_DP2INDEXEDTRIANGLESTRIP結構的邏輯清單。 驅動程式應該從頂點緩衝區處理五個頂點,轉譯由 (v[1]、 v[3]、 v[3]、 v[6]) 、 (v[3]、 v[4]、 v[6]) 、 (v[6]、 v[4]、 v[5]) 所定義的三角形。

此圖顯示具有D3DDP2OP_INDEXEDTRIANGLESTRIP命令的緩衝區、零的D3DHAL_DP2STARTVERTEX位移,以及D3DHAL_DP2INDEXEDTRIANGLESTRIP結構的邏輯清單

規格需求

需求
標頭 d3dhal.h (包含 D3dhal.h)

另請參閱

D3DDP2OP_INDEXEDTRIANGLESTRIP

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2