レイトレ合宿5‽レンダラー紹介 shocker_0x15

11
SLR @Shocker_0x15 渡部 心 レイトレ合宿5 2017/09/09-10 https://sites.google.com/site/raytracingcamp5/

Upload: shin-watanabe

Post on 18-Mar-2018

1.044 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: レイトレ合宿5‽レンダラー紹介 Shocker_0x15

SLR @Shocker_0x15

渡部心

レイトレ合宿5 2017/09/09-10https://sites.google.com/site/raytracingcamp5/

Page 2: レイトレ合宿5‽レンダラー紹介 Shocker_0x15

おそら、きれい😇

Page 3: レイトレ合宿5‽レンダラー紹介 Shocker_0x15

去年の八丈島の往路・復路の飛行機...

例の台風が近づいていたこともあり分厚い雲があり迫力があった

雲描きてぇ...

Page 4: レイトレ合宿5‽レンダラー紹介 Shocker_0x15

今回の技術的ポイント

雲・空のプロシージュラル生成

非一様関与媒質のボリュームレンダリング

物体表面・関与媒質を抽象化したレンダラー

Page 5: レイトレ合宿5‽レンダラー紹介 Shocker_0x15

Horizon Zero Dawn (SIGGRAPH 2015, 2017),

FROSTBITE (SIGGRAPH 2016)

のプロシージュラル雲生成を参考に実装

雲のプロシージュラル生成

なんか書いてある通りに実装しても全然思い通りにならんのですが...

試行錯誤&カメラアングル調整

理想は実行時にノイズ関数評価して解像度非依存な表現...

死ぬほど重かったので3Dテクスチャーにデータ格納

Page 6: レイトレ合宿5‽レンダラー紹介 Shocker_0x15

定番のHosek Analytic Sky Modelを実装スペクトラルな放射輝度が取得できるのはいいね

空のプロシージュラル生成

Sun Discも追加 (これが無いと影がほとんど出ない)

シーン中の関与媒質でも減衰することになるので大気の濁度は低めに設定

& 高度を加味してSky Domeの色を少し調整

Page 7: レイトレ合宿5‽レンダラー紹介 Shocker_0x15

空のプロシージュラル生成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倍くらいあった

Page 8: レイトレ合宿5‽レンダラー紹介 Shocker_0x15

パストレーシングのアルゴリズムは美しい

物体表面・関与媒質を抽象化したレンダラー

物体表面・関与媒質とのインタラクションで条件分岐さらにNEE等でサーフェス光源・ボリューム光源でも条件分岐

美しくない...

ボリュームレンダリング方程式をちょっと変形、物体表面は消散係数無限大の関与媒質とみなせる

この抽象化したレンダリング方程式を基にレンダラー実装

ボリューメトリック双方向パストレーシングもサーフェスだけのBPTのほぼコピペで楽に実装できた。

BPT: 325行 VBPT: 336行

Page 9: レイトレ合宿5‽レンダラー紹介 Shocker_0x15

やり残したこと・今後の挑戦

雲の品質がまだまだ

自由行程サンプリングの高速化

毎年屋外シーンレンダリングしてるから屋内シーン?

(BPTもあるのに今まで有効活用できてない)

屋外シーン向けのライトサブパスサンプリング強化

さすがにデノイザーそろそろ実装するか...

Blender統合 or 独自GUI

Page 10: レイトレ合宿5‽レンダラー紹介 Shocker_0x15

おまけ

Page 11: レイトレ合宿5‽レンダラー紹介 Shocker_0x15