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
Petrichor render 2018 @ Ray tracing Camp 6
Search
Pheema
September 01, 2018
Programming
0
230
Petrichor render 2018 @ Ray tracing Camp 6
"レイトレ合宿6" (
https://sites.google.com/site/raytracingcamp6/
) に提出した自作レンダラーPetrichorの紹介スライドです。
Pheema
September 01, 2018
Tweet
Share
More Decks by Pheema
See All by Pheema
レイトレ合宿5: 自作レンダラー紹介 / Introduction of the my renderer in Ray Tracing Camp 5
pheema
0
730
レイトレ合宿4!? レンダラー紹介 (@_Pheema_)
pheema
0
700
Other Decks in Programming
See All in Programming
『実践MLOps』から学ぶ DevOps for ML
nsakki55
2
440
詳細の決定を遅らせつつ実装を早くする
shimabox
1
1.3k
しっかり学ぶ java.lang.*
nagise
1
400
FlutterKaigi 2025 システム裏側
yumnumm
0
1.1k
高単価案件で働くための心構え
nullnull
0
150
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
12
6.6k
MCPサーバー「モディフィウス」で変更容易性の向上をスケールする / modifius
minodriven
8
1.6k
2025 컴포즈 마법사
jisungbin
0
130
Promise.tryで実現する新しいエラーハンドリング New error handling with Promise try
bicstone
3
500
無秩序からの脱却 / Emergence from chaos
nrslib
1
4.8k
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
32
14k
PyCon mini 東海 2025「個人ではじめるマルチAIエージェント入門 〜LangChain × LangGraphでアイデアを形にするステップ〜」
komofr
3
1.1k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Agile that works and the tools we love
rasmusluckow
331
21k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Building an army of robots
kneath
306
46k
GitHub's CSS Performance
jonrohan
1032
470k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Transcript
Petrichor 2018 @_Pheema_ 2018/09/01 - 2018/09/02 レイトレ合宿6
レンダリング結果 2018/09/01 - 2018/09/02 6 レイトレ合宿 2 - 暗めの室内シーン *
1080x1920(スマホの壁紙サイズ!) * 廃墟っぽい感じとか良いよね * 空間だけだと寂しいので、後から階段を付け足し
レンダラーの概要 - 今年取り組んだこと * Multiple importance sampling (MIS) のバグ修正 *
環境マップの重点サンプリング * SAH-based BVH * Normal map 3 2018/09/01 - 2018/09/02 レイトレ合宿6
BVH 年々レンダリング時間が短くなっているので、BVH構築は速く処理したい - 今年 * SAH-based Binned BVH • “On
fast Construction of SAH-based Bounding Volume Hierarchies” [Wald2007] * BVH構築、トラバース速度がましになった(以前が遅すぎた) - 昨年 * AABBの一番長い辺を2等分していた * でかいポリゴン(例:でかい床面)が1つでもあると、トラバースが遅くなって詰む * ソート処理が適当すぎて激重 4 2018/09/01 - 2018/09/02 レイトレ合宿6
環境マップの重点サンプリング 太陽が写っているような、輝度の差が激しい環境マップを使用したい - 今年 * 環境マップの重点サンプリング • 参考資料 • “Monte
Carlo Rendering with Natural Illumination” • “積分とサンプリングと検定” • 輝度が高いピクセルを重点的にサンプリングする - 昨年 * 環境マップ上の太陽が小さすぎて全然太陽の値を取れない * 分散がでかくなって死ぬ 5 2018/09/01 - 2018/09/02 レイトレ合宿6
環境マップの重点サンプリング 2018/09/01 - 2018/09/02 6 レイトレ合宿 6 “HDRI Haven” の環境マップを使用
累積分布関数 2018/09/01 - 2018/09/02 6 レイトレ合宿 7
環境マップの重点サンプリング 2018/09/01 - 2018/09/02 6 レイトレ合宿 8 重点サンプリング:OFF 重点サンプリング:ON →環境マップ上の太陽を拾えるように
環境マップの重点サンプリング - 失敗点 * 室内に存在するほとんどの点からは太陽が見えない… • 太陽を直接サンプリングしたところで、壁に遮られる場合が多い • ライトポータル等を実装するべきだった? •
“Portal-Masked Environment Map Sampling” [BNJ15] 9 2018/09/01 - 2018/09/02 レイトレ合宿6
今後について - シーン * 目標となるシーンを決めて、アルゴリズムを選定する * 「シーンがさき アルゴリズムはあと」 * 提出直前に本番シーンに切り替えてハングする悲劇を避ける
- レンダリングの手法 * プログラムを直しつつ、PTで行けるところまでいってみたい * 余裕があったら他の手法にも取り組む(PSSMLTとか興味あり) 10 2018/09/01 - 2018/09/02 レイトレ合宿6
今後について - デバッグ用の可視化 * 文字でのデバッグ辛すぎ問題 • BVH等の構造が把握できなくて死 • 突然のNaN, Inf
* テクスチャとかの中身も見たい - CI * 定期的に特定のシーンをレンダリング • レンダリング画像差分の検知 * テストの実行 11 2018/09/01 - 2018/09/02 レイトレ合宿6
まとめ - 時間をかけた分だけ綺麗な絵がでて楽しい * レンダラー育成ゲーム 2018/09/01 - 2018/09/02 6 レイトレ合宿
12
Petrichor 2018 @_Pheema_ 2018/09/01 - 2018/09/02 レイトレ合宿6