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
raytracingcamp6-seminar-zin
Search
Zin
September 04, 2018
Technology
0
2k
raytracingcamp6-seminar-zin
Zin
September 04, 2018
Tweet
Share
More Decks by Zin
See All by Zin
raytracingcamp6-Nanairo
byzin
0
120
Other Decks in Technology
See All in Technology
TypeScript x Raycast x AIで変える開発者体験
nagauta
1
270
OPENLOGI Company Profile for engineer
hr01
1
12k
Semantic Kernel の Agent 機能試してみた!
okazuki
1
160
怖くないオフライン機能開発 〜基本的な技術で実現する現場向けオフライン機能 / Developing offline functions without fear ~ Offline functions for the field realized with basic technology
kaminashi
1
110
【㈱アイモバイル】エンジニア向け会社説明資料
imobile
0
470
Low Latency Join Method for Distributed DBMS
yugabytejapan
0
180
ガバメントクラウド開発と変化と成長する組織 / Organizational change and growth in developing a government cloud
kazeburo
4
810
入門 バックアップ
ryuichi1208
18
6.8k
トークナイザー入門
payanotty
2
990
業務ヒアリングと知識の呪い
tamai_63
0
290
I tried the newly introduced certification "Applied Skills" on Microsoft Learn
mappie_kochi
0
220
分析者起点の企画を成功させた連携面の工夫
lycorptech_jp
PRO
1
260
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9k
Rails Girls Zürich Keynote
gr2m
93
13k
Music & Morning Musume
bryan
46
6.1k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Building an army of robots
kneath
302
42k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
249
21k
For a Future-Friendly Web
brad_frost
174
9.3k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
YesSQL, Process and Tooling at Scale
rocio
167
14k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
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 といったツールでコンパイルする
以上です