D3DFVF
フレキシブル頂点形式定数 (FVF コード) は、固定関数パイプラインによって処理される 1 つのデータ ストリームでインターリーブされた頂点の内容を記述するために使用されます。
次のフラグは、頂点の形式を示しています。 頂点形式の詳細については、「 固定関数 FVF コード (Direct3D 9)」を参照してください。
#define | 説明 | データの順序と種類 |
---|---|---|
D3DFVF_DIFFUSE | 頂点形式には、拡散色コンポーネントが含まれます。 | ARGB オーダーの DWORD。 「D3DCOLOR_ARGB」を参照してください。 |
D3DFVF_NORMAL | 頂点形式には、頂点法線ベクトルが含まれます。 このフラグは、D3DFVF_XYZRHW フラグと共に使用できません。 | float、float、float |
D3DFVF_PSIZE | ポイント サイズで指定された頂点形式。 このサイズは、変換および点灯されていない頂点のカメラ空間ユニットで表され、変換された頂点と点灯した頂点の場合はデバイス空間単位で表されます。 | float |
D3DFVF_SPECULAR | 頂点形式には、反射色コンポーネントが含まれます。 | ARGB オーダーの DWORD。 「D3DCOLOR_ARGB」を参照してください。 |
D3DFVF_XYZ | 頂点形式には、変換されていない頂点の位置が含まれます。 このフラグは、D3DFVF_XYZRHW フラグと共に使用できません。 | float、float、float。 |
D3DFVF_XYZRHW | 頂点形式には、変換された頂点の位置が含まれます。 このフラグは、D3DFVF_XYZフラグまたはD3DFVF_NORMALフラグでは使用できません。 | float、float、float、float。 |
D3DFVF_XYZB5によるD3DFVF_XYZB1 | 頂点形式には、位置データと、マルチマトリックス頂点ブレンド操作に使用する、対応する数の重み付け (ベータ) 値が含まれます。 現在、Direct3D は、最大 3 つの重み付け値と 4 つのブレンド マトリックスとブレンドできます。 ブレンド マトリックスの使用の詳細については、「 インデックス付き頂点ブレンド (Direct3D 9)」を参照してください。 | 1、2、または 3 floats。 D3DFVF_LASTBETA_UBYTE4を使用すると、最後のブレンドウェイトは DWORD として扱われます。 |
D3DFVF_XYZW | 頂点形式には、変換およびクリップされた (x、y、z、w) データが含まれます。 ProcessVertices はクリップを呼び出さず、代わりにクリップ座標でデータを出力します。 この定数は、プログラミング可能な頂点パイプラインに対してのみ設計され、使用できます。 | float、float、float、float |
次のフラグでは、固定関数パイプラインで使用されるテクスチャ フラグについて説明します。
#define | 説明 |
---|---|
D3DFVF_TEX0 - D3DFVF_TEX8 | この頂点のテクスチャ座標セットの数。 これらのフラグの実際の値はシーケンシャルではありません。 |
D3DFVF_TEXCOORDSIZEN(coordIndex) | テクスチャ座標データ セットを定義します。 n はテクスチャ座標の寸法を示します。 coordIndex は、テクスチャ座標インデックス番号を示します。 「D3DFVF_TEXCOORDSIZENおよびテクスチャ座標」と「テクスチャ ステージ」を参照してください。 |
次のフラグでは、固定関数パイプラインで使用されるマスク フラグについて説明します。
#define | 説明 |
---|---|
D3DFVF_POSITION_MASK | 位置ビットのマスク。 |
D3DFVF_RESERVED0、D3DFVF_RESERVED2 | FVF の予約済みビットの値をマスクします。 使用しないでください。 |
D3DFVF_TEXCOUNT_MASK | テクスチャ フラグ ビットのマスク値。 |
次のフラグでは、固定関数パイプラインで使用されるさまざまなフラグについて説明します。
#define | 説明 | |
D3DFVF_LASTBETA_D3DCOLOR | 頂点位置データの最後のベータ フィールドは D3DCOLOR 型になります。 ベータ フィールドのデータは、マトリックス パレット スキニングと共に使用され、マトリックス インデックスを指定します。 | |
D3DFVF_LASTBETA_UBYTE4 | 頂点位置データの最後のベータ フィールドは、UBYTE4 型になります。 ベータ フィールドのデータは、マトリックス パレット スキニングと共に使用され、マトリックス インデックスを指定します。
FVF が として宣言されている場合: D3DFVF_XYZB5 |D3DFVF_LASTBETA_UBYTE4。 Weight と MatrixIndices は beta[5] に含まれています。ここで、D3DFVF_LASTBETA_UBYTE4は beta[5] の最後の DWORD を UBYTE4 型として解釈すると言います。 |
|
D3DFVF_TEXCOUNT_SHIFT | 頂点のテクスチャ座標の数を識別する整数値をシフトするビット数。 この値は、次に示すように使用できます。
|
次の例は、他の一般的なフラグの組み合わせを示しています。
// Untransformed vertex for lit, untextured, Gouraud-shaded content.
dwFVF = ( D3DFVF_XYZ | D3DFVF_DIFFUSE );
// Untransformed vertex for unlit, untextured, Gouraud-shaded
// content with diffuse material color specified per vertex.
dwFVF = ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE );
// Untransformed vertex for light-map-based lighting.
dwFVF = ( D3DFVF_XYZ | D3DFVF_TEX2 );
// Transformed vertex for light-map-based lighting with shared rhw.
dwFVF = ( D3DFVF_XYZRHW | D3DFVF_TEX2 );
// Heavyweight vertex for unlit, colored content with two
// sets of texture coordinates.
dwFVF = ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE |
D3DFVF_SPECULAR | D3DFVF_TEX2 );
要件 | 値 |
---|---|
ヘッダー | d3d9types.h |
最小オペレーティング システム | Windows 98 |