テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル


log

2011.09.09 C++:マルチレンダーターゲットの不都合

グローとSSAOがやりたかったので、とりあえずHLSLとレンダーターゲット周りを
改良していたのですが。いままでウィンドウモードで作業していたところ、どうやら
フルスクリーンモード時に正常に描画されていなかったことが発覚!

色々試してみて、マルチレンダーターゲットをOFFにすることで元に戻ったのでした。
それで、ネットでいくつか調べてみるとどうやら画面のビット深度とレンダーターゲットの
ビット深度が同じでないと駄目みたいなようです。
ttp://maverickproj.web.fc2.com/pgMemo.html

それで、画面のビット深度を調べてみましたが…これが同じ32Bitなんですよね。
なので、試しにD3DFMT_A8R8G8B8からD3DFMT_X8R8G8B8に変更して
みると、とりあえずRGB部分は正常に描画できましたが、この場合ウィンドウモードに
してみるとZバッファが利いていないかのような不自然な描画になるという怪奇現象。。

うーん、漠然とした感じなのですが。今まではDirectXの仕様にそった不都合という
のは度々ありましたが、これはDirectXの仕様というよりGPUの不備による
トラブルのような気がしてきました。以前からフルスクリーンモードはMSAAが
利かないので敬遠してましたが、どうやら擬似フルスクリーンにした方がよさそうだ。

しかしながら、自分が思いついたSSAO。頑張れば出来そうな気がしますが、針の
穴を通すかのようなかなりピンポイントの調節をしないとそれっぽくならなさそうです。
思いつきやすい処理であっても実装しづらい、というのは中々にやっかいである。