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
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
Platform Engineering for Software Developers and Architects
syntasso
1
510
いざ、BSC討伐の旅
nikinusu
2
770
[FOSS4G 2019 Niigata] AIによる効率的危険斜面抽出システムの開発について
nssv
0
310
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
150
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
Lexical Analysis
shigashiyama
1
150
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
0
980
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
460
Featured
See All Featured
Designing the Hi-DPI Web
ddemaree
280
34k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
730
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Faster Mobile Websites
deanohume
305
30k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Documentation Writing (for coders)
carmenintech
65
4.4k
A Philosophy of Restraint
colly
203
16k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
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 といったツールでコンパイルする
以上です