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
540
【レイトレ合宿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
360
レイトレ合宿9セミナー資料 SVGFについて
runningoutrate
0
970
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
GraphQLとの向き合い方2022年版
quramy
46
14k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Agile that works and the tools we love
rasmusluckow
329
21k
BBQ
matthewcrist
88
9.6k
Unsuck your backbone
ammeep
671
58k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Fireside Chat
paigeccino
37
3.4k
4 Signs Your Business is Dying
shpigford
183
22k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
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