Platform SDK: DirectX |
アプリケーションでは、しばしば、実行時に既存の頂点バッファについての情報を取得することが必要になる。Direct3D では、IDirect3DVertexBuffer7::GetVertexBufferDesc メソッドを使用してこの情報を取得する。このメソッドは、現在の記述を取得する頂点バッファの IDirect3DVertexBuffer7 インターフェイスを使用して呼び出す。
GetVertexBufferDesc メソッドはパラメータを 1 つだけ受け取る。このパラメータには、適切に初期化された D3DVERTEXBUFFERDESC 構造体のアドレスを設定する。構造体を初期化するには、dwSize メンバを構造体のバイト単位のサイズに設定し、残りのメンバは 0 に設定する。メソッドが返ると、頂点バッファ機能、バッファ内の頂点フォーマット、バッファが含むことができる頂点の合計数についての情報が構造体に設定されている。
注 : 頂点バッファを最適化すると、D3DVBCAPS_OPTIMIZED 能力フラグがD3DVERTEXBUFFERDESC 構造体の dwCaps メンバに設定される。このフラグが設定されているときは、頂点バッファはロックできない。最適化された頂点バッファの内容は、レンダリング メソッドおよび頂点バッファ処理メソッド (IDirect3DVertexBuffer7::ProcessVertices および IDirect3DVertexBuffer7::ProcessVerticesStrided) 以外では使用できない。
一般的な情報については、「頂点バッファの記述」を参照すること。
アプリケーションでは、しばしば、実行時に既存の頂点バッファについての情報を取得することが必要になる。Direct3D では、Direct3DVertexBuffer7.GetVertexBufferDesc メソッドを使用して、Visual Basic アプリケーションでこの情報を取得できるようにする。
GetVertexBufferDesc メソッドはパラメータを 1 つだけ受け取る。このパラメータには、D3DVERTEXBUFFERDESC 型の適切な変数を設定する。このメソッドが返ると、構造体には、頂点バッファの能力、バッファの頂点フォーマット、およびバッファに含まれる頂点の合計数についての情報が入る。
注 : 頂点バッファを最適化すると、D3DVBCAPS_OPTIMIZED 能力フラグが、GetVertexBufferDesc によって取得される D3DVERTEXBUFFERDESC 型の lCaps メンバに設定される。このフラグが設定されているときは、頂点バッファはロックできない。最適化された頂点バッファの内容は、レンダリング メソッドおよび Direct3DVertexBuffer7.ProcessVertices メソッド以外では使用できない。
一般的な情報については、「頂点バッファの記述」を参照すること。