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