D3D9 宣言と D3D8 宣言の間のマップ

次の表は、 D3DVERTEXELEMENT9 宣言のメンバーを Direct3D 8 宣言にマップします。

Direct3D 9 の使用状況 Direct3D 9 の使用状況インデックス Direct3D 8
D3DDECLUSAGE_POSITION 0 D3DVSDE_POSITION
D3DDECLUSAGE_POSITION 1 D3DVSDE_POSITION2
D3DDECLUSAGE_NORMAL 0 D3DVSDE_NORMAL
D3DDECLUSAGE_NORMAL 1 D3DVSDE_NORMAL2
D3DDECLUSAGE_BLENDWEIGHT 0 D3DVSDE_BLENDWEIGHT
D3DDECLUSAGE_BLENDINDICES 0 D3DVSDE_BLENDINDICES
D3DDECLUSAGE_PSIZE 0 D3DVSDE_PSIZE
D3DDECLUSAGE_COLOR 0 D3DVSDE_DIFFUSE
D3DDECLUSAGE_COLOR 1 D3DVSDE_SPECULAR
D3DDECLUSAGE_TEXCOORD n D3DVSDE_TEXCOORDn

 

Direct3D 7 ドライバーのハードウェア頂点処理で宣言を使用する場合、Direct3D ランタイムは、次の規則を使用して FVF に変換します。

  • ストリーム 0 のみを使用する必要があります (MaxStreams キャップから明らかです)。
  • 頂点要素の順序は、FVF ビットの順序と同じである必要があります。
  • テクスチャ座標のギャップは使用できません。
  • テーブルが記述されていない頂点要素は、DirectX 8 より前のすべてのドライバーに対して有効な FVF に変換できないため、これらのドライバーでは使用できません。
  • デバイスがD3DPTEXTURECAPS_PROJECTEDまたはD3DPTEXTURECAPS_CUBEMAPキャップを設定していない場合、D3DDECLUSAGE_TEXCOORDを持つ頂点要素に対してのみD3DDECLTYPE_FLOAT2が許可されます。

頂点宣言