Platform SDK: DirectX

D3DVERTEXBUFFERDESC

D3DVERTEXBUFFERDESC 構造体は、頂点バッファ オブジェクトのプロパティを記述する。この構造体は IDirect3D7::CreateVertexBuffer および IDirect3DVertexBuffer7::GetVertexBufferDesc メソッドで使用される。

typedef struct _D3DVERTEXBUFFERDESC {
    DWORD dwSize;
    DWORD dwCaps;
    DWORD dwFVF;
    DWORD dwNumVertices;
} D3DVERTEXBUFFERDESC, *LPD3DVERTEXBUFFERDESC;

メンバ

dwSize
この構造体のバイト単位のサイズ。このメンバは構造体が使われる前に初期化しなければならない。
dwCaps
頂点バッファを記述し、その頂点バッファが最適化された頂点データを保持できるかどうかを示す能力フラグ。このパラメータは、以下に示すフラグの任意の組み合わせで作られる。
(なし)
頂点バッファは、ドライバが効率的なリード動作を実行するために選択したメモリであれば、どのメモリに作成してもよい。
D3DVBCAPS_DONOTCLIP
頂点バッファはクリッピング情報を保持することはできない。
D3DVBCAPS_OPTIMIZED
頂点バッファは、最適化された頂点データを保持できる (このフラグは、新しい頂点バッファの作成時には使用されない)。
D3DVBCAPS_SYSTEMMEMORY
頂点バッファは、システム メモリに作成しなければならない。この能力は、ソフトウェア デバイス (MMX または RGB デバイス) または HAL デバイス (IID_IDirect3DHALDevice) を使用して頂点バッファをレンダリングする場合に使用する。
D3DVBCAPS_WRITEONLY
頂点バッファへの書き込み操作しか実行できないことをシステムに知らせる。このフラグを使用することにより、ドライバは最適なメモリ領域を選択して効率的に書き込み操作やレンダリングを実行する。この能力を利用して作成した頂点バッファから読み出しを行おうとすると、パフォーマンスが低下することがある。
dwFVF
バッファ内の頂点の頂点フォーマットを記述する柔軟な頂点フォーマット フラグの組み合わせ。
dwNumVertices
この頂点バッファが保持できる頂点の数の最大値。許容される最大頂点数は D3DMAXNUMVERTICES (0xFFFF) である。

注意

ソフトウェア デバイス (MMX および RGB デバイス) は、ローカルまたは非ローカルであるかどうかにかかわらず、ビデオ メモリから頂点バッファをレンダリングすることはできない。ソフトウェア デバイスを使用して頂点バッファをレンダリングするには、頂点バッファがシステム メモリに存在しなければならない。ハードウェア デバイスは、システム メモリまたはビデオ メモリのどちらの頂点バッファからでも、レンダリングすることができる。

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  バージョン : DirectX 6.0 以降が必要。
  ヘッダー : d3dtypes.h で宣言。

参照

頂点バッファの記述頂点バッファ