次の方法で共有


D3DHAL_DP2INDEXEDTRIANGLEFAN構造体 (d3dhal.h)

D3DHAL_DP2INDEXEDTRIANGLEFANは、D3DHAL_DP2COMMAND 構造体の bCommand メンバーが D3DDP2OP_INDEXEDTRIANGLEFAN に設定されている場合に、D3dDrawPrimitives2 コールバックによってコマンド バッファーから解析され、頂点インデックスを使用して接続された三角形のシーケンスをレンダリングするために使用されます。 すべての三角形は共通の頂点を共有します。

構文

typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN {
  WORD wV[3];
} D3DHAL_DP2INDEXEDTRIANGLEFAN, *LPD3DHAL_DP2INDEXEDTRIANGLEFAN;

メンバーズ

wV[3]

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

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

備考

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

ドライバーは、頂点バッファーから (wPrimitiveCount + 2) 頂点の合計 (三角形あたり 3 つの頂点) を処理する必要があります。 レンダリングされる三角形のシーケンスは次のとおりです。 (wV[1], wV[2], wV[0]), (wV[2], wV[], wV[0]), (wV[3], wV[4], wV[0]), ..., (wV[wPrimitiveCount], wV[wPrimitiveCount]+1], wV[0]). すべての三角形には、共通 wV[0] で指定された頂点があることに注意してください。

D3DHAL_DP2STARTVERTEX 構造体は、コマンド バッファー内のコマンドの直後にあります。 頂点バッファー インデックスは、D3DHAL_DRAWPRIMITIVES2DATA 構造体の dwVertexOffset メンバーによって指定された頂点バッファー オフセットと、D3DHAL_DP2STARTVERTEX構造体の wVStart メンバーから取得されたベース オフセットに対して相対的です。

次の図は、D3DDP2OP_INDEXEDTRIANGLEFAN コマンド、D3DHAL_DP2STARTVERTEX オフセット、およびD3DHAL_DP2INDEXEDTRIANGLEFAN構造体の論理リストを含むサンプル コマンド バッファーの一部を示しています。 ドライバーは頂点バッファーから 5 つの頂点を処理し、(v[4]、v[5]、v[7])、(v[5]、v[6]、v[7])、(v[6]、v[9]、v[7]) で定義された 3 つの三角形を持つファンをレンダリングする必要があります。

D3DDP2OP_INDEXEDTRIANGLEFAN コマンドを使用したバッファー、D3DHAL_DP2STARTVERTEX オフセット、およびD3DHAL_DP2INDEXEDTRIANGLEFAN構造体の一覧を示す図

必要条件

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

関連項目

D3DDP2OP_INDEXEDTRIANGLEFAN

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2