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が許可されます。
関連トピック