Some links of diffuse reflection
- (A) ENERGY CONSERVATION IN GAMES
- (B) Lambert's cosine law : Details of equal brightness effect
- (C) Diffuse reflection
- (D) PI or not to PI in game lighting equation
- (E) "Background: Physically-Based Shading (Naty Hoffman)" SIGGRAPH 2010. p17-18
よくある質問・ 答えが載っている記事・簡単な説明の追記
- ※ 上の資料を理解するには 少なくても 高校 2 年の数学ぐらいの知識が必要になります. (積分が出てくるので)
- Q ディフューズ反射のエネルギー保存則とは何か?
- A. 上の (A)
- 例えば完全なディフューズ反射面のアルベドの反射率が 100% だとします.
- この面に真上から垂直に 100 個の光の粒子をぶつけた場合, それら 100 個は吸収で減ることもなく 100 個とも半球状に散ります.
- この面をある視点から見た場合, その一部が実際に目の方に飛んでくるので, ある一方向に飛んでくる光の粒子の数は 100 個より小さくなっているはずです.
- 例えば, 真上方向に立体角は 1 sr の範囲に飛んでいく光の粒子の数が何個かというと 100 個 × ( 1 / π ) = 31.83 個 です.
- この ( 1/ π) はディフューズ反射のエネルギー保存のために必要な固定値で, これを正規化係数と言います.
- ちなみに真上ではなく, 斜め 45 度の方向に立体角は 1 sr の範囲に飛んでいく粒子の数は 100 個 × ( 1 / π ) * cos 45 ° = 22.5 個になります.
- Q. ディフューズ反射のエネルギー保存則のためにどうして 1/π が出てくるのか?
- A. 上の (A)
- ディフューズ反射時の Radiant intensity (W/sr) は cosθで 分布
- それを半球面の座標系で定積分して正規化係数を求めると 1/π
- Q. ディフューズ反射時に, どの視点から見ても 同じ放射輝度に見える理由は何か ?
- A. 上の (B),(C)
- ディフューズ反射時の Radiant intensity (W/sr) は cos θで分布
- それを見た際の Radiance (W /( sr*m^2) )については 見かけの面積が dA cos θ なので, 前述の Radiant Intensity をこれで割り算すると cos θが打ち消しあって同じ放射輝度(Radiance)に見える
- Q. 今までのゲームのライティングでは 1/π を乗算しなかったのはなぜか?
- Q. Punctual Light を扱うときに π を乗算するのはなぜか?
- A. 上の (D), (E)