サーフェイス
サーフェイス
サーフェイスは、ディスプレイ メモリの線形領域を表している。通常、サーフェイスはディスプレイ カードのディスプレイ メモリにあるが、システム メモリに存在する場合もある。サーフェイス オブジェクトは、IDirect3DSurface9 インターフェイス内に含まれている。
IDirect3DSurface9 インターフェイスを取得するには、次のいずれかのメソッドを呼び出す。
- IDirect3DCubeTexture9::GetCubeMapSurface
- IDirect3DDevice9::CreateDepthStencilSurface
- IDirect3DDevice9::CreateRenderTarget
- IDirect3DDevice9::GetBackBuffer
- IDirect3DDevice9::GetDepthStencilSurface
- IDirect3DDevice9::GetFrontBufferData
- IDirect3DDevice9::GetRenderTarget
- IDirect3DSwapChain9::GetBackBuffer
- IDirect3DTexture9::GetSurfaceLevel
IDirect3DSurface9 インターフェイスでは、IDirect3DDevice9::UpdateSurface メソッドによって間接的にメモリにアクセスできる。このメソッドは、ピクセルの矩形領域を、ある IDirect3DSurface9 インターフェイスから別の IDirect3DSurface9 インターフェイスにコピーできる。さらに、サーフェイス インターフェイスにはディスプレイ メモリに直接アクセスするメソッドもある。たとえば、IDirect3DSurface9::LockRect メソッドを使って、ディスプレイ メモリの矩形領域をロックできる。重要なことは、サーフェイス上のロックした矩形領域を操作した後で、IDirect3DSurface9::UnlockRect を呼び出すことである。
サーフェイス フォーマットは、サーフェイス メモリ内の各ピクセルのデータをどのように解釈するかを指示する。Microsoft® Direct3D® は、D3DSURFACE_DESC 構造体の D3DFORMAT メンバを使ってサーフェイス フォーマットを記述する。IDirect3DSurface9::GetDesc メソッドを呼び出すことによって、既存のサーフェイスのフォーマットを取得できる。
説明するトピックは、次のとおりである。