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
2.1k
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
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
140
MySQL5.6から8.4へ 戦いの記録
kyoshidaxx
1
210
生成AI時代 文字コードを学ぶ意義を見出せるか?
hrsued
1
300
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
3
1.2k
OpenHands🤲にContributeしてみた
kotauchisunsun
1
430
ハノーバーメッセ2025座談会.pdf
iotcomjpadmin
0
160
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全 / 20250625-aws-summit-aws-policy
opelab
9
1.1k
Tech-Verse 2025 Keynote
lycorptech_jp
PRO
0
100
登壇ネタの見つけ方 / How to find talk topics
pinkumohikan
5
440
エンジニア向け技術スタック情報
kauche
1
250
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.2k
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
1.1k
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Git: the NoSQL Database
bkeepers
PRO
430
65k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Building Applications with DynamoDB
mza
95
6.5k
Code Review Best Practice
trishagee
68
18k
Thoughts on Productivity
jonyablonski
69
4.7k
A designer walks into a library…
pauljervisheath
207
24k
How to Ace a Technical Interview
jacobian
277
23k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Producing Creativity
orderedlist
PRO
346
40k
The World Runs on Bad Software
bkeepers
PRO
69
11k
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 といったツールでコンパイルする
以上です