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 に渡す必要がある。

参照

IDirect3DDevice9::GetDepthStencilSurface