Microsoft DirectX 8.0 (C++)

転送先頂点バッファの FVF 使用設定

IDirect3DDevice8::ProcessVertices メソッドでは、転送先頂点バッファの柔軟な頂点フォーマット フラグに対して特殊な設定が必要となる。柔軟な頂点フォーマット (FVF) の使用設定には、頂点処理の現在の設定との互換性がなければならない。

固定機能による頂点処理の場合、ProcessVertices は以下のような FVF 設定を必要とする。

また、テクスチャ座標のカウント数は、以下の方法で設定する。

つまり、テクスチャがそのステージにバインドされていて、以下の条件のいずれかが TRUE の場合、各テクスチャ ステージには、新しいテクスチャ座標セットが生成される。

Direct3D がテクスチャ座標を生成するとき、アプリケーションは以下のアクションを実行する必要がある。

  1. 適切な FVF 使用で転送先頂点バッファを使用する。
  2. 処理後のテクスチャ座標の配置に応じて、テクスチャ ステージの D3DTSS_TEXCOORDINDEX を再プログラムする。処理された頂点バッファを、その後の IDirect3DDevice8::DrawPrimitive 呼び出しや IDirect3DDevice8::DrawIndexedPrimitive 呼び出しで使用すると、D3DTSS_TEXCOORDINDEX 設定が再プログラムされることに注意すること。

最後に、テクスチャ座標のサイズ (D3DFVF_TEX0 〜 D3DFVF_TEX8) は、以下のように設定しなければならない。

転送先頂点バッファの FVF コードと互換性がないために ProcessVertices が失敗した場合、デバッグ出力に互換性を持つコードが出力される (デバッグ ビルドのみ)。