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) で、n は (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構造体を含むコマンド バッファーを示す図

要件

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

こちらもご覧ください

D3DDP2OP_INDEXEDLINELIST

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2