Microsoft DirectX 8.0 (Visual Basic)

Direct3DDevice8.SetRenderTarget

デバイスに新しいカラー バッファと深度バッファの一方または両方を設定する。

object.SetRenderTarget( _ 
    NewRenderTarget As Direct3DSurface8, _ 
    NewDepthStencil As Direct3DSurface8)

指定項目

object
Direct3DDevice8 オブジェクトを表すオブジェクト式。
NewRenderTarget
新しいカラー バッファ。Nothing の場合は、既存のカラー バッファがそのまま使われる。このパラメータが Nothing でない場合は、新しいレンダリング ターゲットの参照カウントがインクリメントされる。デバイスには、常に、カラー バッファが関連付けられていなければならない。

新しいレンダリング ターゲットのサーフェスには、少なくとも D3DUSAGE_RENDERTARGET が指定されていなければならない。

NewDepthStencil
新しい深度ステンシル バッファ。深度ステンシル バッファが存在する場合は解放される。このパラメータが Nothing でない場合は、新しい深度ステンシル バッファ サーフェスの参照カウントがインクリメントされる。Direct3DDevice8.GetDepthStencilSurface から返る Direct3DSurface8 オブジェクトを渡すことで、深度バッファを変更しないでレンダリング ターゲットを変更できる。

新しい深度ステンシル サーフェスには、少なくとも D3DUSAGE_DEPTHSTENCIL と D3DPOOL_DEFAULT が指定されていなければならない。

エラー コード

失敗した場合はエラーが発生し、NewRenderTarget または NewDepthStencil が Nothing ではない無効な値の場合、あるいは新しい深度バッファが新しいカラー バッファまたは引き続き使われるカラー バッファより小さい場合は、Err.NumberD3DERR_INVALIDCALL が設定される。

エラー トラッピングの詳細については、Microsoft® Visual Basic® の「エラー処理」を参照すること。

注意

このメソッドを使ってカラー バッファと深度ステンシル サーフェスを同じデバイスに関連付けると、両者はペアになる。

SetRenderTarget を呼び出して以前の深度ステンシル サーフェスとデバイスの関連を切断した後でも、前の深度ステンシル サーフェスのコンテンツは保持される。そのサーフェスをデバイスと再び関連付けると、新しい深度ステンシル サーフェスとペアにされているカラー バッファのサイズとフォーマットが、深度ステンシル サーフェスと最後にペアになっていたカラー バッファと同じならば、サーフェスのコンテンツは変更されない。

参照

Direct3DDevice8.CreateDepthStencilSurfaceDirect3DDevice8.GetDepthStencilSurface