Slide 1

Slide 1 text

レイトレ合宿8 https://sites.google.com/view/raytracingcamp8/ @Shocker_0x15

Slide 2

Slide 2 text

今回の実装概要 - Multi-scattering Volume Rendering リベンジ? 前やったときのが少し気に食わなかったのでもう一回やってみた - Path Tracing + Neural Radiance Caching Volume Renderingへの適用 - Hosek-Wilkie Analytic SkyのGPU移植 毎フレームImportance Map生成 - CUDA/OptiXによるGPUレンダラー 実験的要素が多かったのでとりあえず、今回の合宿専用 自前のOptiX 7 Wrapper 前回よりEC2インスタンス弱いけどRTコア載ってるからギリギリなんとかなった

Slide 3

Slide 3 text

Path Tracing + Neural Radiance Caching 60fps, 8秒: 1フレームあたりのレンダリング予算は非常に少ない - 雲がしっかり映ってるフレームは2秒程度 - 参考:レイトレ合宿5の雲は1枚絵で273秒 GPUがいくら速かろうと雲のまじめなレンダリングはめちゃくちゃ重い 多分白い雲の散乱アルベドは0.999を超える世界 → まじめにやってはいけない! が、あくまでオフラインレンダリング、完全に適当なのは嫌だなぁ… ボリュームレンダリングへのNRCの適用 - NRCはアルベドが高いシーンほど強い → 雲は最適なのでは? - ベースのアルゴリズムはPath Tracing + MIS, Delta/Ratio Tracking - NRCはInstant-NGP (Multi-Res Hash Grid Input Encoding)ベース - 2回目以降の散乱イベントでヒューリスティックに基づいて経路終了、NRCクエリー - オフラインレンダリングなので訓練データ生成とレンダリングは別パスに。 - 今回はやっていないが雲の変形にも対応できるはず

Slide 4

Slide 4 text

雲アセットの作成 Houdiniが良いらしいので使ってみた。確かに簡単。

Slide 5

Slide 5 text

Path Tracing 1spp: 1290 [ms] Path Tracing + NRC 1spp: 150 [ms] Training: 60 [ms] / Rendering: 90 [ms] ※オリジナルのNRCと異なり別パス

Slide 6

Slide 6 text

Path Tracing Path Tracing + NRC 多少のバイアスは乗るが良い感じ

Slide 7

Slide 7 text

所感、今後 - Super Voxelなどの既存の自由行程サンプリング高速化アプローチとの組み合わせ - ボリュームレンダリング用のデノイザー - NNなどの機械学習アプローチとはうまくやっていきたい “Deep Learning for Light Transport Simulation”, SIGGRAPH 2018より