椿の日記

たぶんプログラムの話をします

Frequency Domain Normal Map Filtering実装

f:id:tbk:20130112193013p:plain

少し忙しくて放置してたのですがFrequency Domain Normal Map Filteringを実装しました。

画像はそれぞれ次をあらわしていて、左上をリファレンス画像だと思って見ます。

通常のバンプマップの32倍スーパーサンプリング 通常のバンプマップ
NDFをmovMFで近似 NDFをSHで近似

バンプマップはこんな感じの単純なものを利用しています。
f:id:tbk:20130112193931p:plain

モデルはStanford Bunnyに球面UV展開を適用して出力したやつです。球面UV展開なのでウサギの背のところで山と谷が密集していますが、ここでスーパーサンプリングしていない通常のバンプマップは法線が潰れて真っ白になってしまっているのが一目瞭然ですね。

別の角度から。ウサギの尻。
f:id:tbk:20130112192952p:plain
f:id:tbk:20130112193002p:plain
f:id:tbk:20130112193009p:plain

拡大していると他との違いが全然分からないのですが、縮小すると違いが明確に出ます。