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
8
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
520
アフィン演算
ykozw
0
890
レイトレ合宿8 レンダラー紹介
ykozw
0
140
All about golden ratio
ykozw
0
1.5k
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Adopting Sorbet at Scale
ufuk
73
9.1k
Producing Creativity
orderedlist
PRO
341
39k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Agile that works and the tools we love
rasmusluckow
327
21k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Automating Front-end Workflow
addyosmani
1366
200k
Designing for humans not robots
tammielis
250
25k
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かけるようにした
もっと綺麗に影がでるはずだったもの