IDirect3DDevice9::CreateRenderTarget

レンダー ターゲット サーフェスを作成します。

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

パラメータ

  • Width
    レンダー ターゲット サーフェスの幅 (ピクセル単位)
  • Height
    レンダー ターゲット サーフェスの高さ (ピクセル単位)
  • Format
    D3DFORMAT 列挙型のメンバー。レンダリング バッファーのフォーマットを指定します。
  • MultiSample
    D3DMULTISAMPLE_TYPE 列挙型のメンバー。マルチサンプリング バッファー タイプを指定します。このパラメーターは、このレンダー ターゲットのアンチエイリアシング タイプを指定します。このサーフェスを IDirect3DDevice9::SetRenderTarget に渡す場合、そのマルチサンプリング タイプは IDirect3DDevice9::SetDepthStencilSurface で設定されたレンダー ターゲットのタイプと同じである必要があります。
  • MultisampleQuality
    品質レベルです。有効な範囲は、0 から、IDirect3D9::CheckDeviceMultiSampleType の pQualityLevels が返すレベル - 1 までです。それより大きな値を渡すと、エラー D3DERR_INVALIDCALL が返されます。対になるレンダー ターゲットの MultisampleQuality 値、深度ステンシル サーフェス、およびマルチサンプリング タイプはすべて一致しなくてはなりません。
  • Lockable
    Lockable に TRUE を指定しない限り、レンダー ターゲットはロック可能ではありません。 ロック可能なレンダー ターゲットは一部のグラフィック ハードウェアでパフォーマンスが低下します。リードバック パフォーマンス (ビデオ メモリーからシステム メモリーへのデータの移動) は使用されるハードウェア (AGP 対 PCI Express など) のタイプに依存し、通常、アップロード パフォーマンス (システムからビデオ メモリーへの移動) よりもかなり低速です。レンダー ターゲットへの読み取りアクセスが必要な場合は、ロック可能なレンダー ターゲットの代わりに GetRenderTargetData を使用します。
  • ppSurface
    IDirect3DSurface9 インターフェイスへのポインターのアドレス。
  • pSharedHandle
    予約済みです。このパラメーターを NULL に設定します。このパラメーターを Windows Vista の Direct3D 9 で使用して、リソースを共有することができます。

戻り値

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

解説 

レンダー ターゲット サーフェスは D3DPOOL_DEFAULT メモリー クラスに配置されます。

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

要件

ヘッダー: D3D9.h 宣言

ライブラリ: D3D9.lib 内容