Upgrade to Pro — share decks privately, control downloads, hide ads and more …

レイトレ合宿8 レンダラー紹介 / Renderer Introduction, Ray Tracing Camp 8

shocker_0x15
September 04, 2022

レイトレ合宿8 レンダラー紹介 / Renderer Introduction, Ray Tracing Camp 8

レイトレ合宿8 ( https://sites.google.com/view/raytracingcamp8/ )で提出した作品のレンダリングに用いたレンダラーの紹介です。

Path Tracing + Neural Radiance Cachingを実装して多重散乱の雲のレンダリングを高速化しました。

shocker_0x15

September 04, 2022
Tweet

More Decks by shocker_0x15

Other Decks in Programming

Transcript

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

  2. 今回の実装概要 - 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コア載ってるからギリギリなんとかなった
  3. 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クエリー - オフラインレンダリングなので訓練データ生成とレンダリングは別パスに。 - 今回はやっていないが雲の変形にも対応できるはず
  4. 雲アセットの作成 Houdiniが良いらしいので使ってみた。確かに簡単。

  5. Path Tracing 1spp: 1290 [ms] Path Tracing + NRC 1spp:

    150 [ms] Training: 60 [ms] / Rendering: 90 [ms] ※オリジナルのNRCと異なり別パス
  6. Path Tracing Path Tracing + NRC 多少のバイアスは乗るが良い感じ

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

    for Light Transport Simulation”, SIGGRAPH 2018より