次の方法で共有


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 内容

関連項目

IDirect3DDevice9::GetDepthStencilSurface