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