Platform SDK: DirectX |
IDirect3DDevice7::SetRenderTarget メソッドは、レンダリング ターゲットとして新しい DirectDraw サーフェスの方向に、レンダリング出力を簡単に指定することをアプリケーションに許可する。
HRESULT SetRenderTarget( LPDIRECTDRAWSURFACE7 lpNewRenderTarget, DWORD dwFlags );
成功すれば D3D_OK を返す。
失敗すればエラーを返す。エラーは次の値のいずれかである。
DDERR_INVALIDPARAMS |
DDERR_INVALIDSURFACETYPE |
現在のレンダリング ターゲットに深度バッファがない場合、深度バッファがある新しいレンダリング ターゲット サーフェスを設定するためにこのメソッドを使用することはできない。同様に、このメソッドは、深度バッファがないレンダリング ターゲットから深度バッファがあるレンダリング ターゲットに切り替えるために使用することもできない。このような処理を実行しようとするとデバッグ ビルドで失敗し、リテール ビルドでは信頼できない動作が発生することがある。新旧のレンダリング ターゲットでは共に深度バッファを使用するため、新しいレンダリング ターゲットに深度バッファをアタッチすると、その深度バッファは内容が古い深度バッファを置き換える。
従来のインターフェイスにおけるこのメソッドの実装とは異なり、IDirect3DDevice7::SetRenderTarget はデバイスの現在のマテリアルまたはビューポートを無効にしない。
能力は、レンダリング ターゲット サーフェスのプロパティの変化によっては変わらない。Direct3D HAL およびソフトウェア ラスタライザは、アプリケーションに対して一度だけ能力を公開する。システムは、目的のサーフェスのフォーマットにより異なる能力セットを提示することはできない。
複数の深度バッファがレンダリング ターゲットにアタッチされていると、この関数は失敗する。
IDirect3DDevice3 インターフェイスでは、このメソッドは従来の IDirect3DrawSurface4 インターフェイスへのポインタを受け取った。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
バージョン :DirectX 7.0 が必要。
ヘッダー : d3d.h で宣言。