Share via


IDirect3DDevice9::CreateDepthStencilSurface

深度ステンシル リソースを作成します。

HRESULT 
CreateDepthStencilSurface(
  UINT Width,
  UINT Height,
  D3DFORMAT Format,
  D3DMULTISAMPLE_TYPE MultiSample,
  DWORD MultisampleQuality,
  BOOL Discard,
  IDirect3DSurface9** ppSurface,
  HANDLE* pSharedHandle
);

パラメータ

  • Width
    深度ステンシル サーフェスの幅 (ピクセル単位)
  • Height
    深度ステンシル サーフェスの高さ (ピクセル単位)
  • Format
    D3DFORMAT 列挙型のメンバー。深度ステンシル サーフェスのフォーマットを指定します。この値は、このデバイス用として列挙された深度ステンシル フォーマットの 1 つでなければなりません。
  • MultiSample
    D3DMULTISAMPLE_TYPE 列挙型のメンバー。マルチサンプリング バッファー タイプを指定します。この値には、以下のいずれかのマルチサンプリング タイプを指定します。このサーフェスを IDirect3DDevice9::SetDepthStencilSurface に渡す場合、そのマルチサンプリング タイプは IDirect3DDevice9::SetRenderTarget で設定されたレンダー ターゲットのタイプと同じである必要があります。
  • MultisampleQuality
    品質レベルです。有効な範囲は、0 から、IDirect3D9::CheckDeviceMultiSampleType の pQualityLevels が返すレベル - 1 までです。それより大きな値を渡すと、エラー D3DERR_INVALIDCALL が返されます。対になるレンダー ターゲットの MultisampleQuality 値、深度ステンシル サーフェス、およびマルチサンプリング タイプはすべて一致しなくてはなりません。
  • Discard
    z バッファーの破棄を有効にするには、このフラグを TRUE に設定し、そうでない場合は FALSE に設定します。このフラグを設定した場合、深度ステンシル バッファーのコンテンツは別の深度サーフェスを指定した IDirect3DDevice9::Present または IDirect3DDevice9::SetDepthStencilSurface を呼び出した後に無効になります。 このフラグは、D3DPRESENTFLAG で 定数 D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL と同じ動作をします。
  • ppSurface
    IDirect3DSurface9 インターフェイスへのポインターのアドレスです。作成された深度ステンシル サーフェス リソースを表します。
  • pSharedHandle
    予約済みです。このパラメーターを NULL に設定します。このパラメーターを Windows Vista の Direct3D 9 で使用して、リソースを共有することができます。

戻り値

メソッドが成功した場合は、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_NOTAVAILABLE、D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY、E_OUTOFMEMORY。

解説 

深度ステンシル バッファーのメモリー クラスは、常に D3DPOOL_DEFAULT です。

要件

ヘッダー: D3D9.h 宣言

ライブラリ: D3D9.lib 内容

関連項目

IDirect3DDevice9::UpdateSurface