Microsoft DirectX 8.0 (C++)

インデックス バッファのプールと使用

インデックス バッファは、IDirect3DDevice8::CreateIndexBuffer メソッドで作成する。このメソッドはプール (メモリ クラス) パラメータと使用パラメータを取る。

D3DUSAGE_SOFTWAREPROCESSING フラグは、そのデバイスに対してミックス モードまたはソフトウェア頂点処理 (D3DCREATE_MIXED_VERTEXPROCESSING / D3DCREATE_SOFTWARE_VERTEXPROCESSING) が有効になっているときに設定できる。D3DUSAGE_SOFTWAREPROCESSING は、ミックス モードでのソフトウェア頂点処理に使用するバッファに設定し、ミックス モードでのハードウェア頂点処理 (D3DCREATE_HARDWARE_VERTEXPROCESSING) 時に最高のパフォーマンスを得ようとするときには設定してはならない。ただし、単一のバッファをハードウェアおよびソフトウェア頂点処理の両方に使用する場合は、D3DUSAGE_SOFTWAREPROCESSING を設定することが唯一のオプションである。D3DUSAGE_SOFTWAREPROCESSING は、ミックスおよびソフトウェア デバイスで使用できる。

インデックス処理がハードウェアで実行される場合でも、D3DPOOL_SYSTEMMEM を指定すれば、頂点バッファとインデックス バッファをシステム メモリ内に強制的に配置することができる。これは、ドライバによってこれらのバッファが AGP メモリに入れられたときに、ページ ロックされるメモリが多くなりすぎないようにする方法である。