D3DHAL_DP2INDEXEDLINESTRIP構造体 (d3dhal.h)

D3DHAL_DP2INDEXEDLINESTRIPは、D3DHAL_DP2COMMAND構造体の bCommand メンバーがD3DDP2OP_INDEXEDLINESTRIPに設定されているときに D3dDrawPrimitives2 コールバックによってコマンド バッファーから解析され、頂点インデックスを使用して接続された一連のライン セグメントをレンダリングするために使用されます。

構文

typedef struct _D3DHAL_DP2INDEXEDLINESTRIP {
  WORD wV[2];
} D3DHAL_DP2INDEXEDLINESTRIP, *LPD3DHAL_DP2INDEXEDLINESTRIP;

メンバー

wV[2]

ドライバーがライン ストリップを構成する頂点の座標データを取得する頂点バッファーへのインデックスを指定します。

このメンバーには 2 つのインデックスを保持するのに十分な領域しかありませんが、このインデックスの配列は 、(wPrimitiveCount+ 1) 要素を含む可変サイズの配列として扱う必要があります。 (wPrimitiveCount は、D3DHAL_DP2COMMAND構造体のメンバーです)。

解説

頂点バッファーでレンダリングされるインデックス付きライン ストリップは、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構造体の一覧を含むサンプル コマンド バッファーの一部を示しています。 ドライバーは頂点バッファーから 4 つの頂点を処理し、(v[8]、v[4])、(v[4]、v[7])、(v[7]、v[6]) で定義された 3 つの接続されたライン セグメントをレンダリングする必要があります。

D3DDP2OP_INDEXEDLINESTRIP コマンド、D3DHAL_DP2STARTVERTEX オフセット、およびD3DHAL_DP2INDEXEDLINESTRIP構造体の一覧を含むバッファーを示す図

必要条件

   
Header d3dhal.h (D3dhal.h を含む)

関連項目

D3DDP2OP_INDEXEDLINESTRIP

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2