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

関連記事
Siggraph Asia 2009 カンファレンスの詳細
Google App Engine上のWordPressでF...
SIGGRAPH論文へのリンクサイト
Kaolin:3Dディープラーニング用のPyTorchライブ...
ZBrushでゴジラ2001を作ってみる 目元だけ作り込んで...
Adobe Photoshop CS5の新機能
iOSデバイスと接続して連携するガジェットの開発方法
トランスフォーマーの変形パターンを覚えるのは楽しいと思うんだ
bpy-renderer:レンダリング用Pythonパッケー...
Unity ARKitプラグインサンプルのドキュメントを読む
ポリゴン用各種イテレータと関数セット
SIGGRAPH ASIAのマスコット
ZBrush 2018での作業環境を整える
『スター・ウォーズ 最後のジェダイ』のVFXブレイクダウン ...
ZBrushでアヴァン・ガメラを作ってみる 首回りの修正・脚...
Adobe Photoshop CS4 Extendedの3...
ZBrushで作った3Dモデルを立体視で確認できるVRアプリ...
色んな三面図があるサイト
BGSLibrary:OpenCVベースの背景差分ライブラリ
ZBrushでアヴァン・ガメラを作ってみる 全体のバランス調...
BlenderProc:Blenderで機械学習用の画像デー...
Unityの各コンポーネント間でのやり取り
ZBrushで人型クリーチャー
スクラッチで既存のキャラクターを立体化したい
UnrealCV:コンピュータビジョン研究のためのUnrea...
画像生成AI Stable Diffusionで遊ぶ
リアルタイム レイトレーシングAPI『DirectX Ray...
Raspberry Pi 2を買いました
2D→3D復元技術で使われる用語まとめ
ZBrushでゴジラ2001を作ってみる 側頭部のボリューム...
R-CNN (Regions with CNN featur...
WebGL開発に関する情報が充実してきている
スターウォーズ エピソードVIIの予告編
『パシフィック・リム: アップライジング』のVFXブレイクダ...
Boost オープンソースライブラリ
iPhoneアプリ開発 Xcode 5のお作法
ZBrushの作業環境を見直す
CGALDotNet:計算幾何学ライブラリ CGALのC#ラ...
3D Gaussian Splatting:リアルタイム描画...
Maya 2015から標準搭載されたMILA
OpenCV バージョン4がリリースされた!
Amazon EC2ログイン用の秘密鍵を無くした場合の対処方...


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