公式(3)计算的结果范围是 [ 0 , 1 ] [0,1] [0,1]
设计一个额外的Lobe,其结果为 1 − E ( μ o ) 1-E(\mu_o) 1−E(μo)
因此,由于引用Shadowing-Masking Term项所损失的能量,可以使用上述理论计算出的能量损失项补充
Kulla-Conty 使用的补充能量项(称补充的BRDF Lobe)为 c ( 1 − E ( μ i ) ) ( 1 − E ( μ o ) ) c(1-E(\mu_i))(1-E(\mu_o)) c(1−E(μi))(1−E(μo))
因此,Kulla-Conty提出的损失项BRDF为
f
m
s
(
μ
o
,
μ
i
)
=
(
1
−
E
(
μ
o
)
)
(
1
−
E
(
μ
i
)
)
π
(
1
−
E
a
v
g
)
,
E
a
v
g
=
2
∫
0
1
E
(
μ
)
μ
d
μ
(4)
\tag4 f_{ms}(\mu_o,\mu_i) = \cfrac{(1-E(\mu_o))(1-E(\mu_i))}{\pi(1-E_{avg})}, E_{avg} = 2\int_0^1E(\mu)\mu\mathrm{d}\mu
fms(μo,μi)=π(1−Eavg)(1−E(μo))(1−E(μi)),Eavg=2∫01E(μ)μdμ(4)
其中
证明
上面已经推导,损失的能量为 1 − E ( μ o ) 1-E(\mu_o) 1−E(μo),因此,使用公式(4)的BRDF求解渲染方程的结果也应该是 1 − E ( μ o ) 1-E(\mu_o) 1−E(μo)
方程如下
E
m
s
(
μ
o
)
=
∫
0
2
π
∫
0
1
f
m
s
(
μ
o
,
μ
i
,
ϕ
)
μ
i
d
μ
i
d
ϕ
(5)
\tag{5} E_{ms}(\mu_o) = \int_0^{2\pi} \int_0^1f_{ms}(\mu_o,\mu_i,\phi)\mu_i\mathrm{d}\mu_i\mathrm{d}\phi
Ems(μo)=∫02π∫01fms(μo,μi,ϕ)μidμidϕ(5)
外层对 ϕ \phi ϕ积分结果为 2 π 2\pi 2π (二重积分)
将与积分变量无关的变量可以提出
E m s ( μ o ) = 2 ( 1 − E ( μ o ) ) ( 1 − E a v g ) ∫ 0 1 ( 1 − E ( μ i ) μ i d μ i E_{ms}(\mu_o) = 2\cfrac{(1-E(\mu_o))}{(1-E_{avg})} \int_0^1 (1-E(\mu_i)\mu_i\mathrm{d}\mu_i Ems(μo)=2(1−Eavg)(1−E(μo))∫01(1−E(μi)μidμi
先计算积分的结果(积分公式–定积分)
因此:
E
m
s
(
μ
o
)
=
2
(
1
−
E
(
μ
o
)
)
(
1
−
E
a
v
g
)
∗
1
2
∗
(
1
−
E
a
v
g
)
E_{ms}(\mu_o) = 2\cfrac{(1-E(\mu_o))}{(1-E_{avg})} * \cfrac{1}{2}*(1-E_{avg})
Ems(μo)=2(1−Eavg)(1−E(μo))∗21∗(1−Eavg)
E
m
s
(
μ
o
)
=
1
−
E
(
μ
o
)
E_{ms}(\mu_o) = 1-E(\mu_o)
Ems(μo)=1−E(μo)
公式(4)中 E a v g = 2 ∫ 0 1 E ( μ ) μ d μ E_{avg} = 2\int_0^1E(\mu)\mu\mathrm{d}\mu Eavg=2∫01E(μ)μdμ的求解
如果微表面BRDF有颜色,在计算出射Radiance时会有额外的能量损失(吸收)
本节主要是对渲染算法学习(二)的补充。主要做一下Shadowing-Masking Term的笔记。