Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
RT Camp 10 Renderer
Search
kinakomoti-321
October 13, 2024
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RT Camp 10 Renderer
kinakomoti-321
October 13, 2024
More Decks by kinakomoti-321
See All by kinakomoti-321
Introduction for Fur, Hair Rendering
kinakomoti321
0
670
RT Camp 11 Renderer
kinakomoti321
0
96
Introduction for Projective Geometric Algebra
kinakomoti321
3
700
How were Quaternion discovered
kinakomoti321
2
1.4k
SH,MonoSH Lightmap Shader
kinakomoti321
1
1.1k
Henjou-Renderer
kinakomoti321
0
490
Volume Expression GGX(Microfacet)
kinakomoti321
1
4.3k
thin film interference BSDF and Bismuth Growing Algorithm
kinakomoti321
1
1.4k
Pathtracing technics for Caustics
kinakomoti321
0
2.3k
Featured
See All Featured
Building AI with AI
inesmontani
PRO
1
1.2k
What's in a price? How to price your products and services
michaelherold
247
13k
4 Signs Your Business is Dying
shpigford
187
23k
So, you think you're a good person
axbom
PRO
2
2.1k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
570
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
270
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Transcript
S K H O L E R E N D
E R E R レイトレ合宿 10 kinankomtoi
S K H O L E R E N D
E R E R • Skhole ギリシャ語で「暇」「余暇」、転じて「学問をする場所」 Schoolの語源 1 0 / 1 3 / 2 0 2 4 2 • なんかいい感じの単語でやりたかったので適当に付けた • 諸事情があり、かなりプリミティブなレンダラーになった
使 用 し た ラ イ ブ ラ リ •
VectorLikeGLSL (自作) : GLSLライクなvec, mat - Swittzle演算子対応 - めちゃくちゃバグあった • TinyGLTF • TinyObj • Nlohmann/ json : Jsonの入出力 • Cxxops : コマンドラインパーサー • GLFW • ImGUI 1 0 / 1 3 / 2 0 2 4 3
S C E N E 1 0 / 1 3
/ 2 0 2 4 4 • Blenderで制作 • 特に面白いことはない https://casual-effects.com/data/ • Mituba Knobをお借りしました
モ チ ベ ー シ ョ ン • 特殊なマテリアル作りたい -
特殊なマテリアルの設定がめんどくさい! • デバッグを楽にしたい - 静止画でデバッグするのはもうつらい・・・ • ポスプロちゃんとして~ • Causticsやりて~ • Vulkanをやりたい 1 0 / 1 3 / 2 0 2 4 5
目 標 1 0 / 1 3 / 2 0
2 4 6 • Vulkan Raytracing • Editor制作
目 標 1 0 / 1 3 / 2 0
2 4 7 • Vulkan Raytracing • Editor制作 • ポスプロ(Color Grading etc..) • Fast Multiple Scattering Approximate • VMF Diffuse: A unified rough diffuse BRDF • Interactive Rendering of Caustics using Dimension Reduction for Manifold Next-Event Estimation 特殊なマテリアル Caustics やりたい手法
目 標 1 0 / 1 3 / 2 0
2 4 8 • Vulkan Raytracing • Editor制作 • ポスプロ(Color Grading etc..) • Fast Multiple Scattering Approximate • VMF Diffuse: A unified rough diffuse BRDF • Interactive Rendering of Caustics using Dimension Reduction for Manifold Next-Event Estimation 特殊なマテリアル Caustics やりたい手法 間に合いませんでした
開 発記 1 0 / 1 3 / 2 0
2 4 9
1 0 / 1 3 / 2 0 2 4
10 ~ お盆 8月末 Vulkan Raytracing 入門 https://zenn.dev/nishiki/books/f468197dca2dd8 ゼロからVulkan Ray Tracing, Nishiki Nsightを導入したり Editor 制作
1 0 / 1 3 / 2 0 2 4
11 9月末 8月末 Editor 制作 Bounded VNDF Sampling for the Smith-GGX BRDF Visual Computing マテリアルの保存など アニメーション対応 オフスクリーン レンダリングなど
1 0 / 1 3 / 2 0 2 4
12 10/5 10/9 提出日 そろそろやばい・・・ Caustics アルゴリズム調査 HoudiniでVisualize 行けそうな感じ
1 0 / 1 3 / 2 0 2 4
13 10/5 10/9 提出日 一旦テストで提出、無事に通る Caustics アルゴリズム調査 10/6 テスト提出 OK
1 0 / 1 3 / 2 0 2 4
14 10/5 10/9 提出日 Causticsの実装を開始 Caustics アルゴリズム調査 10/6 テスト提出 OK 10/7 Caustics アルゴリズム実装 ある程度の解を見つけられるようになった 足りてない実装があったのでそれやれば ワンチャン行けるのでは・・・?
1 0 / 1 3 / 2 0 2 4
15 10/5 10/9 提出日 行けるかわからないので他のやりたかった 実装をやる Caustics アルゴリズム調査 10/6 テスト提出 OK 10/7 Caustics アルゴリズム実装 10/8 ポスプロ Fast Multiple Scattering VMF Diffuse テスト提出 ついでに提出
1 0 / 1 3 / 2 0 2 4
16 10/8が終わるころの思考 VMF Diffuseの実装 なんとか行けそう シーンももうちょい こだわろうかな ギリギリCausticsも できるかも・・・?
1 0 / 1 3 / 2 0 2 4
17
1 0 / 1 3 / 2 0 2 4
18 10/8が終わるころの思考 VMF Diffuseの実装 なんとか行けそう シーンももうちょい こだわろうかな ギリギリCausticsも できるかも・・・?
1 0 / 1 3 / 2 0 2 4
19 10/8が終わるころの思考 VMF Diffuseの実装 なんとか行けそう シーンももうちょい こだわろうかな ギリギリCausticsも できるかも・・・?
1 0 / 1 3 / 2 0 2 4
20 10/5 10/9 提出日 全てが崩壊 Caustics アルゴリズム調査 10/6 テスト提出 OK 10/7 Caustics アルゴリズム実装 10/8 ポスプロ Fast Multiple Scattering VMF Diffuse テスト提出
1 0 / 1 3 / 2 0 2 4
21 10/5 10/9 提出日 全てが崩壊 Caustics アルゴリズム調査 10/6 テスト提出 OK 原因が特定できずテスト提出まで 戻すことになった
1 0 / 1 3 / 2 0 2 4
22 10/5 10/9 提出日 10/6日時点のバージョンで提出することに・・・ Caustics アルゴリズム調査 10/6 テスト提出 OK 提出
画 像 が で な い ・ ・ ・ •
レンダリング時間が遅いとOUT • ちょっとでも複雑なシーンにするとOUT • 昔からのバージョンでも同様のバグ • ギリギリ行けそうなシーンと条件を探すことに 1 0 / 1 3 / 2 0 2 4 23
で き た の が こ れ 1 0 /
1 3 / 2 0 2 4 24
教 訓 1 0 / 1 3 / 2 0
2 4 25 バキ外伝 創面 2巻 より引用
や った ( や ろう とし た ) 手 法
の 概 要 1 0 / 1 3 / 2 0 2 4 26
1 0 / 1 3 / 2 0 2 4
27 Bounded VNDF Sampling for Smith–GGX BRDF • サーフェイス方向に向かうサンプルを抑制する VNDF Sampling • 実装はSpherical VNDFサンプリングにちょっと+する ぐらいでできる • 記事を書きました https://zenn.dev/kinankomoti/articles/cff2efa809e8a0 • (著者の人がいるので直接聞いてください)
1 0 / 1 3 / 2 0 2 4
28 Fast Multiple Scattering Approximation • Multiple Scatteringの近似式を導いた手法 • Closedな式で提供(わりとシンプル) • 通常のSingle Scatteringに補正項を加える • 実装については以前記事を書きました https://kinakomoti321.hatenablog.com/entry/2023 /12/29/185730
1 0 / 1 3 / 2 0 2 4
29 Fast Multiple Scattering Approximation • 2次光までを考慮している • Ground Truthと比べると割と近い感じになっている
1 0 / 1 3 / 2 0 2 4
30 VMF Diffuse : A unified rough diffuse BRDF • Roughnessを持つDiffuse BRDFを提案 • 砂のような粒状のLambertian Sphereを考えるこ とで求めている • ShaderToyで実装している人がいました(高次光 の式も含めて) https://www.shadertoy.com/view/MXKSWW
1 0 / 1 3 / 2 0 2 4
31 VMF Diffuse : A unified rough diffuse BRDF • 実装はえげつない近似式を書けばOK • 特にBRDF以外は何も必要がないはず
1 0 / 1 3 / 2 0 2 4
32 Interactive Rendering of Caustics using Dimmension Rendering for Manifold Next-Event Estimation • Coplanarity 条件というものを用いて、Causticsのパス 探索の次元を減らした手法 • 1回屈折, 1回反射によるCausticsのレンダリングが 可能 • Triangle内の探索アルゴリズムの実装は Houdiniで実装 したのがあるので興味がある人はどうぞ (あっているかはわかりません)
1 0 / 1 3 / 2 0 2 4
33 Interactive Rendering of Caustics using Dimmension Rendering for Manifold Next-Event Estimation • Coplanarity (同一平面)条件 屈折反射において入射、出射ベクトル、法線は 同一平面上に存在する必要がある P : Diffuse点 M : サーフェイス点 L : Light点 N_m : Mの法線 • Causticsのパスは少なくともこの条件を満たす • Coplanarity条件を満たす曲線上で探索
1 0 / 1 3 / 2 0 2 4
34 Interactive Rendering of Caustics using Dimmension Rendering for Manifold Next-Event Estimation • TriangleにおいてCoplanarityを満たす 重心座標(α, β)は
1 0 / 1 3 / 2 0 2 4
35 Interactive Rendering of Caustics using Dimmension Rendering for Manifold Next-Event Estimation • これを展開するとConicの式が出てくる • この曲線に沿って探索を行っていく
2 0 2 4 / 1 0 / 1 3
36 Interactive Rendering of Caustics using Dimmension Rendering for Manifold Next-Event Estimation • 実際の探索は次のtangentとRefractionVectorで表現される符号を使う • この正負が反転する境界点がCausticsパスの解 となる • Triangleを移動したり、分割したりして境界点 を探索する
2 0 2 4 / 1 0 / 1 3
37 Interactive Rendering of Caustics using Dimmension Rendering for Manifold Next-Event Estimation • 注意点 • ちょっと数式のミスがある • 式(22),(23)の係数が間違ってる (22) D -> E (23) C - > D • Conic Matrix Mの定義は多分次のようなやつ あとこれ多分縦ベクトル これは3次元ベクトル のはず(z=0と思われ)