D3DHAL_DP2INDEXEDLINELIST 結構 (d3dhal.h)

當 D3DHAL_DP2COMMAND 結構的 bCommand 成員設定為 D3DDP2OP_INDEXEDLINELIST 時,D3dDrawPrimitives2 回呼會從命令緩衝區剖析D3DHAL_DP2INDEXEDLINELIST,並使用頂點索引來轉譯線條。

語法

typedef struct _D3DHAL_DP2INDEXEDLINELIST {
  WORD wV1;
  WORD wV2;
} D3DHAL_DP2INDEXEDLINELIST, *LPD3DHAL_DP2INDEXEDLINELIST;

成員

wV1

指定頂點緩衝區中的索引,識別行的第一個端點。

wV2

指定頂點緩衝區中的索引,以識別該行的第二個端點。

備註

D3dDrawPrimitives2 應該處理 (wPrimitiveCount * 2) 命令緩衝區的索引,以影響 處理 wPrimitiveCount D3DHAL_DP2INDEXEDLINELIST 結構。 wPrimitiveCount 的值是在 D3DHAL_DP2COMMAND 結構中指定。

驅動程式應該從頂點緩衝區處理總 (wPrimitiveCount * 2) 頂點,每一行有兩個頂點。 轉譯的線條序列 (wV1₀、wV2₀) 、 (wV1₁、wV2₁) 、...、 (wV2n) ,其中 n 等於 (wPrimitiveCount- 1) 。 驅動程式應該根據目前的命令解譯頂點緩衝區索引,如下所示:

  • 當命令D3DDP2OP_INDEXEDLINELIST時,頂點緩衝區索引會相對於D3DHAL_DRAWPRIMITIVES2DATA 結構的 dwVertexOffset 成員所指定的頂點緩衝區位移。
  • 當命令D3DDP2OP_INDEXEDLINELIST2時, D3DHAL_DP2STARTVERTEX 結構會緊接在它後面,並在命令緩衝區中的D3DHAL_DP2INDEXEDLINELIST結構前面 () 。 頂點緩衝區索引相對於 dwVertexOffset 所指定的頂點緩衝區位移,加上從 D3DHAL_DP2STARTVERTEX 結構 wVStart 成員取得的基底位移。
下圖顯示範例命令緩衝區的一部分,其中包含D3DDP2OP_INDEXEDLINELIST命令和兩個D3DHAL_DP2INDEXEDLINELIST結構。 驅動程式應該使用下列四個頂點從頂點緩衝區繪製兩行: (v[0]、v[4]) 、 (v[5]、v[6]) 。 顯示具有D3DDP2OP_INDEXEDLINELIST命令和兩個D3DHAL_DP2INDEXEDLINELIST結構的命令緩衝區圖 同樣地,下圖顯示範例命令緩衝區的一部分,其中包含D3DDP2OP_INDEXEDLINELIST2命令、D3DHAL_DP2STARTVERTEX位移,以及兩個D3DHAL_DP2INDEXEDLINELIST結構。 驅動程式應該從頂點緩衝區處理四個頂點,轉譯由 (v[3]、 v[7]) 、 (v[8]、 v[9]) 所定義的兩行。 顯示具有D3DDP2OP_INDEXEDLINELIST2命令、D3DHAL_DP2STARTVERTEX位移和兩個D3DHAL_DP2INDEXEDLINELIST結構的命令緩衝區圖

規格需求

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

另請參閱

D3DDP2OP_INDEXEDLINELIST

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2