GTX285にしてから FEARとかHitman Blood Moneyで STOP 0x000000EA THREAD_STUCK_IN_DEVICE_DRIVER (Q293078) が出てOSごと応答不能になるなあ。最新も込みでいくつかドライバのバージョンも変更してみたのだが駄目だ。
どちらのタイトルも発売年的に結構近い。NVIDIAとATIがShaderModel2.x系でユーザのことも考えずに仕様を拡張しまくって凌ぎを削ってた頃に開発されていたと思われるゲームなので、その影響をうけてるんじゃないのかなと予想してみるのだが、普通に重めのコード実行させていてもクラッシュしたり。単にドライバの出来が悪いだけか。
VSM作ってみたけど、Light Bleedingが思ったよりも出まくるのでLight Bleeding対策は必須だなこりゃ。NVIDIAのサンプルではLight Bleedingが出にくいモデルだったり配置だったりするのだが、ゲームで使用するとなるとそうは言ってられないのでまず頻出する問題だろう。
テクセル誤差のアーティファクトは大体消えるのだが、それでも分散の誤差のようなノイズがマシンによって出たり出なかったり。下手にbias入れると半影部分でもbias入れた影響が出て微妙に。
あとは平行光源でも使えないこともないけど、点光源での使用を想定されているので、距離の算出方法を変えないと分散量が点光源のそれになってそうで、位置関係によっては点光源のような半影になっちゃいそうな気が。実際に比較するときの距離もシャドウマッピングの時と同じ位置からの算出だから大丈夫だったり?
VSMに限ったことではないが、unified前後の世代のビデオカードではパフォーマンスに天と地の差があるなあ。プロファイリングしてみたわけではないが、ピクセルシェーダの酷使に弱いのは当然だが、浮動小数点バッファの扱いが絶望的に遅いのか?やっぱり切り捨てたい。

コメントする