IDirect3DDevice9::SetDepthStencilSurface メソッド
IDirect3DDevice9::SetDepthStencilSurface メソッド
深度ステンシル サーフェイスを設定する。
構文
HRESULT SetDepthStencilSurface(
IDirect3DSurface9 *pZStencilSurface
);
パラメータ
- pZStencilSurface
[in] 深度ステンシル サーフェイスを表す IDirect3DSurface9 インターフェイスへのポインタのアドレス。NULL に設定すると、深度ステンシルの処理が無効になり、以前の深度ステンシル バッファが解放される。
戻り値
成功した場合は、D3D_OK を返す。
pZStencilSurface が NULL 以外の場合、ステンシル サーフェイスが無効なときには D3DERR_INVALIDCALL を返す。
注意
このメソッドの使用に関する制約を次に示す。
- レンダリング ターゲットと深度ステンシル サーフェイスは、マルチサンプリング タイプが同じでなければならない。
- レンダリング ターゲットと深度ステンシル サーフェイスは、フォーマットが互換でなければならない。「IDirect3D9::CheckDepthStencilMatch」を参照すること。
- 深度ステンシル サーフェイスのサイズは、レンダリング ターゲットのサイズ以上でなければならない。
これらの制約は、デバッグ ランタイム使用時にのみ IDirect3DDevice9 の Draw メソッドを呼び出したときに検証される。
キューブ テクスチャは、サーフェイスの集合である点が他のサーフェイスと異なる。キューブ テクスチャを指定して IDirect3DDevice9::SetDepthStencilSurface を呼び出すには、IDirect3DCubeTexture9::GetCubeMapSurface を使用して個々の面を選択し、結果サーフェイスを IDirect3DDevice9::SetDepthStencilSurface に渡す必要がある。
参照