スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告|
  3. トラックバック(-)|
  4. コメント(-)

FXAA出来たのでSMAAと実装してMSAAは完全廃止

FXAAがやっとちゃんと動いた!

実はSMAA対応直後に、FXAAの方が処理は軽いらしいので、
一応対応しとくかーと思って大体手は付けてあったんですけど、
なんか色が暗くなってしまう現象が解決できなくてずっと放置してたのでした。

当初はsRGBとlinearRGBだかの色空間の問題かなーと思ってたんですが、
結論としては、FXAAは最初の描画パスで輝度を計算してαに入れるんですけど
αに入ってるもんだからレンダーターゲットの色(黒)と混ざって暗くなってるだけでしたという
実にふざけた問題でしたよ時間返せ!

そんなわけで描画前にALPHABLEND切ったらうまくいきました。
FXAAはサンプルがいっぱいあるんですけど不思議とC++側の実装コードが出てこないため
えらく苦労してしまいました…。

というわけで比較画像。
全身図

ジャギはFXAA、SMAA共に結構キレイに取れますね。
ただ、おおよその評判通り、FXAAの方がかなりボケます。
アスタの今のモデルシェーダだとテクスチャフィルタがバイリニアなんで
元々ボケてて分かりにくい感じですけど。
アニソトロピックならもうちょっと分かりやすくなるかも。
とにかく品質ではSMAAの方が上ということで間違いないかと。

処理負荷はGeForce GTX560TiのPCで、解像度1280*720に対して、
FXAAが約0.12msec、SMAAが約0.25msecで倍の開きとなりました。
60fps換算で、FXAAが0.007%、SMAAが0.015%の負荷ということになるんでしょうか。
PCのグラボは速すぎて負荷らしい負荷にならんすね!
というか検索して出てきた情報だと、FXAAはXbox360で0.9msecらしいので、
そもそも手法が相当優れてると見るべきでしょうね。開発者に感謝。

はてさて。そんなこんなでアンチのお話は完結いたします。
この状態できっと少なくとも5年は戦える!はず!
  1. 2012/03/29(木) 23:57:10|
  2. 自作自演|
  3. トラックバック:0|
  4. コメント:0

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://raevatain.blog9.fc2.com/tb.php/1160-5d6d7486
Map
TweetsWind
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。