D3DHAL_DP2INDEXEDLINESTRIP 結構 (d3dhal.h)
當 D3DHAL_DP2COMMAND 結構的 bCommand 成員設定為 D3DDP2OP_INDEXEDLINESTRIP 時,D3dDrawPrimitives2 回呼會從命令緩衝區剖析D3DHAL_DP2INDEXEDLINESTRIP,並用來使用頂點索引轉譯連接線段序列。
語法
typedef struct _D3DHAL_DP2INDEXEDLINESTRIP {
WORD wV[2];
} D3DHAL_DP2INDEXEDLINESTRIP, *LPD3DHAL_DP2INDEXEDLINESTRIP;
成員
wV[2]
指定索引到頂點緩衝區,驅動程式會從中取得構成線條帶的頂點座標數據。
雖然此成員只有足夠空間可保存兩個索引,但此索引數位應該視為具有 (wPrimitiveCount+ 1) 元素的可變大小陣列。 (wPrimitiveCount 是 D3DHAL_DP2COMMAND structure.) 的成員
備註
使用D3DHAL_DP2INDEXEDLINESTRIP指定使用頂點緩衝區轉譯的索引線帶。 要處理的行段數目是由 D3DHAL_DP2COMMAND的 wPrimitiveCount 成員所指定。 轉譯的線段序列為: (wV[0]、wV[1]) 、 (wV[1]、wV[2]) 、 (wV[2]、wV[3]) 、...、 (wVStart[wPrimitiveCount -1]、wVStart[wPrimitiveCount]) 。
D3dDrawPrimitives2 應該處理命令緩衝區 (wPrimitiveCount+1) 索引,以影響 處理 wPrimitiveCount D3DHAL_DP2INDEXEDLINESTRIP 結構。 wPrimitiveCount 的值是在 D3DHAL_DP2COMMAND 結構中指定。
D3DHAL_DP2STARTVERTEX 結構會緊接在命令緩衝區中的 命令後面。 頂點緩衝區索引相對於D3DHAL_DRAWPRIMITIVES2DATA 結構的 dwVertexOffset 成員所指定的頂點緩衝區位移,加上從 D3DHAL_DP2STARTVERTEX 結構的 wVStart 成員取得的基底位移。
下圖顯示範例命令緩衝區的一部分,其中包含D3DDP2OP_INDEXEDLINESTRIP命令、D3DHAL_DP2STARTVERTEX位移,以及D3DHAL_DP2INDEXEDLINESTRIP結構的清單。 驅動程式應該從頂點緩衝區處理四個頂點,轉譯由 (v[8]、 v[4]) 、 (v[4]、 v[7]) 、 (v[7], v[6]) 所定義的三個聯機線段。
規格需求
需求 | 值 |
---|---|
標頭 | d3dhal.h (包含 D3dhal.h) |
另請參閱
D3DDP2OP_INDEXEDLINESTRIP