IDirect3DDevice9Ex::CreateDepthStencilSurfaceEx メソッド (d3d9.h)
深度ステンシル サーフェスを作成します。
構文
HRESULT CreateDepthStencilSurfaceEx(
[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] DWORD Usage
);
パラメーター
[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 に設定 します。 このパラメーターは、Direct3D 9 for Windows Vista で リソースを共有するために使用できます。
[in] Usage
種類: DWORD
1 つ以上の D3DUSAGE 定数を組み合わせて使用します。これは、一緒に OR を指定できます。 値 0 は、使用量がないことを示します。
戻り値
種類: HRESULT
メソッドが成功した場合、戻り値はD3D_OK。 メソッドが失敗した場合、戻り値は、D3DERR_NOTAVAILABLE、D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY、E_OUTOFMEMORYのいずれかになります。
注釈
深度ステンシル バッファーのメモリ クラスは常にD3DPOOL_DEFAULT。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d9.h |
Library | D3D9.lib |