次の方法で共有


D3DHAL_DP2INDEXEDLINELIST構造体 (d3dhal.h)

D3DHAL_DP2INDEXEDLINELISTは、D3DHAL_DP2COMMAND 構造体の bCommand メンバーがD3DDP2OP_INDEXEDLINELISTに設定され、頂点インデックスを使用して行をレンダリングするときに、D3dDrawPrimitives2 コールバックによってコマンド バッファーから解析されます。

構文

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

メンバーズ

wV1

頂点バッファーへのインデックスを指定し、行の最初のエンドポイントを識別します。

wV2

頂点バッファーへのインデックスを指定し、行の 2 番目のエンドポイントを識別します。

備考

D3dDrawPrimitives2 コマンド バッファーから (wPrimitiveCount* 2) インデックス 処理し、wPrimitiveCount D3DHAL_DP2INDEXEDLINELIST 構造体 実際に処理する必要があります。 wPrimitiveCount の値は、D3DHAL_DP2COMMAND構造体で指定されます。

ドライバーは、頂点バッファーから (wPrimitiveCount * 2) の頂点 (1 行あたり 2 つの頂点) を処理する必要があります。 レンダリングされる行のシーケンスは(wV1₀, wV2₀), (wV1₁, wV2₁),..., (wV1n,wV2n), where n equals (wPrimitiveCount- 1). ドライバーは、現在のコマンドに基づいて頂点バッファー インデックスを次のように解釈する必要があります。

  • コマンドがD3DDP2OP_INDEXEDLINELISTされると、頂点バッファー インデックスは、D3DHAL_DRAWPRIMITIVES2DATA 構造体の dwVertexOffset メンバーによって指定された頂点バッファー オフセットに対して相対的になります。
  • コマンドがD3DDP2OP_INDEXEDLINELIST2されると、D3DHAL_DP2STARTVERTEX 構造体はその直後に続き、コマンド バッファー内のD3DHAL_DP2INDEXEDLINELIST構造体の前に置きます。 頂点バッファー インデックスは、dwVertexOffset で指定された頂点バッファー オフセットと、D3DHAL_DP2STARTVERTEX構造体の wVStart メンバーから取得したベース オフセットに対する相対値です。
次の図は、D3DDP2OP_INDEXEDLINELIST コマンドと 2 つのD3DHAL_DP2INDEXEDLINELIST構造体を含むサンプル コマンド バッファーの一部を示しています。 ドライバーは、頂点バッファーから次の 4 つの頂点 (v[0]、v[4])、(v[5]、v[6]) を使用して 2 つの線を描画する必要があります。 D3DDP2OP_INDEXEDLINELISTコマンドと 2 つのD3DHAL_DP2INDEXEDLINELIST構造体を含むコマンド バッファーを示す図同様に、次の図は、D3DDP2OP_INDEXEDLINELIST2 コマンド、D3DHAL_DP2STARTVERTEX オフセット、および 2 つのD3DHAL_DP2INDEXEDLINELIST構造体を含むサンプル コマンド バッファーの一部を示しています。 ドライバーは頂点バッファーから 4 つの頂点を処理し、(v[3], v[7]), (v[8], v[9]) で定義された 2 本の線をレンダリングする必要があります。 D3DDP2OP_INDEXEDLINELIST2 コマンド、D3DHAL_DP2STARTVERTEX オフセット、および 2 つのD3DHAL_DP2INDEXEDLINELIST構造体を含むコマンド バッファーを示す図

必要条件

要件 価値
ヘッダー d3dhal.h (D3dhal.h を含む)

関連項目

D3DDP2OP_INDEXEDLINELIST

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2