IDirect3DDevice9::CreateDepthStencilSurface
深度ステンシル リソースを作成します。
HRESULT
CreateDepthStencilSurface(
UINT Width,
UINT Height,
D3DFORMAT Format,
D3DMULTISAMPLE_TYPE MultiSample,
DWORD MultisampleQuality,
BOOL Discard,
IDirect3DSurface9** ppSurface,
HANDLE* pSharedHandle
);
パラメータ
- Width
深度ステンシル サーフェスの幅 (ピクセル単位) - Height
深度ステンシル サーフェスの高さ (ピクセル単位) - Format
D3DFORMAT 列挙型のメンバー。深度ステンシル サーフェスのフォーマットを指定します。この値は、このデバイス用として列挙された深度ステンシル フォーマットの 1 つでなければなりません。 - MultiSample
D3DMULTISAMPLE_TYPE 列挙型のメンバー。マルチサンプリング バッファー タイプを指定します。この値には、以下のいずれかのマルチサンプリング タイプを指定します。このサーフェスを IDirect3DDevice9::SetDepthStencilSurface に渡す場合、そのマルチサンプリング タイプは IDirect3DDevice9::SetRenderTarget で設定されたレンダー ターゲットのタイプと同じである必要があります。 - MultisampleQuality
品質レベルです。有効な範囲は、0 から、IDirect3D9::CheckDeviceMultiSampleType の pQualityLevels が返すレベル - 1 までです。それより大きな値を渡すと、エラー D3DERR_INVALIDCALL が返されます。対になるレンダー ターゲットの MultisampleQuality 値、深度ステンシル サーフェス、およびマルチサンプリング タイプはすべて一致しなくてはなりません。 - Discard
z バッファーの破棄を有効にするには、このフラグを TRUE に設定し、そうでない場合は FALSE に設定します。このフラグを設定した場合、深度ステンシル バッファーのコンテンツは別の深度サーフェスを指定した IDirect3DDevice9::Present または IDirect3DDevice9::SetDepthStencilSurface を呼び出した後に無効になります。 このフラグは、D3DPRESENTFLAG で 定数 D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL と同じ動作をします。 - ppSurface
IDirect3DSurface9 インターフェイスへのポインターのアドレスです。作成された深度ステンシル サーフェス リソースを表します。 - pSharedHandle
予約済みです。このパラメーターを NULL に設定します。このパラメーターを Windows Vista の Direct3D 9 で使用して、リソースを共有することができます。
戻り値
メソッドが成功した場合は、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_NOTAVAILABLE、D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY、E_OUTOFMEMORY。
解説
深度ステンシル バッファーのメモリー クラスは、常に D3DPOOL_DEFAULT です。
要件
ヘッダー: D3D9.h 宣言