こういうの、今までありそうで無かった。
光源からフォトンを放射して、フォトンが格納されるまでを可視化した動画。一粒を追っていくとロシアンルーレットな感じは多少わかるかも(?)
以下、作者のブログから引用。
- Global illumination via Photon Mapping
- 128 lines of 79-column (or less) open source C++ code
- Point light source
- Specular, Diffuse, and Glass BRDFs
- Ray-sphere intersection
- Modified Cornell box scene description contains LSDSE path
- Cosine importance sampling of the hemisphere for diffuse reflection
- Russian roulette for path termination
- Russian roulette and splitting for selecting reflection and/or refraction for glass BRDF
- Quasi Monte Carlo sampling using Halton sequence
- Antialiasing via 2×2 super-sampling
- Using kd-tree for radiance estimation
ソースコードはこちら。
GI的アプローチを見てると、BRDFの精度とかホント微々たるものに思えてくるよ。多くの場合、画の出来を左右するのがサンプリングの質なんだもん。
ところで、未だに自分の中でkd-treeがピンと来てない件。

関連記事
Pythonのソースコードに特化した検索エンジン『Nulle...
映画から想像するVR・AR時代のGUIデザイン
VGGT:マルチビュー・フィードフォワード型3Dビジョン基盤...
ZBrushでアヴァン・ガメラを作ってみる
スクラッチで既存のキャラクターを立体化したい
Open Shading Language (OSL)
ブログの復旧が難航してた話
OpenCVの三角測量関数『cv::triangulatep...
adskShaderSDK
Manim:Pythonで使える数学アニメーションライブラリ
ZBrushでゴジラ2001を作ってみる 身体のアタリを作る
MVStudio:オープンソースのPhotogrammetr...
libigl:軽量なジオメトリ処理ライブラリ
UnityのTransformクラスについて調べてみた
ラクガキの立体化 1年半ぶりの続き
Raspberry Pi
『パシフィック・リム: アップライジング』のVFXブレイクダ...
Math.NET Numerics:Unityで使える数値計...
ZBrushでアヴァン・ガメラを作ってみる 全体のバランス調...
ZBrushでアヴァン・ガメラを作ってみる 首回りの修正・脚...
ArUco:OpenCVベースのコンパクトなARライブラリ
PythonでBlenderのAdd-on開発
OpenCVでiPhone6sのカメラをキャリブレーションす...
JavaScriptとかWebGLとかCanvasとか
ZBrushでアヴァン・ガメラを作ってみる 下アゴと頭部を作...
Maya LTでFBIK(Full Body IK)
Gource:バージョン管理の履歴を可視化するツール
SIGGRAPH 2020はオンライン開催
色んな三面図があるサイト
Verilog HDL
WinSCP
SONY製のニューラルネットワークライブラリ『NNabla』
OpenCVのfindEssentialMat関数を使ったサ...
トランスフォーマー/ロストエイジのメイキング
ZBrush キャラクター&クリーチャー
ZBrushでアヴァン・ガメラを作ってみる 口のバランス調整
iPhone・iPod touchで動作する知育ロボット『R...
ブログのデザイン変えました
3Dスキャンに基づくプロシージャルフェイシャルアニメーション
Google App Engine上のWordPressでF...
Faster R-CNN:ディープラーニングによる一般物体検...
立体視を試してみた


コメント
YouTubeにもアップしました!
元はといえば、YouTubeの動画
を見て、実際にフォトンマッピングを可視化してみようと思ったのでしたw