IDirect3DDevice9::CreateRenderTarget メソッド

IDirect3DDevice9::CreateRenderTarget メソッド

レンダリング ターゲット サーフェイスを作成する。

構文

HRESULT CreateRenderTarget(      
    UINT Width,
    UINT Height,
    D3DFORMAT Format,
    D3DMULTISAMPLE_TYPE MultiSample,
    DWORD MultisampleQuality,
    BOOL Lockable,
    IDirect3DSurface9** ppSurface,
    HANDLE* pHandle
);

パラメータ

  • Width
    [in] レンダリング ターゲット サーフェイスの幅 (ピクセル単位)。
  • Height
    [in] レンダリング ターゲット サーフェイスの高さ (ピクセル単位)。
  • Format
    [in] D3DFORMAT 列挙型のメンバ。レンダリング ターゲットのフォーマットを記述する。
  • MultiSample
    [in] マルチサンプリング バッファ タイプを記述する D3DMULTISAMPLE_TYPE 列挙型のメンバ。このパラメータは、作成するレンダリング ターゲットのアンチエイリアシング タイプを指定する。このサーフェイスを IDirect3DDevice9::SetRenderTarget に渡すときは、マルチサンプリング タイプが、IDirect3DDevice9::SetDepthStencilSurface で設定された深度ステンシルのものと同じでなければならない。
  • MultisampleQuality
    [in] 品質レベル。有効範囲は、0 から、IDirect3D9::CheckDeviceMultiSampleType で使う pQualityLevels に返されるレベルから 1 を引いた値までである。それより大きな値を渡すと、エラー D3DERR_INVALIDCALL が返される。ペアにされたレンダリング ターゲットと深度ステンシル サーフェイスの MultisampleQuality 値、マルチサンプリング タイプが、すべて一致している必要がある。
  • Lockable
    [in] アプリケーションが Lockable に TRUE を指定しない限り、レンダリング ターゲットはロックできない。ロック可能なレンダリング ターゲットによって、一部のグラフィック ハードウェアではパフォーマンスが落ちることに注意すること。
  • ppSurface
    [out, retval] IDirect3DSurface9 インターフェイスへのポインタのアドレス。
  • pHandle
    [in] 予約済み。このパラメータは、NULL に設定する。

戻り値

成功した場合は、D3D_OK を返す。

失敗した場合は、次のいずれかの値を返す。

D3DERR_NOTAVAILABLE このデバイスは、問い合わせたマルチサンプル タイプをサポートしていない。
D3DERR_INVALIDCALL メソッドの呼び出しが無効である。たとえば、メソッドのパラメータに無効な値が設定されている場合などである。
D3DERR_OUTOFVIDEOMEMORY 処理を行うのに十分なディスプレイ メモリがない。
E_OUTOFMEMORY 呼び出しを完了するための十分なメモリを割り当てることができなかった。

注意

レンダリング ターゲット サーフェイスは、D3DPOOL_DEFAULT メモリ クラスに格納される。

ロック可能なマルチサンプリング レンダリング ターゲットの作成はサポートされていない。