DirectX再入門6

マルチターゲットレンダリング

テクスチャにリアルタイムにレンダリングすること。

  1. テクスチャにレンダリング(1パス)
  2. バックバッファにレンダリング(2パス)

パスが複数あることから、マルチパスレンダリングとも言う。
 
1つのパスごとに、ビュー行列なんかを設定しなおさなければならないのが面倒。

やり方
	// テクスチャ生成
	IDirect3DDevice9::CreateTexture(IDirect3DTexture9*);
	// 深度バッファサーフェス生成
	IDirect3DDevice9::CreateDepthStencilSurface(IDirect3DSurface9**);
	// テクスチャサーフェスのポインタ取得
	IDirect3DTexture9::GetSurfaceLevel(IDirect3DSurface9**);
	
	// バックバッファのサーフェスを保持しておく
	// レンダリングターゲット保持
	IDirect3DDevice9::GetRenderTarget(IDirect3DSurface9**);
	// 深度バッファサーフェス保持
	IDirect3DDevice9::GetDepthStencilSurface(IDirect3DSurface9**);
	
	// テクスチャへの書き込み
	// レンダリングターゲットに設定
	IDirect3DDevice9::SetRenderTarget(IDirect3DSurface9**);
	// 深度バッファサーフェスに設定
	IDirect3DDevice9::SetDepthStencilSurface(IDirect3DSurface9**);
	// 書き込み
	IDirect3DDevice9::SetTexture(IDirect3DBaseTexture9*);