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
fluorite 2024
Search
ykozw
October 17, 2024
0
24
fluorite 2024
レイトレ合宿(
https://sites.google.com/view/rtcamp10
) の自作レンダラー紹介スライドです
ykozw
October 17, 2024
Tweet
Share
More Decks by ykozw
See All by ykozw
0x5F3759DF
ykozw
0
1.3k
アフィン演算
ykozw
0
1.2k
レイトレ合宿8 レンダラー紹介
ykozw
0
200
All about golden ratio
ykozw
0
1.8k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.7k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
KATA
mclloyd
30
14k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Scaling GitHub
holman
459
140k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
500
Faster Mobile Websites
deanohume
307
31k
How to Ace a Technical Interview
jacobian
277
23k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Transcript
fluorite 2024 ykozw
fluorite 2024 使用しているライブラリ一覧 doctest (C++) C++ のシンプルで軽量なユニットテストフレームワーク GitHub: doctest pybind11
Python と C++ 間の簡単でシームレスなバインディング GitHub: pybind11 rapidxml 高速で簡単な C++ XML パーサライブラリ GitHub: rapidxml stb_image_write 画像ファイルの簡単な書き込みライブラリ GitHub: stb_image_write tinyobjloader ウェーブフロント .obj ファイルのローダ GitHub: tinyobjloader
fluorite 2024 アセットはTurbo Squidで購入(リンク)
一年の進捗 去年半端に終わったSIMDライブラリを進めた。 多くの部分をSIMDで書き直してみた。 名前はHinoki template <int N> inline SolidAngleSample<N> sampleCone(Float1
cosThetaMax, Float3 wc, Float2xN<N> xi) { auto cosTheta = (1.0f - xi.x) + xi.x * cosThetaMax; auto sinTheta = sqrt(1.0f - cosTheta * cosTheta); auto phi = xi.y * 2.0f * PI; auto cosPhi = cos(phi); auto sinPhi = sin(phi); auto ldir{cosPhi * sinTheta, sinPhi * sinTheta, cosTheta}; auto onb = createONB(wc); auto wdir = localToWorld(onb, ldir); return {.dir = wdir, .pdf = pdfUnitCone<N>(cosThetaMax)}; }
一年の進捗 交差判定を自分で書き直し 確認用にCMakeでEmbree On/Off LeafをSIMDで一気に処理したりなどすることで、 スカラーでより明らかに早くなる。 しかしEmbreeに遠く及ばず。 一番近いケースでも5倍速くらい違う 次はここをがんばりたい
一年の進捗 遮蔽のないエリアライトの照度は境界積分で 解析的に算出できる 投影立体角の上でサンプルすれば、遮蔽され る割合がそっくりそのままランバートの場合の 値になる
一年の進捗 “BRDF Importance Sampling for Polygonal Lights”がまさにその話なので、コピペ実装! ⇒ 長さが5の方向ベクトルが誕生 普通に球面三角形を立体角でサンプルして
cosかけるようにした
もっと綺麗に影がでるはずだったもの