技術

フォトンベイカー(仮)進捗その11

前回フォトンマッピング法の実装に成功したが、直接照明も間接照明もすべてフォトンの情報を直接可視化することで表現してたので、ノイズが目立っていた。
何の工夫もしてないモンテカルロ法の宿命として、ノイズを半分に減らすにはサンプル数を4倍にしなければならないというものがあるが、1億フォトンを飛ばして30分かけて計算してもノイズが残るなど、まさにその宿命が顕になった。

ということで直接照明を別の方法で計算し、さらに間接照明データも直接可視化せずボカしたうえで、さらにファイナルギャザリングを行うように実装した。
その結果が以下のとおり。
DI50_GI10m_GF10_FG64_326sec
直接照明の計算に1テクセルあたり50本のシャドウレイ、間接照明のためのフォトン数1千万、間接照明のぼかしに19×19のガウシアンフィルタ、1テクセルあたりファイナルギャザリングレイ64本、という設定で実行した。
設定は詰めてないので品質過剰になってるかもしれない。
テクスチャ空間を基準として全ての処理を行っているので処理単位がテクセルになっている。
ガウシアンフィルタやファイナルギャザリングについては概要だけ調べて独自に実装した。

前回最後に載せた1億フォトンの絵より明らかにノイズが少ない。
さらに今回の処理時間は5分半程度だったので、前回の1億フォトンの例と比べると、品質をあげながら5倍以上の速度を達成したことになる。

まだ単純な拡散面にしか対応してないのでこの程度の差で済んでるが、シーンが複雑だったりマテリアルの種類が多かったりでフォトントレースの処理が重かったとすると、さらにその速度差は広まると思われる。

品質的にも処理速度的にも、とりあえずの目標の一つを達成したことになる。
まだまだ動作確認的なコードしか書いてないので、これを実用的なアプリで活かすようにするにはまだまだ長い時間が必要ではあるが、これで一安心だ。
全裸で外を走りたいくらい嬉しい。

しかしまだこれでも本家Cornell Boxの写真とはかなり色の飛び方が違う。
ただこれは実装の問題ではなくてマテリアル設定の問題だと思う。
Cornell Boxの写真の再現は確認のためであって、目的ではないのでそこそこにしとこうと思う。

関係ないけどこのブログの関連記事プラグインを止めた。
黒歴史がじゃんじゃん掘り出されてしまうのでw

過去の記事を隠そうとか無かったことにしようとか思ってるわけではない。
あくまても関連記事プラグインを止めただけで記事はそのまま残している。

私もここ1,2年で色々つらい事があって、まぁこれからも生きてるうちは色々あるだろうけど、昔に比べてずいぶん丸くなったと思う。
変わらない部分の方が多いとは思うけど、人を妬んだり、そのために人を攻撃したりなんて事がずいぶん減った。

だからどうという話ではないんだけど万一見ちゃったら「そういう時期もあったんだな」ぐらいの感覚でさらっと流していただけるとありがたい。

コメントを残す

メールアドレスが公開されることはありません。



※画像をクリックして別の画像を表示

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください