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 つの三角形を持つファンをレンダリングする必要があります。

必要条件
要件 | 価値 |
---|---|
ヘッダー | d3dhal.h (D3dhal.h を含む) |
関連項目
D3DDP2OP_INDEXEDTRIANGLEFAN
D3dDrawPrimitives2 の