➡️ 目錄
CG 魚書ch 13.8裡Perfect Diffuse BRDF的 推導過程
reflectance即albedo(texture color) (13.9)就是render equation裡的半球積分 只考慮RGB其中1個component (且值為1) 有Diffuse BRDF為 F= 1 / π |
有個地方讓我困惑
第1個黃色
告訴我們
往不同方向出去的Lo有個cos(θo)修正
往不同方向出去的Lo有個cos(θo)修正
第2個黃色
卻告訴我們進入dA 的E 會平均分到半球的各個方向 (各方向出去的Lo為定值)實際來算算看
假設所有Li都相等
當F = 1 / π
跑1次 式13.11
E = ∫ cos(θi) Li dω
會得到 E = Li * π 式B
跑1次 式13.9
Lo = ∫ F cos(θi) Li dω
會得到
Lo = Li * F * π
使用F = 1 / π
會得到
Lo = Li 式C
(代表E在任1個方向o會產生Lo)
那所有方向o 就是跑1次 式 13.12
E = ∫ cos(θo) Lo dω
E = Lo * π 式A
因為式C 所以
式B = 式A
E = E
能量守恆
如果跑式13.12 時忽略cos(θo)項
E = ∫ Lo dω
Eo = Lo * 2π
就沒有能量守恆了
當F = cos(θo) (1 / π)
跑1次 式13.9
Lo = ∫ F cos(θi) Li dωi
會得到
Lo = F Li ∫ cos(θi) dωi
Lo = cos(θo) (1 / π) Li π
Lo = cos(θo) Li 式D
再跑1次 式13.12 (不使用cos(θo) )
E = ∫ Lo dω
會得到
Eo = ∫ Lo dωo
Eo = ∫ cos(θo) Li dωo
Eo = Li ∫ cos(θo) dωo
Eo = Li π
沒有留言:
張貼留言