IDirect3DDevice9::CreateDepthStencilSurface メソッド (d3d9helper.h)
深度ステンシル リソースを作成します。
構文
HRESULT CreateDepthStencilSurface(
[in] UINT Width,
[in] UINT Height,
[in] D3DFORMAT Format,
[in] D3DMULTISAMPLE_TYPE MultiSample,
[in] DWORD MultisampleQuality,
[in] BOOL Discard,
[out, retval] IDirect3DSurface9 **ppSurface,
[in] HANDLE *pSharedHandle
);
パラメーター
[in] Width
型: UINT
深度ステンシル サーフェスの幅 (ピクセル単位)。
[in] Height
型: UINT
深度ステンシル サーフェスの高さ (ピクセル単位)。
[in] Format
種類: D3DFORMAT
D3DFORMAT列挙型のメンバー。深度ステンシル サーフェスの形式を記述します。 この値は、このデバイスの列挙された深度ステンシル形式のいずれかである必要があります。
[in] MultiSample
マルチサンプリング バッファー型を記述する、 D3DMULTISAMPLE_TYPE 列挙型のメンバー。 この値は、許可されているマルチサンプル型のいずれかである必要があります。 このサーフェスを IDirect3DDevice9::SetDepthStencilSurface に渡す場合、そのマルチサンプルの種類は 、IDirect3DDevice9::SetRenderTarget によって設定されたレンダー ターゲットの型と同じである必要があります。
[in] MultisampleQuality
型: DWORD
品質レベル。 有効な範囲は、 IDirect3D9::CheckDeviceMultiSampleType によって使用される pQualityLevels によって返されるレベルより 0 から 1 未満の範囲です。 より大きな値を渡すと、エラー D3DERR_INVALIDCALLが返されます。 ペアのレンダー ターゲット、深度ステンシル サーフェス、および MultiSample 型の MultisampleQuality 値はすべて一致する必要があります。
[in] Discard
種類: BOOL
z バッファーの破棄を有効にするにはこのフラグを TRUE に設定し、それ以外の場合 は FALSE に 設定します。 このフラグが設定されている場合、深度ステンシル バッファーの内容は、 IDirect3DDevice9::P resent または IDirect3DDevice9::SetDepthStencilSurface を別の深度サーフェスで呼び出した後に無効になります。
このフラグの動作は、D3DPRESENTFLAGの定数D3DPRESENTFLAG_DISCARD_DEPTHSTENCILと同じです。
[out, retval] ppSurface
種類: IDirect3DSurface9**
作成された深度ステンシル サーフェス リソースを表す IDirect3DSurface9 インターフェイスへのポインターのアドレス。
[in] pSharedHandle
型: HANDLE*
予約済み。 このパラメーターを NULL に設定 します。 このパラメーターは、Windows Vista 用 Direct3D 9 で リソースを共有するために使用できます。
戻り値
型: HRESULT
メソッドが成功した場合、戻り値はD3D_OK。 メソッドが失敗した場合、戻り値は次のいずれかになります:D3DERR_NOTAVAILABLE、D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY、E_OUTOFMEMORY。
注釈
深度ステンシル バッファーのメモリ クラスは常にD3DPOOL_DEFAULT。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d9helper.h (D3D9.h を含む) |
Library | D3D9.lib |