IDirect3DDevice9::SetDepthStencilSurface
深度ステンシル サーフェスを設定します。
HRESULT
SetDepthStencilSurface(
IDirect3DSurface9 * pNewZStencil
);
パラメータ
- pNewZStencil
深度ステンシル サーフェスを表す IDirect3DSurface9 インターフェイスへのポインターのアドレス。これを NULL に設定すると、深度ステンシル操作は無効になります。
戻り値
メソッドが成功した場合は、D3D_OK を返します。pZStencilSurface が NULL 以外の場合に、深度ステンシルが無効なときは、D3DERR_INVALIDCALL を返します。
解説
このメソッドを使用する際の制限事項を次に示します。
- レンダー ターゲットと深度ステンシル サーフェスで、マルチサンプリング タイプが一致する必要があります。
- レンダー ターゲットと深度ステンシル サーフェスのフォーマットは互換性がある必要があります。「IDirect3D9::CheckDepthStencilMatch」を参照してください。
- 深度ステンシル サーフェスのサイズは、レンダー ターゲットのサイズ以上である必要があります。
これらの制限は、任意の IDirect3DDevice9 のときに、デバッグ ランタイムを使用する場合にのみ検証されます。 Draw メソッドが呼び出されます。
キューブ テクスチャーは他のサーフェスと異なり、サーフェスのコレクションになります。キューブ テクスチャーで IDirect3DDevice9::SetDepthStencilSurface を呼び出すには、IDirect3DCubeTexture9::GetCubeMapSurface メソッドを使用して個別の面を選択し、その結果のサーフェスを IDirect3DDevice9::SetDepthStencilSurface に渡す必要があります。
要件
ヘッダー: D3D9.h 宣言
ライブラリ: D3D9.lib 内容