计算机图形学基础:双向反射分布函数 BRDF
文章目录光照、照明(Illumination)预备知识球面坐标(Spherical Coordinate)立体角(Solid Angle)投影面积(Foreshortened Area)光能(Radiant Energy)光通量(Radiant Flux)辉度(Irradiance)发光强度(Intensity)光亮度(Radiance)辉度和光亮度的关系BRDF的定义与性质BRDF 的定义可逆性
双向反射分布函数(BRDF:Bidirectional Reflectance Distribution Function),描述的是物体表面对光的反射性质。
光照、照明(Illumination)
光照可分为局部和全局两种
局部光照(local illumination) 和物体直接被光源照射的情况相关
全局光照(global illumination) 和物体被光源以外的其它地方来的光线照射的情况相关,包括其它物体反射和投射过来的光线。
今天的主题:一个关于光线如何被表面反射的物理描述,也就是 BRDF。
预备知识
球面坐标(Spherical Coordinate)
立体角(Solid Angle)
投影面积(Foreshortened Area)
光能(Radiant Energy)
光通量(Radiant Flux)
辉度(Irradiance)
发光强度(Intensity)
光亮度(Radiance)
球面坐标(Spherical Coordinate)
由于光线主要是通过方向来表达,通常用球面坐标表达它们比用笛卡尔坐标更方便。
如图所示,球面坐标中的向量用三个元素来指定:
r
r
r 表示向量的长度;
θ
\theta
θ 表示向量和
z
z
z 轴的夹角;
ϕ
\phi
ϕ 表示向量在
x
−
y
x-y
x−y 平面上的投影和
x
x
x 轴的逆时针夹角。
球面坐标与三维笛卡尔坐标(Cartesian Coordinates)之间的对应关系:
C a r ( x , y , z ) = S p h ( r , θ , ϕ ) Car(x, y, z) = Sph(r, \theta, \phi) Car(x,y,z)=Sph(r,θ,ϕ)
它们的转换公式为:
r
=
x
2
+
y
2
+
z
2
θ
=
arccos
(
z
/
r
)
ϕ
=
arctan
(
y
/
x
)
\begin{aligned} r &= \sqrt{x^2 + y^2 + z^2} \\ \theta &= \arccos(z/r) \\ \phi &= \arctan(y/x) \end{aligned}
rθϕ=x2+y2+z2=arccos(z/r)=arctan(y/x)
z = r cos ( θ ) y = r sin ( θ ) s i n ( ϕ ) x = r sin ( θ ) c o s ( ϕ ) \begin{aligned} z &= r \cos (\theta) \\ y &= r \sin (\theta) sin(\phi) \\ x &= r \sin (\theta) cos(\phi) \end{aligned} zyx=rcos(θ)=rsin(θ)sin(ϕ)=rsin(θ)cos(ϕ)
立体角(Solid Angle)
立体角描述了从原点向一个球面区域张成的视野大小,是平面角在三维的自然推广。立体角的最大值为全角:
4
π
4\pi
4π,该最大值可以在区域为整个球面时取到。
立体角
ω
\omega
ω 具有如下微分形式:
d
ω
=
d
A
r
2
d \omega = \frac{d A}{r^2}
dω=r2dA
由于面积微元在球面坐标系下可以写成:
d
A
=
(
r
d
θ
)
(
r
sin
θ
d
ϕ
)
=
r
2
sin
θ
d
θ
d
ϕ
dA = (rd\theta)(r \sin \theta d\phi)=r^2\sin\theta d\theta d\phi
dA=(rdθ)(rsinθdϕ)=r2sinθdθdϕ
因此:
d
ω
=
d
A
r
2
=
sin
θ
d
θ
d
ϕ
d\omega = \frac{dA}{r^2}=\sin \theta d\theta d\phi
dω=r2dA=sinθdθdϕ
投影面积(Foreshortened Area)
投影面积描述了一个物体表面的微小区域在某个视线方向上的可见面积。对于面积微元
A
A
A,则沿着与法相夹角为
θ
\theta
θ 方向的
A
A
A 的可见面积为:
a
r
e
a
=
A
cos
θ
area = A \cos \theta
area=Acosθ
光能(Radiant Energy)
光能表示的是(一个区域中)光子能量的总和。光能通常使用符号 Q Q Q 来表示,其单位是焦耳(J)。
光通量(Radiant Flux)
光能并不会停留和储存在某个位置,而是在始终不断运动着的。光通量描述的是在单位时间穿过截面的光能(通常用符号
Φ
\Phi
Φ 来表示,单位是瓦特
W
W
W)
Φ
=
d
Q
d
t
\Phi = \frac{dQ}{dt}
Φ=dtdQ
辉度(Irradiance)
辉度表示的是物体表面受光能的影响程度,它等于单位面积上的光通量(通常用符号
E
E
E来表示,单位是
W
/
m
2
W/m^2
W/m2)
E
=
d
Φ
d
A
E=\frac{d\Phi}{dA}
E=dAdΦ
发光强度(Intensity)
对一个点(例如点光源)来说,发光强度表示单位立体角上的光通量(发光强度简称光强,使用符号
I
I
I来表示,单位是
W
W
W)
I
=
d
Φ
d
ω
I=\frac{d\Phi}{d\omega}
I=dωdΦ
光亮度(Radiance)
光亮度表示物体表面沿某一方向的明亮程度,它等于单位投影面积在单位立体角上的光通量,使用符号
L
L
L来表示,单位是
W
/
m
2
W/m^2
W/m2
一种直观的光亮度的理解方法是:将光亮度理解为物体表面的微面元所接收的来自于某方向光源的单位面积的光通量,因此截面选用垂直于该方向的截面,其面积按投影面积计算。
光亮度的微分形式:
L
=
d
Φ
d
A
cos
θ
d
ω
L=\frac{d\Phi}{dA\cos\theta d \omega}
L=dAcosθdωdΦ
光亮度使用物体表面沿目标方向上的投影面积,而不是面积
辉度和光亮度的关系
辉度可以写成光亮度在入射光所形成的半球上的积分:
d
Φ
d
A
=
E
=
∫
Ω
L
(
ω
)
cos
θ
(
ω
)
d
ω
\frac{d\Phi}{dA} = E = \int_{\Omega}L(\omega) \cos \theta(\omega) d\omega
dAdΦ=E=∫ΩL(ω)cosθ(ω)dω
- Ω \Omega Ω 是入射光所形成的半球
- L ( ω ) L(\omega) L(ω)是沿 ω \omega ω 方向的光亮度
BRDF的定义与性质
BRDF 的定义
BRDF 的性质:
- 可逆性(Reciprocity)
- 能量守恒性质
- 基于 BRDF 的渲染方程(Rendering Equation)
BRDF 的定义
BRDF 描述的是物体表面将光能从任何一个入射方向反射到任何一个视点方向的反射特性。BRDF 模型是绝大多数近代图形学算法中用于描述光反射现象的基本模型。
BRDF 是关于入射光方向和反射光方向的四维实值函数,它等于反射方向的光亮度和沿入射方向的入射光的辉度之比:
f
(
ω
i
→
ω
r
)
=
d
L
r
(
ω
r
)
d
E
i
f(\omega_i \rightarrow \omega_r) = \frac{dL_r(\omega_r)}{dE_i}
f(ωi→ωr)=dEidLr(ωr)
可以写成关于入射光的光亮度的形式:
f
(
ω
i
→
ω
r
)
=
d
L
r
(
w
r
)
L
i
(
ω
i
)
cos
ω
i
d
ω
i
f(\omega_i \rightarrow \omega_r)=\frac{dL_r(w_r)}{L_i(\omega_i)\cos \omega_i d\omega_i}
f(ωi→ωr)=Li(ωi)cosωidωidLr(wr)
可逆性(Reciprocity)
BRDF 的可逆性源自于 Helmholtz 光路可逆性(Helmholtz Reciprocity Rule)
BRDF 的可逆性是说:交换入射光与反射光的角色,并不会改变 BRDF 的值:
f
(
ω
i
→
ω
r
)
=
f
(
ω
r
→
ω
i
)
f(\omega_i \rightarrow \omega_r)=f(\omega_r \rightarrow \omega_i)
f(ωi→ωr)=f(ωr→ωi)
能量守恒性质
BRDF 需要遵循的另一个物理定律是能量守恒定律。能量守恒定律指出:入射光的能量与出射光的总能量应该相等。
能量守恒方程如下:
Q
i
n
c
o
m
i
n
g
=
Q
r
e
f
l
e
c
t
e
d
+
Q
a
b
s
o
r
b
+
Q
t
r
a
n
s
m
i
t
t
e
d
Q_{incoming}=Q_{reflected}+Q_{absorb}+Q_{transmitted}
Qincoming=Qreflected+Qabsorb+Qtransmitted
由此我们知道:
Q
r
e
f
l
e
c
t
e
d
≤
Q
i
n
c
o
m
i
n
g
Q_{reflected} \leq Q_{incoming}
Qreflected≤Qincoming
因此 BRDF 必须满足如下的积分不等式,也就是所谓的能量守恒性质:
∫
Ω
f
(
ω
i
→
ω
r
)
cos
ω
r
d
ω
r
≤
1
\int_{\Omega}f(\omega_i \rightarrow \omega_r) \cos \omega_r d \omega_r \leq 1
∫Ωf(ωi→ωr)cosωrdωr≤1
渲染方程(Rendering Equation)
渲染方程(Rendering Equation)用于计算环境光照明下的反射光的光亮度,它可以写成不同角度下入射光的光亮度乘以 BRDF 的积分:
L
r
=
∫
Ω
f
(
ω
i
→
ω
r
)
L
(
ω
i
)
cos
ω
i
d
ω
i
L_r = \int_{\Omega}f(\omega_i \rightarrow \omega_r)L(\omega_i)\cos \omega_i d\omega_i
Lr=∫Ωf(ωi→ωr)L(ωi)cosωidωi
BRDF模型
为了方便和高效地使用 BRDF 数据,它们往往被组织成为参数化的数值模型。
BRDF 的数值模型具有如下三类:
- 经验模型(Empirical Models)
- 基于物理的模型(Physical-based Models)
- 数据表达的模型(Data-driven Models)
- 经验模型,使用基于实验提出的公式对 BRDF 做快速的估计
- 基于物理的模型,根据物体表面材料的几何以及光学属性建立反射方程,从而计算 BRDF
- 数据表达的模型,将 BRDF 按照实测数据建立查找表,以便于快速的查找和计算。
经验模型(Empiriccal Models)
经验模型提供简洁的公式以便于反射光线的快速计算;
经验模型不考虑材质特性,仅仅提供一个反射光的粗糙近似。
经验模型不一定满足物理定律,如 Helmholtz 可逆性或能量守恒定律等。
经验模型因为其简洁和高效性被广泛运用。
经验模型1:Lambertian 模型
- Lambertian模型是最基本的反射模型:
- 入射光线被均匀地反射到各个方向。
- 沿不同方向地 BRDF 是一个常数。 - 反射率(Albedo):
ρ
\rho
ρ
- 反射率是反射光辉度与入射光辉度之比。
L r ( ω r ) = ∫ Ω f L i ( ω i ) cos ω i d ω i = f ∫ ω L i ( ω i ) cos ω i d ω i = f E i \begin{aligned} L_r(\omega_r) &= \int _{\Omega}f L_i(\omega_i)\cos \omega_i d\omega_i\\ &= f\int_{\omega}L_i(\omega_i) \cos \omega_i d\omega_i \\ &= fE_i \end{aligned} Lr(ωr)=∫ΩfLi(ωi)cosωidωi=f∫ωLi(ωi)cosωidωi=fEi
ρ = E r E i = ∫ Ω L r ( ω r ) cos ω r d ω r E i = f E i π E i = π f \rho = \frac{E_r}{E_i}=\frac{\int_\Omega L_r(\omega_r)\cos \omega_r d\omega_r}{E_i}=\frac{fE_i \pi}{E_i} = \pi f ρ=EiEr=Ei∫ΩLr(ωr)cosωrdωr=EifEiπ=πf
该模型能够很好地用于描述那些包含存粹漫反射的物体(例如:纸张)。
Lambertian 漫反射模型不能表现出材质的镜面反射效果,而镜面反射对于金属材质非常重要。
由于 Lambertian 模型的简洁以及对漫反射良好的描述特性,它常常在其它的经验模型(例如:Phong 模型)中作为分量的形式被包含。
经验模型2:Phong模型
Phong 模型是在 Lambertian 漫反射模型的基础上,添加了一项镜面反射项,以表达在反射角上的镜面反射效果:
f
(
l
→
v
)
=
ρ
d
+
ρ
s
(
r
⋅
v
)
s
(
n
⋅
l
)
f(l\rightarrow v) = \rho_d + \rho_s \frac{(r\cdot v)^s}{(n\cdot l)}
f(l→v)=ρd+ρs(n⋅l)(r⋅v)s
其中,
ρ
d
\rho_d
ρd 和
ρ
s
\rho_s
ρs 分别表示漫反射光和镜面反射光线的反射率,
s
s
s表示发光指数,用于描述镜面反射的锐利度。
Phong 模型不满足可逆性:
f
(
l
→
v
)
≠
f
(
v
→
l
)
f(l\rightarrow v) \neq f(v\rightarrow l)
f(l→v)=f(v→l)
尽管 Phong 模型缺乏物理解释,并且对于某些金属材质,它并不十分准确;但 Phong 模型仍是目前计算机图形学中被最为广泛使用的基于经验的反射模型。
Phong 模型的优势在于它的简洁和高效性,以及能够同时表现漫反射和镜面反射的特征。
Phong 模型的扩展
Phong 模型的大部分扩展是为了实现进一步的加速。
Blinn-Phong 模型
- 通过引入入射方向
l
l
l 和视点方向
v
v
v 的角平分线
h
h
h,使用
h
h
h 和法向
n
n
n 的点积替代原先 Phong 模型中
r
r
r 与
v
v
v 的点积,可以简化运算:
f
(
l
→
v
)
=
ρ
d
+
ρ
s
(
n
⋅
h
)
s
(
n
⋅
l
)
w
h
e
r
e
h
=
v
+
l
2
f(l\rightarrow v) = \rho_d + \rho_s \frac{(n\cdot h)^s}{(n\cdot l)}\ \ where\ h=\frac{v+l}{2}
f(l→v)=ρd+ρs(n⋅l)(n⋅h)s where h=2v+l
快速 Phong 绘制(Fast Phong Shading)
由 Bishop 和 Weimer 发表在 1986年 的 ACM SIGGRAPH 年会上。
思想是使用制表和插值的方法对指数项
(
r
⋅
v
)
s
(r\cdot v)^s
(r⋅v)s进行快速计算,从而实现绘制的加速。
可逆的 Phong 模型(Modified Phong Model)
通过去掉 Phong 模型中镜面反射分量的分母项,从而使得修改后的 Phong 模型能够满足可逆性:
f
(
l
→
v
)
=
ρ
d
+
ρ
s
(
r
⋅
v
)
s
f
(
l
→
v
)
=
f
(
v
→
l
)
\begin{aligned} f(l \rightarrow v) &= \rho_d+\rho_s(r\cdot v)^s\\ f(l \rightarrow v) &= f(v \rightarrow l) \end{aligned}
f(l→v)f(l→v)=ρd+ρs(r⋅v)s=f(v→l)
Phong模型的示例效果
物理模型(Physical-Based Models)
- 经验模型(Empirical Models)源于设计者的直觉和实践经验,而物理模型则建立在有关光的相互作用的科学知识上。通过包含材料的各种几何及光学性质来尽可能精确的近似现实世界中的材料。
- 物理模型(Physical-Based Models)通常建立在被成为表面粗糙度(surface roughness)的细节几何结构上。
粗糙度:从微观角度来看,几乎没有完全光滑的表面;微观尺度的表面几何是通过一组微平面(microfacets)集合来建模的;粗糙度通过微平面法向的统计分布来表达的
菲涅尔项(Fresnel Term)
在实际应用中,我们发现,单向反射性在擦地角(grazing angles)附近增大
入射光的反射量是由从麦克斯韦电磁波方程组中得到的菲涅尔公式得到的。
菲涅尔项(Fresnel Term)
定义如下:
F
s
=
a
2
+
b
2
−
2
a
cos
θ
+
cos
2
θ
a
2
+
b
2
+
2
a
cos
θ
+
cos
2
θ
F
p
=
F
s
a
2
+
b
2
−
2
a
sin
θ
tan
θ
+
sin
2
θ
tan
2
θ
a
2
+
b
2
+
2
a
sin
θ
tan
θ
+
sin
2
θ
tan
2
θ
2
a
2
=
(
η
2
−
κ
2
−
sin
2
θ
)
2
+
4
η
2
κ
2
+
(
η
2
−
κ
2
−
sin
2
θ
)
2
b
2
=
(
η
2
−
κ
2
−
sin
2
θ
)
2
+
4
η
2
κ
2
−
(
η
2
−
κ
2
−
sin
2
θ
)
η
=
η
m
η
a
+
κ
m
κ
a
η
a
2
+
κ
a
2
κ
=
η
a
κ
m
−
η
m
κ
a
η
a
2
+
κ
a
2
\begin{aligned} F_s &= \frac{a^2+b^2-2a\cos\theta +\cos^2\theta}{a^2+b^2+2a\cos\theta +\cos^2\theta}\\ F_p &= F_s\frac{a^2+b^2-2a\sin\theta\tan\theta+\sin^2\theta\tan^2\theta}{a^2+b^2+2a\sin\theta\tan\theta+\sin^2\theta\tan^2\theta} \\ 2a^2 &= \sqrt{(\eta^2-\kappa^2-\sin^2\theta)^2+4\eta^2\kappa^2} +(\eta^2 - \kappa^2 - \sin^2 \theta) \\ 2b^2 &= \sqrt{(\eta^2-\kappa^2-\sin^2\theta)^2+4\eta^2\kappa^2} -(\eta^2 - \kappa^2 - \sin^2 \theta)\\ \eta &= \frac{\eta_m\eta_a+\kappa_m\kappa_a}{\eta^2_a+\kappa^2_a}\\ \kappa &= \frac{\eta_a\kappa_m-\eta_m \kappa_a}{\eta^2_a+\kappa^2_a} \end{aligned}
FsFp2a22b2ηκ=a2+b2+2acosθ+cos2θa2+b2−2acosθ+cos2θ=Fsa2+b2+2asinθtanθ+sin2θtan2θa2+b2−2asinθtanθ+sin2θtan2θ=(η2−κ2−sin2θ)2+4η2κ2+(η2−κ2−sin2θ)=(η2−κ2−sin2θ)2+4η2κ2−(η2−κ2−sin2θ)=ηa2+κa2ηmηa+κmκa=ηa2+κa2ηaκm−ηmκa
菲涅耳反射率:
F
=
F
p
+
F
s
2
F=\frac{F_p+F_s}{2}
F=2Fp+Fs
Cook-Torrance 模型
由 Cook 和 Torrance 提出[ A Reflectance Model for Computer Graphics, ACM SIGGRAPH, 1981]
在图形学中使用最早的 BRDF 物理模型
是应用物理学家开发的 Torrance-Sparrow 模型的一个应用版本。[Theory for Off-Specular Reflection from Roughened Surfaces, J.Optical Society of America, 1975]
假设微平面是镜面反射的
微平面被假定按如图所示
V
V
V形沟槽排列。
结合 Lambertian 漫反射项与微平面反射的镜面反射项:
f
λ
=
d
ρ
d
π
+
s
F
λ
D
G
4
π
(
n
⋅
l
)
(
n
⋅
v
)
f_\lambda = d\frac{\rho_d}{\pi}+s F_\lambda\frac{DG}{4\pi(n\cdot l)(n\cdot v)}
fλ=dπρd+sFλ4π(n⋅l)(n⋅v)DG
这里的
F
λ
F_\lambda
Fλ 是菲涅尔因子,
D
D
D是微平面法向的分布函数,
G
G
G 是几何衰减因子,
s
s
s,
d
d
d 是镜面反射和漫反射系数。
微平面法向的分布函数
D
D
D
由于微平面只有镜面反射,只有那些法向沿着平分线方向
h
h
h的才对镜面反射起作用。
采用 Bechmann 分布来描述:
D
(
h
)
=
1
m
2
cos
4
β
e
−
tan
2
β
m
2
D(h) = \frac{1}{m^2\cos^4\beta}e^{-\frac{\tan^2\beta}{m^2}}
D(h)=m2cos4β1e−m2tan2β
其中,
m
m
m 是表面的粗糙度值,
β
\beta
β是
n
n
n 和
h
h
h 的夹角
几何衰减系数
G
G
G(Geometric Attenuation Factor)
考虑来自视角方向的遮挡效果和来自光线方向的阴影效果
用于排除被遮挡的(masked)和阴影覆盖的(shadowing)微平面,G定义如下:
G
(
n
,
l
,
v
)
=
min
{
1
,
2
(
n
⋅
h
)
(
n
⋅
v
)
(
v
⋅
h
)
,
2
(
n
⋅
h
)
(
n
⋅
l
)
(
v
⋅
h
)
}
G(n,l,v)=\min \left \{1, \frac{2(n\cdot h)(n\cdot v)}{(v\cdot h)}, \frac{2(n\cdot h)(n\cdot l)}{(v\cdot h)} \right\}
G(n,l,v)=min{1,(v⋅h)2(n⋅h)(n⋅v),(v⋅h)2(n⋅h)(n⋅l)}
这种对微平面遮挡和阴影的考虑使得可以产生某些反射特性
一个是反射方向不在镜面方向的反射(off-specular reflection)
另一个是逆反射(retroreflection)
反射方向不在镜面方向的反射(Off-specular reflection)
- 反射方向不在镜面反射方向上
- 这是典型的粗糙表面的特征
逆反射(Retroreflection)
- 很大一部分光线沿着反方向返回
- 例如下图中的满月图片,边缘看起来和中心一样明亮
Cook-Torrance模型与Phong模型的结果对比
更多的 Cook-Torrance 模型示例结果
其它的物理模型
BRDF可分为两类
- 各向同性(Isotropic)
- 反射不受与给定表面法向夹角的约束
- 随机表面微结构 - 各项异性(Anisotropic)
- 反射比随着与某个给定的表面法向之间的夹角而变化
- 图案的表面微结构
- 金属丝,绸缎,毛发
Ward 模型
然而,Phong 和 Cook-Torrance BRDF 模型都不能处理各项异性的效果
现在我们介绍另一种 BRDF 模型:Ward 模型
- Ward 模型由 Ward 于 1992 年提出[Measuring and Modeling Anisotropic Reflection, ACM SIGGRAPH, 1992]
- 介绍了一种更一般的表面法向表达方式:通过椭圆体(ellispsoids)这种允许各向异性反射的形式来表达
- 然而,由于没有考虑菲涅尔因子(Fresnel factor)和几何衰减因子(Geometric attenuation factor),该模型更像是一种经验模型
各向同性的 Ward 模型定义为:
ρ
b
d
i
s
o
(
θ
i
,
ϕ
i
,
θ
i
,
ϕ
r
)
=
ρ
d
π
+
ρ
s
⋅
1
cos
θ
i
cos
θ
r
⋅
e
−
tan
2
σ
α
2
4
π
α
2
\rho _{bd\ iso}(\theta_i,\phi_i, \theta_i,\phi_r)=\frac{\rho_d}{\pi}+\rho_s \cdot \frac{1}{\sqrt{\cos \theta_i \cos \theta_r}}\cdot \frac{e^{-\tan^2{\frac{\sigma}{\alpha^2}}}}{4\pi \alpha^2}
ρbd iso(θi,ϕi,θi,ϕr)=πρd+ρs⋅cosθicosθr1⋅4πα2e−tan2α2σ
其中:
ρ
d
\rho_d
ρd是漫反射系数
ρ
s
\rho_s
ρs是镜面反射系数
σ
\sigma
σ是
n
^
\hat{n}
n^和
h
^
\hat{h}
h^的夹角
α
\alpha
α 是表面坡度的标准差
将菲涅尔因子和几何衰减因子替换为一个用于保证分布在整个半球内积分的简单归一化项。
各向异性的 Ward 模型定义为:
ρ
b
d
(
θ
i
,
ϕ
i
,
θ
r
,
ϕ
r
)
=
ρ
d
π
+
ρ
s
⋅
1
cos
θ
i
cos
θ
r
⋅
exp
[
−
tan
2
σ
(
cos
2
ϕ
/
α
x
2
+
sin
2
ϕ
/
α
y
2
)
]
4
π
α
x
α
y
\rho_{bd}(\theta_i,\phi_i,\theta_r,\phi_r)=\frac{\rho_d}{\pi}+\rho_s\cdot \frac{1}{\sqrt{\cos \theta_i\cos\theta_r}}\cdot \frac{\exp[-\tan^2\sigma(\cos^2\phi/\alpha_x^2 + \sin^2\phi / \alpha_y^2)]}{4\pi\alpha_x\alpha_y}
ρbd(θi,ϕi,θr,ϕr)=πρd+ρs⋅cosθicosθr1⋅4παxαyexp[−tan2σ(cos2ϕ/αx2+sin2ϕ/αy2)]
其中:
ρ
d
\rho_d
ρd是漫反射系数
ρ
s
\rho_s
ρs是镜面反射系数
σ
\sigma
σ是
n
^
\hat{n}
n^和
h
^
\hat{h}
h^的夹角
α
x
\alpha_x
αx是
x
^
\hat{x}
x^方向表面坡度的标准差
α
y
\alpha_y
αy是
y
^
\hat{y}
y^方向表面坡度的标准差
ϕ
\phi
ϕ 是
h
^
\hat{h}
h^投影到表面的方位角
Word 模型示例结果
更多的BRDF类模型
Oren-Nayar模型[Generalization of Lambert’s Reflectance Model ACM SIGGRAPH, 1994]
- 将微平面当做 Lambertian 反射体而不是镜子
Poulin-Fournier 模型[ A Model for Anisotropic Reflection, ACM SIGGRAPH, 1990]
- 将微平面的法向表示为一组平行的圆柱体,同样处理各项异性的情况
波动光学(Wave optic)相关模型
- 由波动光学原理发展而来
- 材料的微平面大小和光的波长相当
- 基于不同的衍射(diffraction)理论,有两个工作[He, etal., A Comprehensive Physical Model for Light Reflection, ACM SIGGRAPH, 1991] 和 [Stam, Diffraction Shaders, ACM SIGGRAPH, 1999]
-虽然有很强的描述能力,但由于模型本身过于复杂而限制了它们的应用
由波动光学相关的模型得到的效果:
数据驱动的模型
度量一个大的材料集合的 BRDF,并将其记录为高维向量
利用降维方法从这些数据中计算一个低维流型
代表性工作:Matusik et al. [A Data-Driven Reflectance Model, ACM SIGGRAPH, 2003]
BRDF 模型表达形式的对比
经验模型(Empirical Models):
- 计算简单,可以产生视觉上可接受的结果
物理模型(Physical-Based Models):
- 参数具有物理意义
- 基于科学知识构建
数据驱动模型(Data-driven Models):
- 灵活,对材料属性没有假设限定
- 很大的数据集,通常需要数据降维方法来压缩数据
- Needs interpolating data, missing high light parts
BRDF度量、评价
动机
- 为了对具有未知反射属性的材料进行建模,并生成具有高度真实感的结果
- 恢复 BRDF 和其它场景属性的过程有时也被称作逆渲染
- BRDF 度量概述
- 度量设备
- 实际获取中的问题
度量设备
- 由于 BRDF 是一个关于光线和视角的函数,其度量可通过对 2D 光照空间和2D视角空间进行采样获取。
测量设备:Light Stage
- Debevec et al. [SIGGRAPH 2000]
- 从固定物体(或人)上采集 BRDF
- 从少数的几个视角拍摄 2000 多个不同光源方向条件下的图像
- 从所有图像点上同时获取清楚的BRDF
测量设备:Gonioreflectometer
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)