Microsoft DirectX 8.0 (Visual Basic)

サーフェス メモリへの直接アクセス

サーフェス メモリに直接アクセスするには、Direct3DSurface8.LockRect メソッドを使う。このメソッドを呼び出す場合、RECT パラメータは、直接アクセスしようとするサーフェス上の矩形を記述する RECT 型とする。サーフェス全体をロックするには、Rect を Nothing に設定する。また、サーフェスの一部だけをカバーする RECT を指定することもできる。2 つの矩形が重ならなければ、2 つのスレッドまたは 2 つのプロセスは、サーフェスの複数の矩形を同時にロックすることができる。マルチサンプル バック バッファはロックできないことに注意すること。

LockRect メソッドは、サーフェス メモリに正しくアクセスするために必要となるすべての情報を、D3DLOCKED_RECT 型に格納する。この構造体には、ピッチに関する情報が含まれており、ロックされているビットがある。サーフェス メモリへのアクセスが終了すると、Direct3DSurface8.UnlockRect メソッドを呼び出して、ロックを解除する。

サーフェスをロックしている間、そのコンテンツを直接操作することができる。サーフェス メモリを直接レンダリングするときの一般的な問題を避けるためのヒントを、以下のリストで示す。