レイトレ合宿5‽レンダラー紹介 shocker_0x15
Post on 18-Mar-2018
1.044 Views
Preview:
TRANSCRIPT
SLR @Shocker_0x15
渡部心
レイトレ合宿5 2017/09/09-10https://sites.google.com/site/raytracingcamp5/
おそら、きれい😇
去年の八丈島の往路・復路の飛行機...
例の台風が近づいていたこともあり分厚い雲があり迫力があった
雲描きてぇ...
今回の技術的ポイント
雲・空のプロシージュラル生成
非一様関与媒質のボリュームレンダリング
物体表面・関与媒質を抽象化したレンダラー
Horizon Zero Dawn (SIGGRAPH 2015, 2017),
FROSTBITE (SIGGRAPH 2016)
のプロシージュラル雲生成を参考に実装
雲のプロシージュラル生成
なんか書いてある通りに実装しても全然思い通りにならんのですが...
試行錯誤&カメラアングル調整
理想は実行時にノイズ関数評価して解像度非依存な表現...
死ぬほど重かったので3Dテクスチャーにデータ格納
定番のHosek Analytic Sky Modelを実装スペクトラルな放射輝度が取得できるのはいいね
空のプロシージュラル生成
Sun Discも追加 (これが無いと影がほとんど出ない)
シーン中の関与媒質でも減衰することになるので大気の濁度は低めに設定
& 高度を加味してSky Domeの色を少し調整
空のプロシージュラル生成Next Event Estimation用のCDF作成:
Sky Dome: 離散化した2D CDFテーブルSun Disc:解析的なCDF
それぞれの総エネルギー量に応じて確率的に選択(Sun Discの方向とシェーディング点の法線でもう少しうまくできるか)
Sun DiscとSky Domeの立体角の比は0.00001 : 1
それでもSun Discのエネルギー量はSky Domeの2倍くらいあった
パストレーシングのアルゴリズムは美しい
物体表面・関与媒質を抽象化したレンダラー
物体表面・関与媒質とのインタラクションで条件分岐さらにNEE等でサーフェス光源・ボリューム光源でも条件分岐
美しくない...
ボリュームレンダリング方程式をちょっと変形、物体表面は消散係数無限大の関与媒質とみなせる
この抽象化したレンダリング方程式を基にレンダラー実装
ボリューメトリック双方向パストレーシングもサーフェスだけのBPTのほぼコピペで楽に実装できた。
BPT: 325行 VBPT: 336行
やり残したこと・今後の挑戦
雲の品質がまだまだ
自由行程サンプリングの高速化
毎年屋外シーンレンダリングしてるから屋内シーン?
(BPTもあるのに今まで有効活用できてない)
屋外シーン向けのライトサブパスサンプリング強化
さすがにデノイザーそろそろ実装するか...
Blender統合 or 独自GUI
おまけ
top related