ID3DXSkinMesh::LockIndexBuffer
インデックス バッファをロックし、インデックス バッファ メモリへのポインタを取得する。
HRESULT LockIndexBuffer(
DWORD Flags,
BYTE** ppData
);
パラメータ
- Flags
- [in] インデックス バッファ メモリをどのようにロックするかを記述する、1 つ以上のロッキング フラグの組み合わせ。
- D3DLOCK_DISCARD
- アプリケーションは、ロックされている領域内のすべての場所を、書き込み専用処理で上書きする。これにより、非ネイティブ フォーマットで格納されているリソースは圧縮解除ステップを省略できる。
- D3DLOCK_NOOVERWRITE
- フレームの開始以降、またはこのフラグを持たない最新のロック以降、描画呼び出しの中で参照されるインデックスのうち、ロック時に修正されるインデックスがないことを表す。これにより、アプリケーションがインデックス バッファにデータを追加するだけの場合に最適化を有効にできる。
- D3DLOCK_NOSYSLOCK
- ビデオ メモリ ロックのデフォルトの動作は、システム全体のクリティカル セクションを確保し、ロックの期間中はディスプレイ モードが変化しないことを保証するというものである。このフラグを指定すると、システム全体のクリティカル セクションはロックの間保持されない。
ロック処理は若干負荷が高くなるが、システムは、マウス カーソルの移動といったほかの動作を実行できる。このフラグは、それを行わないとシステムの応答に悪影響を及ぼすソフトウェア レンダリングに対するバック バッファのロックのような、長期間のロックに役立つ。
- D3DLOCK_READONLY
- アプリケーションはバッファに書き込まない。これにより、非ネイティブ フォーマットで格納されているリソースは、アンロック時に再圧縮ステップを省略できる。
- ppData
- [out, retval] BYTE 値の配列へのポインタのアドレス。戻り値のインデックス データが入力される。
戻り値
成功した場合は、D3D_OK を返す。
失敗した場合は、D3DERR_INVALIDCALL を返す。
注意
インデックス バッファを操作するときは、複数のロック呼び出しを実行できる。ただし、ロック呼び出しの数とロック解除呼び出しの数を一致させる必要がある。現在設定されているインデックス バッファでロック カウントが残っている場合、DrawPrimitive の呼び出しは失敗する。
ヘッダー : D3dx8mesh.h で宣言。
インポート ライブラリ : D3dx8.lib を使用。
参照
ID3DXSkinMesh::UnlockIndexBuffer