Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
raytracingcamp6-seminar-zin
Zin
September 04, 2018
Technology
0
1.1k
raytracingcamp6-seminar-zin
Zin
September 04, 2018
Tweet
Share
More Decks by Zin
See All by Zin
byzin
0
100
Other Decks in Technology
See All in Technology
pakio
0
140
robcrowley
1
460
masakazu
0
200
watanabeyu
0
140
htomine
0
180
oracle4engineer
0
3.8k
ayatokura
0
100
dena_tech
1
780
lemiorhan
0
130
joytomo
0
110
hmatsu47
0
110
mizzy
3
150
Featured
See All Featured
chrislema
173
14k
keavy
107
14k
sstephenson
145
12k
rasmusluckow
318
18k
tanoku
86
8.6k
akmur
252
19k
chriscoyier
683
180k
andyhume
63
3.7k
skipperchong
8
720
lauravandoore
10
1.6k
cassininazir
347
20k
davidbonilla
70
3.6k
Transcript
レイトレ合宿6 Zin 実装してきたこと、 これからやってみたいこと
これまで実践してきたこと
Blenderからシーンをエクスポート Blenderでシーンを作成 Pythonスクリプトで変換 マテリアル設定などを編集 レンダリング Blendファイル JSONファイル JSONファイル
他のレンダラー ❖Cycles ❖PBRT ❖RenderMan ❖RadeonProRender
色んなコンパイラで試してみる (C++) ❖ Windows • MSVC • Clang ❖ Linux
(Ubuntu) • GCC • Clang ❖ macOS • GCC • Clang 私のレンダラーでのパフォーマンスは・・・ Clang (Win) [1.5x] = Clang (Ubuntu) > MSVC [1.0x] = GCC
これから実践していきたいこと
テストを充実させたい ❖ コードが大きくなってくると自分のレンダラーを 信じられなくなってくる ❖ 一から書き直したくなる ❖ テストを書いておきましょう
テストを充実させたい ❖ 解析的なテスト • PDFの積分やエネルギー保存則、衝突判定など ❖ 機能毎のテスト • 簡単なシーンをレンダリングしてリファレンスと比較 ❖
統合テスト • 実践的なシーンをレンダリングしてリファレンスと比較 簡単なシーンの例 実践的なシーンの例
レンダラーの効率化 ❖ 年々レンダリング時間が減っていて辛い・・・ ピクセル当たりにかけられるサンプル数はどんどん減ってる ❖ レンダラーを効率化したい
None
None
None
None
None
None
レンダラーのGPU実装 ❖CUDA ❖METAL ❖OpenGL (GLSL) ❖DirectX Raytracing ❖Vulkan などなど
Vulkanについて ❖ 様々なOS上で動作 (Windows, Linux, macOS(MoltenVK)) ❖ Compute Shader を持っており、SPIR-Vを受け取る
Vulkan compute shader実行までの流れ ❖ SPIR-V自体は中間表現言語、 何らかのプログラミング言語から変換する ❖ GLSLならglslang、OpenCLならclspv といったツールでコンパイルする
以上です