D3DHAL_DP2TRIANGLESTRIP結構 (d3dhal.h)

當D3DHAL_DP2COMMAND結構的 bCommand 成員設定為 D3DDP2OP_TRIANGLESTRIP 時,D3dDrawPrimitives2 回呼會從命令緩衝區剖析一個D3DHAL_DP2TRIANGLESTRIP結構,並用來轉譯指定的連接三角形帶狀。

語法

typedef struct _D3DHAL_DP2TRIANGLESTRIP {
  WORD wVStart;
} D3DHAL_DP2TRIANGLESTRIP, *LPD3DHAL_DP2TRIANGLESTRIP;

成員

wVStart

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

備註

一個D3DHAL_DP2TRIANGLESTRIP結構遵循命令緩衝區中的D3DHAL_DP2COMMAND結構。

D3dDrawPrimitives2 應該從頂點緩衝區處理總 (wPrimitiveCount + 2) 頂點。 wPrimitiveCount 的值是在 D3DHAL_DP2COMMAND 結構中指定。

三角形帶狀結構中的三角形邊緣會依下列順序轉譯: (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) 。
下圖顯示範例命令緩衝區的一部分,其中包含D3DDP2OP_TRIANGLESTRIP命令和一個D3DHAL_DP2TRIANGLESTRIP結構。 驅動程式應該處理頂點緩衝區中的五個頂點,轉譯由 (v[0], v[1], v[2], v[2]) (, v[1], v[3], v[2], v[2], ) , (v[2], v[3], v[4]) 。 此圖顯示具有D3DDP2OP_TRIANGLESTRIP命令和一個D3DHAL_DP2TRIANGLESTRIP結構的命令緩衝區

規格需求

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

另請參閱

D3DDP2OP_TRIANGLESTRIP

D3DHAL_DP2COMMAND

D3dDrawPrimitives2