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
690
Other Decks in Programming
See All in Programming
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
280
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
220
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
Introduce Hono CLI
yusukebe
2
790
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
390
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
940
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
180
Flutterで分数(Fraction)を表示する方法
koukimiura
0
130
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
910
理論と実務のギャップを超える
eycjur
0
140
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
170
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
1k
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
Optimizing for Happiness
mojombo
379
70k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Being A Developer After 40
akosma
91
590k
Leading Effective Engineering Teams in the AI Era
addyosmani
6
440
Why Our Code Smells
bkeepers
PRO
340
57k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
GitHub's CSS Performance
jonrohan
1032
470k
Site-Speed That Sticks
csswizardry
12
900
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Music & Morning Musume
bryan
46
6.8k
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