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
Accelerate your Ray Tracer
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
yumcyawiz
September 07, 2018
Programming
0
110
Accelerate your Ray Tracer
yumcyawiz
September 07, 2018
Tweet
Share
More Decks by yumcyawiz
See All by yumcyawiz
rtcamp 10 (vk-illuminati)
yumcyawiz
1
490
ReSTIRの数理と実装 (rtcamp10)
yumcyawiz
1
1.6k
fredholm(rtcamp9)
yumcyawiz
0
140
フォトンマッピングをパス空間から考える
yumcyawiz
0
510
fredholm
yumcyawiz
0
320
Introduction to volume rendering
yumcyawiz
0
2.6k
OSK#p-ray2020年度講義: 古典的レイトレーサーの実装
yumcyawiz
0
290
Ray Tracing: Overview
yumcyawiz
7
1.3k
GLSLでパストレーシングしてコーネルボックスを出す
yumcyawiz
0
580
Other Decks in Programming
See All in Programming
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
5.9k
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.2k
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
110
Grafana:建立系統全知視角的捷徑
blueswen
0
310
Fragmented Architectures
denyspoltorak
0
140
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2.4k
CSC307 Lecture 05
javiergs
PRO
0
490
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
220
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
360
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
160
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
1.9k
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
350
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
290
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
48
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
150
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
WCS-LA-2024
lcolladotor
0
430
How GitHub (no longer) Works
holman
316
140k
Practical Orchestrator
shlominoach
191
11k
The SEO identity crisis: Don't let AI make you average
varn
0
57
BBQ
matthewcrist
89
10k
Designing Experiences People Love
moore
144
24k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Transcript
ACCELERATE YOUR RAY TRACER 効率の良い衝突計算の方法
衝突計算の効率化 • 現在の実装は全ての物体と衝突するかを一つ一つ調べている(線形探索)
線形探索 このような場合でも物体一つ一つと衝突計算が行われる
衝突計算の効率化 • 現在の実装は全ての物体と衝突するかを一つ一つ調べている(線形探索) 圧倒的に無駄が多い
衝突計算の効率化 • 現在の実装は全ての物体と衝突するかを一つ一つ調べている(線形探索) 大量のポリゴンに対応することができない
効率化手法 • Bounding Volume Hierarchy(BVH) • Kd-Tree
BVH • 物体をBounding Volumeと呼ばれる枠で囲む • 衝突計算を行うときは、まず枠と衝突するか試す
BVH 枠と衝突しないので中の物体は見ない
BVH • 物体をBounding Volumeと呼ばれる枠で囲む • 衝突計算を行うときは、まず枠と衝突するか試す • さらにBounding VolumeをBounding Volumeで囲んで木構造にする
BVH まず全体の枠と衝突計算をする
BVH 中の枠と衝突計算をする
BVH 最終的に枠の中で線形探索して衝突物体を得る
BVHの木構造
枠の生成方法 • Axis Aligned Bounding Box(AABB)と呼ばれる長方形を枠として使うことが一 般的 • AABBとは各軸に平行な長方形のこと •
中の物体の合計の大きさに合わせるようにする
AABB
BVHによる衝突計算の流れ 1. 物体集合からBVHを生成 2. まず全体の枠と衝突計算 3. 当たったら中の要素を衝突計算 4. 当たったらさらに中の要素を衝突計算 …
5. 最終的な衝突物体を得る 再帰的な処理
BVHの生成方法 • 中央分割法(Median Split) • 等数分割法(Equal Size Split) • Surface
Area Heuristics(SAH) いずれも全体の枠の長さが最大となる軸を分割軸として選ぶ
Median Split 中央値の位置で分割する
左右で物体の数が等しくなるところで分割する Equal Size Split
SAHのコストが最も低くなるところで分割する SAH 50 10 40 30 45
SAHコストの計算方法 = + + : 木の走査のコスト : 親の枠の表面積 , :
子の枠の表面積 , : 子の枠に入っている物体数 :物体との衝突計算のコスト このコストが最小となる分割位置を選ぶ
比較 Equal Size Median SAH SAHが最も優れたBVHを生成できる