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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ykozw
October 17, 2024
93
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
fluorite 2024
レイトレ合宿(
https://sites.google.com/view/rtcamp10
) の自作レンダラー紹介スライドです
ykozw
October 17, 2024
More Decks by ykozw
See All by ykozw
0x5F3759DF
ykozw
1
2.2k
アフィン演算
ykozw
0
1.4k
レイトレ合宿8 レンダラー紹介
ykozw
0
250
All about golden ratio
ykozw
0
2k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
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かけるようにした
もっと綺麗に影がでるはずだったもの