4次元空間上で回転してから、それを3次元に投影することで、内外が入れ替わるような不思議なループアニメーションをテーマにしました。
自作のレンダラーで 5分の制限時間 でレンダリングして4位をいただきました!次の動画は合宿運営側で制限時間内にレンダリングしたものです。
normalize.fmの第032回にゲスト出演させていただきました。
#normalizeFM の新エピソード公開しました。
— h_doxas (@h_doxas) October 18, 2022
今回は @gam0022 さんをゲストに、普段の収録と比較するとかなりテックな話題に寄った感じで、深い技術の話をいろいろうかがいました。
032. たゆまぬ努力とキャッチアップhttps://t.co/acML0WOwYQ
自作のレンダラーでこんな動画を 10分の制限時間 でレンダリングして5位をいただきました!
レイマーチングとポリゴンをハイブリッドに描画できる単方向パストレーシングのレンダラーをOptiXで開発して16人中7位でした。
— がむ (@gam0022) September 4, 2022
レンダリング時間は10分(1フレーム2秒)だったので、
NEEやMISなどサンプリングの高速化も行いました。
動画は本戦で実際に出力されたファイルです。#レイトレ合宿 pic.twitter.com/LDgKL7gLsY
レイマーチングはレイキャスティングと比べて遅いと感じていましたが、なるべく同じ条件で計測した場合に実際どのくらい差があるのか比較してみました。
メンガーのスポンジをレイマーチングとレイキャスティングでそれぞれ交差判定を実装し、フラクタルの深度を1~4に変化しながら計測しました。
次の画像はレイマーチングによる深度4のメンガーのスポンジです。
先に結果から発表すると、なんとレイマーチングはレイキャスティングの15~20倍くらい遅いようでした。
ここまで遅いなんてショック😨…
256サンプリング時のレンダリング時間(秒)
フラクタルの深度 | 1 | 2 | 3 | 4 |
---|---|---|---|---|
レイマーチング | 8.85388秒 ![]() |
9.00077秒 ![]() |
9.14309秒 ![]() |
9.29724秒 ![]() |
レイキャスティング | 0.445493秒 ![]() |
0.466056秒 ![]() |
0.50258秒 ![]() |
0.602458秒 ![]() |
自作のレンダラーでこんな画像を 60秒の制限時間 でレンダリングして4位をいただきました!
ちなみに4K解像度(3840x2160)です!
事前に本番環境で動作確認できなかったこともあり、よく見ると意図しないアーティファクトが発生しているのですが、許容レベルに収まったのはラッキーでした。
NVIDIA® OptiX上で『レイマーチング×パストレーシング』による物理ベースレンダラーを開発しました。
レイとオブジェクトの交差判定をレイマーチングで行い、ライティングをパストレーシングをするという、レイマーチングとパストレーシングのハイブリッドなレンダリングを実現しました。
NVIDIA® OptiX上で
— がむ (@gam0022) July 28, 2019
『レイマーチング×パストレーシング』
を実装できた😉 #レイトレ合宿 pic.twitter.com/FKbuHiXqmP