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
Ray Tracing: Overview
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
yumcyawiz
January 10, 2021
Programming
1.4k
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ray Tracing: Overview
lecture slides
yumcyawiz
January 10, 2021
More Decks by yumcyawiz
See All by yumcyawiz
rtcamp 10 (vk-illuminati)
yumcyawiz
1
560
ReSTIRの数理と実装 (rtcamp10)
yumcyawiz
1
2k
fredholm(rtcamp9)
yumcyawiz
0
180
フォトンマッピングをパス空間から考える
yumcyawiz
0
560
fredholm
yumcyawiz
0
360
Introduction to volume rendering
yumcyawiz
0
2.8k
OSK#p-ray2020年度講義: 古典的レイトレーサーの実装
yumcyawiz
0
310
GLSLでパストレーシングしてコーネルボックスを出す
yumcyawiz
0
630
Pybind11でC++とPythonのいいとこ取りをする
yumcyawiz
0
1.1k
Other Decks in Programming
See All in Programming
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
780
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
110
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
360
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
130
App Intentsのビルドプロセスを支える技術
kntkymt
0
270
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
140
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
240
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
300
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
240
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
140
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
530
What We Talk About When We Talk About XP
m_seki
2
500
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
800
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Git: the NoSQL Database
bkeepers
PRO
432
67k
A better future with KSS
kneath
240
18k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
320
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Believing is Seeing
oripsolob
1
220
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
We Are The Robots
honzajavorek
0
360
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
510
Transcript
Ray Tracing: overview 2021/01/10 OSK#p-ray Lecture01
What is Ray Tracing? レイトレーシングの概要
Ray Tracing • レイ(光線)を再帰的に追跡する計算手法のこと • 写実的なCGをレンダリングできる
Ray Tracingの例 写実的なCGをレンダリングできる
Ray Tracingの活用場面 • 映画 https://renderman.pixar.com/robot-room オフラインレンダリングではメジャーな手法
Ray Tracingの活用場面 • ゲーム https://www.nvidia.com/ja-jp/geforce/news/minecraft-with-rtx-beta-out-now-download-play/ 近年はリアルタイム向けにも活用され始めている
Ray Tracingの活用場面 • 光学設計 レンズ設計, 照明解析など
Ray Tracingの特徴 • 計算量が非常に多い • アルゴリズム自体はシンプル • 写実的なCGを出すには理論的な理解が必須 • こだわれるポイントが無限にある
→ 沼
Physically Based Rendering(PBR) 物理的に正しくレンダリングする
What is PBR? • 物理的に正しくレンダリングすること • 光の伝達を数式で記述, それの数値計算を行う PBRによって写実的なCGが生成できる
放射輝度 • ある点にある方向から来る光の強さを表す量 • CGではRGBで表されることが多い PBRで最も重要な物理量
レンダリング方程式 • ある1点から別の1点に移る光の流れを記述する積分方程式 PBRで最も重要な式 PBRとはレンダリング方程式の数値計算
レンダリング方程式 から に出る放射輝度 発光部分 与えられた方向にどれだけ反射するか (BRDF) 入射放射輝度 コサイン項 反射部分 から
に出る放射輝度 入射放射輝度 コサイン項 BRDF 半球全体 半球全体
レンダリング方程式の解 • ノイマン級数展開によって解を表すことができる • 次元積分の無限級数となる これを数値計算すれば写実的なCGが得られる 1回反射 2回反射 k回反射
Monte Carlo Ray Tracing レンダリング方程式の数値計算手法
レンダリング方程式の数値計算 • 高次元積分を含むため, 通常の数値積分は困難(次元の呪い) • モンテカルロ積分を利用する → Monte Carlo Ray
Tracing
モンテカルロ積分 • 被積分関数の評価点をランダムに生成し, 評価値/確率密度の平均を取る • 大数の法則により, サンプル数を増やせば求めたい積分値に収束 • 収束が遅い (
1 ) モンテカルロ積分
レンダリング方程式の数値計算 • パス ҧ = 0 1 ⋯ をランダムに生成してモンテカルロ積分 ≈
パスをいかにして生成するか?
Path Tracing • 視点からランダムに方向をサンプリングしていくことでパスを生成 • 光源に衝突しなかった場合は寄与が0
Next Event Estimation(NEE) • 光源上の点をサンプリングし, パスをその点とつなげる • パスが寄与を持ちやすくなる
Bidirectional Path Tracing(BDPT) • 視点と光源の両方からサブパスを生成し, それらを繋げてパスを作る • NEEの一般化
Metropolis Light Transport(MLT) • 寄与の大きいパスをMarkov Chain Monte Carlo(MCMC)を用いて重点的にサ ンプリング
Other Methods • Primary Sample Space Metropolis Light Transport(PSSMLT) •
Gradient Domain Path Tracing(GDPT) • Matrix Bidirectional Path Tracing(M-BDPT) • Stochastic Progressive Photon Mapping(SPPM) • Vertex Connection and Merging(VCM) • and more…
Related Technologies モンテカルロレイトレーシング周りの技術
Quasi Monte Carlo(QMC) • 準乱数を用いてモンテカルロ積分する方法 • 収束が通常のモンテカルロ積分より早い ( log )
Sobol列 QMC
BSDF • アーティストが操作しやすい様々なBSDF(BRDF + BTDF)が提案されている Physically-Based Shading at Disney, Brent
Burley, Walt Disney Animation Studios, 2012
Volume Rendering • 媒質内での光の吸収, 散乱, 発光も考慮したレンダリング https://github.com/sakanaman/kumo_viewer
Spectral Rendering • 物理的な波長を考慮してレンダリングする方法 • 光の分散を表現できる @sakanaoki181
Realistic Camera Model • 視点からのレイの生成にレンズを組み込む • 現実の写真レンズによる写り方を再現する
Bounding Volume Hierarchy(BVH) • レイとシーンの交差計算を効率化する空間分割法 • ポリゴンを含むようなシーンでは必須
The Latest Topics 最近の話題 https://www.minecraft.net/ja-jp/article/render-dragon-and-nvidia-ray-tracing
GPU Ray Tracing • Optix, Direct X Ray Tracing(DXR), Vulkan
Ray Tracing(VKR) • GPUの並列計算の強みを利用 • CPUより圧倒的に計算が早い https://devblogs.microsoft.com/directx/announcing-microsoft-directx-raytracing/
Realtime Ray Tracing • レイトレ専用回路を持つRTXの登場 • デノイザーと組み合わせることで部分的には実現している(e.g. Minecraft RTX) https://www.nvidia.com/ja-jp/geforce/news/minecraft-with-rtx-beta-out-now-download-play/
Path Guiding • 各点の入射放射輝度まで考慮した重点的サンプリング手法 • 機械学習の活用 https://github.com/Tom94/practical-path-guiding
Differentiable Rendering • シーンが微小に変化した時の放射輝度の変化を計算 • 機械学習と組み合わせることで, 画像からシーンの逆構築ができる (Inverse Rendering) https://mitsuba2.readthedocs.io/en/latest/src/inverse_rendering/diff_render.html
Thank you for listening.