Slide 1

Slide 1 text

redflash [4D] 2023-09-02 レイトレ合宿9本戦 @gam0022 / Sho HOSODA

Slide 2

Slide 2 text

アピールポイント💪
 • 超立方体
 ‣ 4Dの回転のアニメーションを3Dに投影
 ‣ “次元の差” で勝負
 
 • レイマーチングの高速化
 ‣ [Bán&Valasek 23] Automatic Step Size Relaxation in Sphere Tracing
 
 2

Slide 3

Slide 3 text

基本機能
 • Unidirectional Path Tracing
 ‣ implemented in NVIDIA® OptiX 6.5
 • Materials
 ‣ Disney BRDF, Lambert Diffuse
 • NEE(Next Event Estimation)
 • MIS(Multiple Importance Sampling)
 • Primitives
 ‣ Sphere
 ‣ Mesh
 ‣ Distance Function (Raymarching)
 • ACES Filmic Tone Mapping
 • Deep Learning Denoising
 3

Slide 4

Slide 4 text

レンダラーの出力設定
 • 解像度
 ‣ 1920x1080
 
 • 300フレーム💪
 ‣ 30FPS × 10秒(上限)
 ‣ 1フレーム1秒
 ‣ ループ再生に対応したアニメーション
 
 • マルチインスタンス
 ‣ フレーム分割(150フレームで2分割)
 4

Slide 5

Slide 5 text

超立方体
 • 超立方体(hypercube)
 ‣ 4次元の立方体
 5 4次元の立方体の理解 - 大人になってからの再学習

Slide 6

Slide 6 text

四次元の描画
 4次元の回転を3次元から観測すると面白いアニメーションになる
 • 内側と外側がグルグルと入れ替わる
 6

Slide 7

Slide 7 text

四次元の描画
 7 3次元座標を4次元に変換(逆ステレオ投影) 4次元空間上で回転 3次元空間上で描画 4次元座標を3次元に変換(ステレオ投影) Stereographic Projection: Cartography Applications - Mathematics Stack Exchange

Slide 8

Slide 8 text

ステレオ投影とは?
 • この動画が超分かりやすい
 ‣ 4次元の数 「四元数」の見た目
 
 8

Slide 9

Slide 9 text

2つのフラクタルから構成
 9 外側のMengerSponge 金属質で複雑 内側のMengerSponge サイバー感でシンプル clearcoatとsubsurface有効 完成形

Slide 10

Slide 10 text

完成形
 10

Slide 11

Slide 11 text

モデリングの試行錯誤
 Untiy HLSLで下書きしてからCUDA Cに移植 
 11

Slide 12

Slide 12 text

レイマーチング(Sphere Tracing)の高速化の研究
 • [Keinert et al. 14] Enhanced Sphere Tracing
 • [Bán&Valasek 18] Accelerating Sphere Tracing
 • [Bán&Valasek 23] Automatic Step Size Relaxation in Sphere Tracing
 12 今年の論文を実装! [Bán&Valasek 18] シーンを平面と仮定 Sphereが重ならないように次のステップを求める 普通のSphereTracing [Bán&Valasek 23]は [Bán&Valasek 18]の パラメーターを自動調整

Slide 13

Slide 13 text

[Keinert et al. 14] Enhanced Sphere Tracing
 • レイのステップを ω ∈ [1, 2) 倍(relaxation parameter)
 ‣ 通常より大きくレイを進める
 ‣ 進み過ぎたら、引き返す
 13

Slide 14

Slide 14 text

[Bán&Valasek 18] Accelerating Sphere Tracing
 14 ● シーンを平面と仮定してステップを予測 ○ Sphere同士が重ならない最大のステップ ○ ω ∈ [0, 1] の定数でステップの補正の強さを調整 ■ 平面のシーン: ω=1 ■ 曲面のシーン: ω<1 普通のSphereTracing

Slide 15

Slide 15 text

[Bán&Valasek 23] Automatic Step Size Relaxation in Sphere Tracing
 • [Bán&Valasek 18] Accelerating Sphere Tracing と同じ著者ら
 ‣ Róbert Bán and Gábor Valasek
 
 • [Bán&Valasek 18]と同様に平面を仮定して最大のステップを決める
 • ωを状況に応じて自動調整
 ‣ 引き返しがない状態が続けば、大きく調整 
 ‣ 引き返しが起きたら、ωを小さくリセット 
 
 • 前の2つの手法より良いか同等の結果 
 15

Slide 16

Slide 16 text

[Bán&Valasek 23] Automatic Step Size Relaxation in Sphere Tracing
 提出シーンで計測した結果、1.9倍も高速化🎉
 16 MengerSpongeはBox(平面)で構成されるので、とても相性が良かった

Slide 17

Slide 17 text

[Bán&Valasek 23] Automatic Step Size Relaxation in Sphere Tracing
 形状の歪みが少ないほど効果が高い(2sppの描画時間)
 17 50 frame 150 frame 250 frame ● 比率 ● 通常 ● [BV23]

Slide 18

Slide 18 text

[Bán&Valasek 23] Automatic Step Size Relaxation in Sphere Tracing
 去年のシーンは通常SphereTracingの半分まで性能が悪化…
 平面が含まれないフラクタルだと厳しいのかもしれない
 18

Slide 19

Slide 19 text

その他の工夫
 • 制限時間を守る工夫
 ‣ 各フレームの最初の2サンプリングからギリギリ間に合うサンプリング数を推定
 
 • PNGの保存の並列化
 ‣ サブスレッドで動作
 ‣ メインスレッドのレンダリングをブロックしない
 
 • 軽量版のレンダラー
 ‣ アニメーションの確認用
 
 • プライマリレイのDepthを2回目以降のサンプリングで使い回す
 ‣ 大きく高速化できるが、DoFできなくなる
 19

Slide 20

Slide 20 text

アピールポイント💪
 • 超立方体
 ‣ 4Dの回転のアニメーションを3Dに投影
 ‣ “次元の差” で勝負
 
 • レイマーチングの高速化
 ‣ [Bán&Valasek 23] Automatic Step Size Relaxation in Sphere Tracing
 
 20

Slide 21

Slide 21 text

END. 21