Microsoft DirectX 8.0 (Visual Basic) |
頂点バッファの記述は、能力について行う。頂点バッファは、システム メモリ内にだけ存在できるのか、書き込み操作だけに使用されるのか、頂点バッファが含むことができる頂点の種類と数などを記述する。これらの特性はすべて D3DVERTEXBUFFER_DESC 型に保持される。
頂点バッファの記述によって、アプリケーションは、既存バッファが作成された方法および作成後に最適化されたかどうかを知ることができる。システムが作成済み頂点バッファの能力を書き込めるように、空白の記述構造体を用意する。このタスクの詳細については、「頂点バッファの記述の取得」を参照すること。
format メンバは、頂点バッファ データのサーフェス フォーマットの記述に使用する。type は、頂点バッファのリソース タイプを識別する。Usage 構造体のメンバは、一般的な能力フラグを格納する。D3DUSAGE_SOFTWAREPROCESSING フラグは、その頂点バッファがソフトウェア頂点処理に使用されることを示す。Usage に D3DUSAGE_WRITEONLY フラグがある場合は、頂点バッファ メモリは書き込み処理のみに使用される。これによりドライバは解放され、高速処理と高速レンダリングを可能にする最適なメモリ位置に頂点データが配置される。D3DUSAGE_WRITEONLY フラグが使用されていない場合、ドライバは、読み出し処理に効率の悪い位置にデータを配置しないようにする。これにより、処理速度やレンダリング速度が多少犠牲になる。このフラグが使用されていない場合、アプリケーションは、頂点バッファ内のデータで読み書きの処理を実行すると見なされる。
Pool は、頂点バッファに割り当てられるメモリ クラスを指定する。D3DPOOL_SYSTEMMEM フラグは、システムがシステム メモリ内に頂点バッファを作成したことを示す。
size メンバは、単に頂点バッファ データのサイズをバイト数で格納する。FVF メンバは、バッファが格納する頂点のタイプを識別する柔軟な頂点フォーマット フラグの組み合わせを格納する。