图形学笔记(十四)光线追踪4——蒙特卡洛(Monte Carlo)积分、路径追踪详细过程(Whitted-Style的问题于RR(俄罗斯轮盘赌)算法、Ray Generation)、照片级真实感渲染 图形学笔记(十六)渲染的高级问题 —— BDPT、MLT、光子映射、VCM、IR、散射介质、毛发材质(双圆柱模型)、次表面散射、布料渲染
文章目录
1 外观和材质2 反射和折射2.1 Perfect Specular Reflection 完全镜面反射2.2 Specular Refraction 折射2.2.1 Snell's Law 折射定律2.2.2 Snell's Window / Circle
2.3 Fresnel Refection / Term 菲涅尔项2.3.1 概览2.3.2 Fresnel Term 公式
3 常见材质3.1 Diffuse / Lambertian Material 漫反射材质3.2 Glossy material(BDRF)3.3 Ideal reflective / refractive material(BSDF*)3.4 Microfacet Material 微表面材质3.4.1 概览3.4.2 Microfacet Theory微表面原理3.4.3 Microfacet BRDF
3.5 Isotropic / Anisotropic Material (BRDFs) 各项同性/各向异性材质3.5.1 概览3.5.2 各向同性与各向异性的区别
4 BRDFs 的性质5 测量BRDFs5.1 动机5.2 测量方法5.2 测量算法5.3 表示BRDF5.3.1 需要的特性5.3.2 Tabular Representation 表格化表示
1 外观和材质
外观是光照和材质共同作用的结果。
由于材质不同,光线作用后会得到不同的结果,同样的模型会渲染出不同的结果。
渲染方程中,由brdf来决定材质。所以,Material == BRDF
2 反射和折射
2.1 Perfect Specular Reflection 完全镜面反射
对于完全镜面反射,有两种辨别方法:
入射光方向=出射光方向,它们中间是法线。
把角度投影到局部坐标系,从上往下看,入射角和出射角相反。
反射方向的计算方法:
2.2 Specular Refraction 折射
2.2.1 Snell’s Law 折射定律
由折射定律,
η
\eta
η是不同材质的折射率,有,
η
i
sin
θ
i
=
η
t
sin
θ
t
\eta_i\sin\theta_i=\eta_t\sin\theta_t
ηisinθi=ηtsinθt
从上面看,入射的
ϕ
\phi
ϕ和折射的$\phi满足下面的关系。 如果入射介质的折射率大于折射介质的折射率就会发生全反射。
2.2.2 Snell’s Window / Circle
由于全反射现象,从空气打到水面的光线超过一定角度就无法进入人眼,形成了下面的Snell’s Window / Circle 现象。
2.3 Fresnel Refection / Term 菲涅尔项
2.3.1 概览
反射与入射光的角度有关。 下图是Dielectric,
η
=
1.5
\eta=1.5
η=1.5的Fresnel Term(虚线表示两个极化),可以观察到入射角与法线的夹角越大越容易发生发射。 下图是导体的Fresnel Term。
2.3.2 Fresnel Term 公式
精确公式:需要考虑极化(polarization)
近似公式:Schlick’s approximation
3 常见材质
3.1 Diffuse / Lambertian Material 漫反射材质
在漫反射中,光被到达后会被均匀的反射到四面八方。
现在假设进来的光也是均匀的,即来自各个角度的irradiance是相同的。那么如果表面不吸收光,那么入射和出射的irradiance,且入射和出射都是均匀(uniform)的,那么入射光和出射光的radiance也是相同的。 由渲染方程,有
L
o
(
ω
o
)
=
∫
H
2
f
r
L
i
(
ω
i
)
cos
θ
i
d
ω
i
L_o(\omega_o)=\int_{H^2}f_rL_i(\omega_i)\cos\theta_id\omega_i
Lo(ωo)=∫H2frLi(ωi)cosθidωi
L
i
L_i
Li是radiance是常数,
f
r
f_r
fr为diffuse也是常数。把它们提到积分外,
L
o
(
ω
o
)
=
f
r
L
i
∫
H
2
cos
θ
i
d
ω
i
L_o(\omega_o)=f_rL_i\int_{H^2}\cos\theta_id\omega_i
Lo(ωo)=frLi∫H2cosθidωi 计算后面式子半球的定积分,
L
o
(
ω
o
)
=
π
f
r
L
i
L_o(\omega_o)=\pi f_r L_i
Lo(ωo)=πfrLi 又由于入射的radiance=出射的radiance,所以我们得到完全不吸收能量的brdf,
f
r
=
1
π
f_r=\frac{1}{\pi}
fr=π1
定义一个反射率albedo(color)——
ρ
\rho
ρ
f
r
=
ρ
π
f_r=\frac{\rho}{\pi}
fr=πρ tip:漫反射材质的
f
r
f_r
fr是个常数,且
f
r
≤
1
π
f_r\le\frac{1}{\pi}
fr≤π1
3.2 Glossy material(BDRF)
glossy material是被打磨的铜镜之类的材质效果,是较为模糊的镜面,BRDF的反射方向集中在一个小范围内。
3.3 Ideal reflective / refractive material(BSDF*)
此种材质同时具有反射和折射,可以使用BSDF来表示这种材质(同时考虑反射和折射)。
B
S
D
F
=
B
R
D
F
+
B
T
D
F
BSDF=BRDF+BTDF
BSDF=BRDF+BTDF
3.4 Microfacet Material 微表面材质
3.4.1 概览
基本思想 如果离一个物体足够远,那么就看不到表面的细节,取而代之的是表面上的物体对表面的作用,即对光总体的效应。
例子 如下图太阳找到澳大利亚,澳大利亚的不同地形反映出来的是一个比较亮的材质。
3.4.2 Microfacet Theory微表面原理
微表面模型认为从远处看到的是材质外观,从近处看到的几何。
关键 研究微表面法线的分布。如下图所示,不同的法线分布会产生不同的材质,法线分布集中就是glossy、分散就是diffuse。
3.4.3 Microfacet BRDF
Microfacet BRDF主要由三项构成。
Fresnel term:不同入射方向带来不同程度的反射,侧重能量。distribution of normals:法线分布,表示对于给定方向分布的值是多少。结合半程向量h就可以确定什么样的微表面可以从入射反射到出射(半程向量离法线越近越能反射)。shadowing-masking term:几何项,由于自遮挡现象使得有些微表面的作用。当光线几乎平着的打到微表面就容易发生shadow-masking。
3.5 Isotropic / Anisotropic Material (BRDFs) 各项同性/各向异性材质
3.5.1 概览
各向异性会产生如下效果。 关键 各向异性的表面的法线分布具有方向性。
3.5.2 各向同性与各向异性的区别
定义 如果BRDF不满足在方位角上旋转得到的还是相同的BRDF,则称为是各向异性材质。
简单来说各向同性的brdf只和相对的方位角有关,而各向异性材质不止和相对方位角有关还和绝对方位角有关。
f
r
=
(
θ
i
,
ϕ
i
;
θ
r
,
ϕ
r
)
≠
f
r
(
θ
i
,
θ
r
,
ϕ
r
−
ϕ
i
)
f_r=(\theta_i,\phi_i;\theta_r,\phi_r)\neq f_r(\theta_i,\theta_r,\phi_r-\phi_i)
fr=(θi,ϕi;θr,ϕr)=fr(θi,θr,ϕr−ϕi)
如图所示左边的求各向同性,右边的球各向异性。 下面的材质都是各项异性。
4 BRDFs 的性质
BRDF是非负的
f
r
(
ω
i
→
ω
r
)
≥
0
f_r(\omega_i\to\omega_r)\ge0
fr(ωi→ωr)≥0
线性:brdf可以拆分
L
r
(
p
,
ω
r
)
=
∫
H
2
f
r
(
p
,
ω
i
→
ω
r
)
L
i
(
p
,
ω
i
)
cos
θ
i
d
ω
i
L_r(p,\omega_r)=\int_{H^2}f_r(p,\omega_i\to\omega_r)L_i(p,\omega_i)\cos\theta_id\omega_i
Lr(p,ωr)=∫H2fr(p,ωi→ωr)Li(p,ωi)cosθidωi
具有可逆性(Reciprocity):交换入射方向和出射方向的角色,得到相同的brdf。
f
r
(
ω
r
→
ω
i
)
=
f
r
(
ω
i
→
ω
r
)
f_r(\omega_r\to\omega_i)=f_r(\omega_i\to\omega_r)
fr(ωr→ωi)=fr(ωi→ωr)
能量守恒(Energy conservation)
∀
ω
r
∫
H
2
f
r
(
ω
i
→
ω
r
)
cos
θ
i
d
ω
i
≤
1
\forall\omega_r\int_{H^2}f_r(\omega_i\to\omega_r)\cos\theta_id\omega_i\le1
∀ωr∫H2fr(ωi→ωr)cosθidωi≤1
各向同性与各向异性 如果是各向同性
f
r
=
(
θ
i
,
ϕ
i
;
θ
r
,
ϕ
r
)
=
f
r
(
θ
i
,
θ
r
,
ϕ
r
−
ϕ
i
)
f_r=(\theta_i,\phi_i;\theta_r,\phi_r)= f_r(\theta_i,\theta_r,\phi_r-\phi_i)
fr=(θi,ϕi;θr,ϕr)=fr(θi,θr,ϕr−ϕi) 由于可逆性(reciprocity)
f
r
=
(
θ
i
,
θ
r
,
ϕ
r
−
ϕ
i
)
=
f
r
(
θ
r
,
θ
i
,
ϕ
i
−
ϕ
r
)
=
f
r
(
θ
i
,
θ
r
,
∣
ϕ
r
−
ϕ
i
∣
)
f_r=(\theta_i,\theta_r,\phi_r-\phi_i)= f_r(\theta_r,\theta_i,\phi_i-\phi_r)= f_r(\theta_i,\theta_r, |\phi_r-\phi_i|)
fr=(θi,θr,ϕr−ϕi)=fr(θr,θi,ϕi−ϕr)=fr(θi,θr,∣ϕr−ϕi∣)
5 测量BRDFs
只有测量出的BRDF才是真正的BRDF。
5.1 动机
避免计算brdf模型,只要测量出来就可以用。计算的不一定准确,但测量能准确的得出真实世界的材质。
5.2 测量方法
测量BRDF就是让光影和相机从各个方向去照去拍。
下图是测量工具:gonioreflectometer,可以精确到0.1°的级别。
5.2 测量算法
foreach outgoing direction wo
move light to illuminate surface with a thin beam from wo
foreach incoming direction wi
move senser to be at direction wi from surface
measure incident radiance
改善
各向同性把维度从4维减少到了3维使用可逆性减少了一般的测量使用更加巧妙的光学测量
5.3 表示BRDF
5.3.1 需要的特性
紧凑的表示测量数据的准确表示对随意一对方向的高效预测可用于重要性抽样的良好分布
5.3.2 Tabular Representation 表格化表示
把规则空间采样存储到三维数组
(
θ
i
,
θ
o
,
∣
ϕ
i
−
ϕ
o
∣
)
(\theta_i,\theta_o,|\phi_i-\phi_o|)
(θi,θo,∣ϕi−ϕo∣)里。
参数化角度以更好地匹配镜面反射。
一般需要将测量值重新采样到表格中。
材质库: MERL BRDF