Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
【レイトレ合宿11】kagayaki_v4
Search
Yoshi's Dream
November 16, 2025
Programming
600
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【レイトレ合宿11】kagayaki_v4
レイトレ合宿11にて提出したレンダラ kagayaki_v4のプレゼンスライドです.
Yoshi's Dream
November 16, 2025
More Decks by Yoshi's Dream
See All by Yoshi's Dream
【レイトレ合宿10】kagayaki_v3
runningoutrate
0
1.1k
【KMC春合宿2024】実装視点で見るNeural Radiance Fields
runningoutrate
0
460
レイトレ合宿9セミナー資料 SVGFについて
runningoutrate
0
1.3k
Other Decks in Programming
See All in Programming
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5k
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
Event is what happens
moro
2
560
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
400
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
370
Agents on Rails - Rails at Scale 2026
irinanazarova
0
540
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
130
Simple Storage Service(S3) is not simple
iwatsukayura
0
280
Next.js: The final boss of Web Performance
guaca
0
120
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Test your architecture with Archunit
thirion
2
2.4k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
520
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
990
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Typedesign – Prime Four
hannesfritz
42
3.2k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
Transcript
RTCamp11 Renderer Name: kagayaki_v4 Yoshi’s Dream (Twitter: @TTRS_Yoshi_CG) Resolution: 1024x1024
102 images in 178s 1
kagayaki kagayaki(輝き) CUDA C++で記述.基本フルスクラッチ, RTコア不使用 kagayaki_v0(cudamypt) 2年前の提出物.バグの巣窟 kayagaki_v1 RGB /
Spectral Path Tracer / NeRF train and renderer kagayaki_v2は空き番地 kagayaki_v3 昨年の提出物 RGB Ray Tracer / 3D空間音響シミュレーター(低周波領域) 2
kagayaki_v4 RGB Ray Tracer シーン表現 Scene -> Shape -> Primitive
の2-Level階層構造 行列変換により座標系を変換できるようになった(kagayaki_v3では並進のみ) BLAS, TLAS共にH-PLOCのBVH2を実装 実装を工夫してTLAS, BLASの構築をkagayaki_v3より数十倍高速化 kagayaki_v3ではBLAS構築ごとにメモリを確保していたがそれを一回にまとめた MortonCodeの上位32bitにShapeIDを入れてソートすると,ソート後にはMortonCode配列において Shapeに含まれるプリミティブが区間になる(32bitは勿体ない気もする) H-PLOCのBLAS構築はまだ並列化できていない(stream分割で高速化)(LBVHなら簡単?(未検証)) TLASはアニメーション毎フレーム再構築 Scene … Shape Shape Shape …….. … 3
kagayaki_v4 レイトレ処理 1次レイを飛ばしてGbufferを計算 可視点からWavefront Path Tracing レイをキューで管理 キューの占有率をもとに貪欲法で次のカーネルを動的選択 SamplePixel AccumSurface
RussianRoulette AccumEnv Store to image NEE SampleNextRay ClosestHit hit miss hit miss RR fail RR pass : カーネル単位 4
kagayaki_v4 SamplePixel 次に処理するピクセルを決定する Gbufferを用いてPathをActivateする StaticSampler pixelID = atomicAdd(&cnt, 1u) %
nPixels ある程度サンプルが貯まるまで用いられる AdaptiveSampler(今回不使用) Bufferの統計量をもとに処理するピクセルを動的選択 abs((すべてのサンプルの推定量) – (半分のサンプルの推定量))に比例して選択 サンプル点数がある程度増えないと逆効果 選択方法は要改善(暗い所の分散を過小評価する) 出力画像 サンプル数分布(白: 多い) 5
kagayaki_v4 マテリアル表現 Lambert Diffuse 完全鏡面 Disney BRDF 昨年(kagayaki_v3)は交差判定に拘るあまり表現力を失っていた 複雑なマテリアルの評価処理は想像より重い ラフネスのグラデーション好き
比較的軽量なシーン 6
kagayaki_v4 サンプリング処理 各交差点でのNEE 面光源 + BSDFサンプリングのMIS ReSTIR DI (今回不使用) 面光源サンプリングによる初期サンプル生成
Spatial Reuseはunbiased Temporal Reuseはbiased (アニメーション時) ReSTIR GI (今回不使用) プライマリヒットからいつも通りレイトレをする Spatial Reuseのバイアスが取れない…… Unbiasedness >>>>> 速度 通常 1spp ReSTIR DI 1spp (M=32, Knb = 5) リファレンス リファレンス ReSTIR GI…? 7
kagayaki_v4 ReSTIR DI 実装構造 ReadGBuffer Sample M Initial Candidates Temporal
Reuse Spatial Reuse Shade : カーネル単位 8
kagayaki_v4 ReSTIR GI 実装構造 ReadGBuffer Sample 1 initial candidate ClosestHit
SampleNextRay LightSample UpdateReservoir ClosestHit AccumSurface RussianRoulette AccumEnv NEE SampleNextRay Temporal Reuse Spatial Reuse Shade hit miss hit miss RR Pass RR Fail no primary hit hit/miss cnt < Threshold cnt ≥ Threshold cnt += queueSize cnt = 0 : カーネル単位 : 直列実行単位 9
kagayaki_v4 その他 ファイル入出力: glTF デノイザー: なし 使用ライブラリ (これ以外はフルスクラッチ実装) Dear ImGUI:
GUI処理 tinyglTF: glTFロード stb_image: 画像IO C++ / CUDA標準ライブラリ(cub, thrust, curand) 10
シーン, アニメーション 締切3時間前から作成開始 ReSTIR GIのバイアスを解消しようと奮闘していましたがここで諦め…… 元々作りたかったアニメーションを作る時間はないのでアイデアを一部取り入れてBlenderで作成 動きを感じられるアニメーションを作りたいという気持ち → サンプル数減らしてでも長めのアニメーションを 2,
3個目のオブジェクトはレイトレ合宿9,10でレンダリングしたシーンがベースです(temporal reuse) 三角面: 87240枚 Blenderでの表示 11
シーン, アニメーション 使用アセット(これ以外はすべて自作です) Cornell Box: McGuire Computer Graphics Archiveより 石や岩や木などのテクスチャ:
Poly Havenより Blenderでの表示 12
Thanks! まだまだ高速化できます! 頑張ります 幻の最終フレーム......