Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【レイトレ合宿10】kagayaki_v3
Search
Yoshi's Dream
October 13, 2024
0
450
【レイトレ合宿10】kagayaki_v3
レイトレ合宿10で提出したレンダラの発表スライドです
Yoshi's Dream
October 13, 2024
Tweet
Share
More Decks by Yoshi's Dream
See All by Yoshi's Dream
【KMC春合宿2024】実装視点で見るNeural Radiance Fields
runningoutrate
0
340
レイトレ合宿9セミナー資料 SVGFについて
runningoutrate
0
880
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Thoughts on Productivity
jonyablonski
69
4.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Fireside Chat
paigeccino
34
3.2k
Music & Morning Musume
bryan
46
6.3k
Producing Creativity
orderedlist
PRO
344
39k
How to Ace a Technical Interview
jacobian
276
23k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Transcript
RTCamp10 1 Renderer Name: kagayaki_v3 Image Resolution Sample Per Pixel
Frame Per Second Num of Frames 768 x 768 20 24 142 Yoshi’s Dream (Twitter: @TTRS_Yoshi_CG)
kagayaki kagayaki(輝き) 名前の由来はとあるコンテンツ 『『輝き』とは、形のないものをさします。例えば、......(中略)……などなど、『キラキラとした輝き』を 持つ何か、です』 GPUレンダラ CUDA C / C++で実装
OptiXなどのレイトレAPIや外部ライブラリは基本使用せず,すべてソフト側で実装する方向性 2
kagayaki_v3に至るまで kagayaki_mypt (v0) 昨年度の提出物 バグだらけ kagayaki_v1 RGB Ray Tracing Spectral
Ray Tracing NeRF training and rendering NeRFを実装したあたりで悲惨なスパゲティ 3
kagayaki_v3に至るまで kagayaki_v2 作ったはいいものの,リファクタリングを序盤で放棄 GUIデバッガと化した kagayaki_v3 レイトレ合宿用に作るかと書き始めた 今回提出したもの コード行数はおよそ5000行だった(使いまわし含む) 4
kagayaki_v3 RGB Ray Tracer シーン表現 2-Level でシーンを表現(SceneData_D – Shape_D –
primitive_t) 現在は三角面のみ対応 BVHとして,TLAS, BLASともにH-PLOC [C. Benthin, et al. HPG2024]を実装(BVH2) LBVHとPLOC++が組み合わさった手法 BVHの最適化(メモリ削減,DFS順へのReorder)(今回不使用) シーン更新 各フレームで差分の存在するShapeのBLASと,TLASのみを再構築 光源面の個数と大きさは変動しないという制約がある 5
kagayaki_v3 レイトレLaunch処理 1次レイのみ最初に処理してshared memoryに保持 1ピクセルをWarp内のスレッドで集中的に処理 divergenceを気持ち軽減する 単純な1ピクセル1スレッドよりも70%高速化 しかし,レイの保証深度を深くするとむしろ遅い
kagayaki_v3 経路サンプリング処理 面光源へのNEE, パストレとのMIS フィルタリング処理 シーンの情報を利用してフィルタリング レンダリング画像をアルベドで除す 法線情報,深度情報などで重みづけしたカーネルを畳み込み アルベドを乗じて書き戻し 空間方向のみ考慮し,時間方向は気にしない
shared memoryに載せて高速化 レイトレの時間に比較すると微小な処理時間 7 処理前 処理後
kagayaki_v3 空間音響処理 これはレイトレではない Compact Explicit Finite Difference Time Domain (CE-FDTD)
法 [K. Kowalczyk, and M. Van Walstjun, 2011] レイトレ時に作成したBVHを用いてシーンのボクセルを作成 ボクセル上で波動方程式を解き,音圧の伝搬をシミュレーション shared memoryに載せることでメモリ節約と高速化 詳しくは明日のセミナーで話します 8
シーン Blenderで作成 反響,残響があるシーンを目指した 三角面: 15,172 tris リファレンス資料 Vaundy 『しわあわせ』 MV
jioyi 『cyanine』 ジャケット etc 9
音源 Kontaktの鐘とベースの音色をもとに,EQとコンプレッサーで音に重厚感の印象を付与 シミュレーションで計算できない周波数成分は発散を招くのでEQでハイカット 振り子の付け根に音源を設定している 10
使用したライブラリ等 プログラム(オフラインレンダリング) stb_image: 画像IOのライブラリ TinyObjLoader: OBJファイルの入力 Thrust: CUDA版のC++ stdライブラリみたいなもの curand:
乱数生成 アセット テクスチャ: McGuire Computer Graphics Archiveにあるテストシーンで用いられているテクスチャ モデル: Stanford Bunny 上記にないものはすべてフルスクラッチで実装,作成しました. 11
Thanks! 12