Direct3D サーフェス (Direct3D 9)
サーフェスは表示メモリの線形領域を表し、通常はディスプレイ カードの表示メモリに存在しますが、サーフェスはシステム メモリに存在する可能性があります。 サーフェスは、IDirect3DSurface9 インターフェイスによって管理されます。
- フロント バッファー。 グラフィックス アダプターによって変換され、モニターに表示されるメモリの四角形。 Direct3D では、アプリケーションはフロント バッファーに直接書き込むことはありません。
- バック バッファー。 アプリケーションが直接書き込むことができるメモリの四角形。 バック バッファーがモニターに直接表示されることはありません。
- サーフェスを反転する。 バック バッファーをフロント バッファーに移動するプロセス。
- スワップ チェーン。 フロント バッファーにシリアル表示できる 1 つ以上のバック バッファーのコレクション。
Surface の取得
次のいずれかのメソッドを呼び出してサーフェスを作成します。
- CreateDepthStencilSurfaceの
- CreateOffscreenPlainSurfaceの
- CreateRenderTarget
Surface 形式は、サーフェス メモリ内の各ピクセルのデータの解釈方法を決定します。 Direct3D では、D3DSURFACE_DESC 構造体の D3DFORMAT メンバーを使用して、サーフェス形式を記述します。 GetDesc メソッドを呼び出すことで、既存のサーフェスの形式を取得できます。
サーフェスが作成されたら、次のいずれかのメソッドを呼び出すことによって、サーフェスへのポインターを取得できます。
- GetBackBufferの
- GetCubeMapSurfaceの
- GetDepthStencilSurfaceの
- GetFrontBufferDataをする
- GetRenderTarget
- GetSurfaceLevelの
IDirect3DSurface9 インターフェイスを使用すると、UpdateSurface メソッドを介して間接的にメモリにアクセスできます。 このメソッドを使用すると、1 つの IDirect3DSurface9 インターフェイスから別の IDirect3DSurface9 インターフェイスにピクセルの四角形領域をコピーできます。 サーフェス インターフェイスには、表示メモリに直接アクセスするメソッドもあります。 たとえば、LockRect メソッドを使用して、表示メモリの四角形領域をロックできます。 サーフェス上 ロックされた四角形領域の操作が完了したら、UnlockRect を呼び出す必要があります。
その他の Surface トピック
サーフェスを使用する方法の詳細については、次のいずれかのトピックを参照してください。
- Surface Formats (Direct3D 9)
- スワップ チェーンとは (Direct3D 9)
- 幅とピッチ (Direct3D 9)
- フリップ サーフェス (Direct3D 9)
- ページの反転とバック バッファリング (Direct3D 9)
- サーフェスへのコピー (Direct3D 9)
- コピー サーフェス (Direct3D 9)
- Surface メモリへの直接アクセスの (Direct3D 9)
- プライベート Surface データの (Direct3D 9)
- ガンマ コントロール (Direct3D 9)
関連トピック