こういうの、今までありそうで無かった。
光源からフォトンを放射して、フォトンが格納されるまでを可視化した動画。一粒を追っていくとロシアンルーレットな感じは多少わかるかも(?)
以下、作者のブログから引用。
- 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がピンと来てない件。

関連記事
「ベンジャミン·バトン数奇な人生」でどうやってCGの顔を作っ...
GoB:ZBrushとBlenderを連携させるアドオン
TensorSpace.js:ニューラルネットワークの構造を...
iOSデバイスと接続して連携するガジェットの開発方法
ゴジラ(2014)のディティール制作の舞台裏
Maya LTでFBIK(Full Body IK)
Google App Engine上のWordPressでF...
CreativeCOW.net
ZBrushと液晶ペンタブレットでドラゴンをモデリングするチ...
ヒーローに変身なりきりアーケードゲーム『ナレルンダー』
TVML (TV program Making langua...
LuxCoreRender:オープンソースの物理ベースレンダ...
SVM (Support Vector Machine)
『スター・ウォーズ 最後のジェダイ』のVFXブレイクダウン ...
ZBrushCoreのTransposeとGizmo 3D
書籍『The Art of Mystical Beasts』...
第1回 3D勉強会@関東『SLAMチュートリアル大会』
日本でMakersは普及するだろうか?
IronPythonを使ってUnity上でPythonのコー...
MetaHumanの頭部をBlenderで編集できるアドオン
OpenMayaRender
DensePose:画像中の人物表面のUV座標を推定する
OpenCVの三角測量関数『cv::triangulatep...
After Effects全エフェクトの解説(6.5)
ZBrushでアヴァン・ガメラを作ってみる 全体のバランス調...
まだ続くブログの不調
ArUco:OpenCVベースのコンパクトなARライブラリ
Theia:オープンソースのStructure from M...
Pylearn2:ディープラーニングに対応したPythonの...
OpenVDB:3Dボリュームデータ処理ライブラリ
ブログのデザイン変えました
3D映画のポストプロダクション 2D-3D変換
Seleniumを使ったFXや株の自動取引
ZBrush用トポロジー転送プラグイン『ZWrap Plug...
Transformers ”Reference & Buli...
Human Generator:Blenderの人体生成アド...
libigl:軽量なジオメトリ処理ライブラリ
viser:Pythonで使える3D可視化ライブラリ
iPhone 3GSがますます欲しくなる動画
WinSCP
書籍『OpenCV 3 プログラミングブック』を購入
顔追跡による擬似3D表示『Dynamic Perspecti...


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