Lecture17 Materials and Appearances
- 材质 == BRDF
- 一、Diffuse/Lambertian Material
- 二、Glossy Material
- 三、Ideal reflective/ refractive Material (BSDF)
- 1.镜面反射
- 2.镜面折射
- 3.菲涅尔项 Fresnel
- 四、Microfacet BRDF 微表面
- 五、Isotropic / Anisotropic Materials (BRDFs)
- Anisotropic BRDFs
- 六、BRDF的属性
- 1.非负性
- 2.线性
- 3.可逆性(互易性)
- 4.能量守恒
- 5.Isotropic vs. anisotropic
- 七、测量BRDF
- 一般方法
- 提高效率
材质 == BRDF
一、Diffuse/Lambertian Material
- 漫反射材质的BRDF为c(常数)—— 反射率 —— 通常表示为 材质的反射颜色
- 光线进来会被均匀地漫反射出去
- 假设 入射光照是均匀的( f r L i ( ω i ) f_{r}L_{i}(ω_{i}) frLi(ωi)为常数)
- L o ( ω o ) = ∫ H 2 f r L i ( ω i ) c o s θ i d ω i = f r L i ∫ H 2 c o s θ i d ω i = π f r L i L_{o}(ω_{o}) = \int_{H^{2}}^{}f_{r}L_{i}(ω_{i})cosθ_{i}dω_{i} = f_{r}L_{i} \int_{H^{2}}^{}cosθ_{i}dω_{i} = \pi f_{r}L_{i} Lo(ωo)=∫H2frLi(ωi)cosθidωi=frLi∫H2cosθidωi=πfrLi
- 又因为 入射光线 = 出射光线 → \rightarrow → f r = 1 π f_{r} = \frac{1}{\pi} fr=π1
- 得到 f r = ρ π f_{r} = \frac{ρ}{\pi} fr=πρ (ρ为albedo(color),范围在0~1),范围在 0 ∼ 1 π 0\sim \frac{1}{\pi} 0∼π1
二、Glossy Material
- 多少有一点点镜面
三、Ideal reflective/ refractive Material (BSDF)
- BSDF双向散射分布函数,描述了光线在物体表面反射和折射的行为 = BRDF(反射) + BTDF(折射)
1.镜面反射
- 入射角 = 反射角
- ω o + ω i = 2 c o s θ n ⃗ = 2 ( ω i ⋅ n ⃗ ) n ⃗ → ω o = − ω i + 2 ( ω i ⋅ n ⃗ ) n ⃗ ω_{o}+ω_{i} = 2cos\theta\vec{n} = 2(ω_{i} \cdot\vec{n})\vec{n} \rightarrow ω_{o} = -ω_{i} + 2(ω_{i} \cdot \vec{n})\vec{n} ωo+ωi=2cosθn=2(ωi⋅n)n→ωo=−ωi+2(ωi⋅n)n (假设 ω o 、 ω i 、 n ⃗ ω_{o}、ω_{i}、\vec{n} ωo、ωi、n是单位向量)
2.镜面折射
- 镜面折射遵循折射定律,也称为 斯涅尔定律
- η i s i n θ i = η t s i n θ t \eta_{i}sin\theta_{i} = \eta_{t}sin\theta_{t} ηisinθi=ηtsinθt ( η \eta η为两边的折射率)
- c o s θ t = 1 − s i n 2 θ t = 1 − ( η i η t ) 2 s i n 2 θ i = 1 − ( η i η t ) 2 − ( 1 − c o s 2 θ i ) cos\theta_{t} = \sqrt{1-sin^{2}\theta_{t}} = \sqrt{1-(\frac{\eta_{i}}{\eta_{t}})^{2}sin^{2}\theta_{i}} = \sqrt{1-(\frac{\eta_{i}}{\eta_{t}})^{2} -(1-cos^{2}\theta_{i})} cosθt=1−sin2θt=1−(ηtηi)2sin2θi=1−(ηtηi)2−(1−cos2θi),当 η i η t > 1 \frac{\eta_{i}}{\eta_{t}}> 1 ηtηi>1时,式子 1 − ( η i η t ) 2 s i n 2 θ i 1-(\frac{\eta_{i}}{\eta_{t}})^{2}sin^{2}\theta_{i} 1−(ηtηi)2sin2θi 就不符合根号内部 > 0,此时没有折射,全反射
3.菲涅尔项 Fresnel
- 表明反射率和折射率都取决于入射角和光的偏振状态,用于 模拟光线在物体表面的反射行为
- 反射率取决于入射角
- 数学表达式
- R 是反射率,n1 和 n2 分别是两种介质的折射率
四、Microfacet BRDF 微表面
- 将物体表面视为由无数微小的、镜面反射 的微表面组成(远处看认为是个平面)
- 当半程向量 h 与法线方向重合时才能沿出射方向反射(粗糙表面半程向量 h 不会完全等于表面的法线 n)
- 微表面BRDF公式主要由三个部分 : 菲涅尔项 F ( i , h ) F(i,h) F(i,h),遮挡-遮蔽项(自遮挡) G ( i , o , h ) G(i,o,h) G(i,o,h),半程向量(描述微表面法线分布情况) D ( h ) D(h) D(h)
- f ( i , o ) = F ( i , h ) G ( i , o , h ) D ( h ) 4 ( n , i ) ( n , o ) f(i,o) = \frac{F(i,h)G(i,o,h)D(h)}{4(n,i)(n,o)} f(i,o)=4(n,i)(n,o)F(i,h)G(i,o,h)D(h)
五、Isotropic / Anisotropic Materials (BRDFs)
- 区分这两种材质的关键在于 表面法线的方向性
Anisotropic BRDFs
- 各向异性材质的表面法线分布存在明显的方向性(例如沿着某个方向排列)
- BRDF 的值不仅取决于 wi 和 wo 之间的夹角 (i, r),还取决于 wi 和 wo 的具体方向,例如,沿着某个方向的反射强度会更强
六、BRDF的属性
1.非负性
- BRDF 的值必须大于等于 0 → \rightarrow → 反射光线的亮度 ≤ \le ≤ 入射光线的亮度 (因为反射光线是由入射光线引起的)
- f r ( ω i → ω r ) ≥ 0 fr(ω_{i} \rightarrow ω_{r}) \ge 0 fr(ωi→ωr)≥0
2.线性
- 反射光线的亮度与入射光线的亮度成正比 → \rightarrow → 入射光线的亮度增加,反射光线的亮度也会相应地增加
- L r ( p , ω r ) = ∫ H 2 f r ( p , ω i → ω r ) L i ( p , ω i ) c o s θ i d ω i L_{r}(p,ω_{r}) = \int_{H^{2}}^{}f_{r}(p,ω_{i} \rightarrow ω_{r})L_{i}(p,ω_{i})cosθ_{i}dω_{i} Lr(p,ωr)=∫H2fr(p,ωi→ωr)Li(p,ωi)cosθidωi
3.可逆性(互易性)
- 光线在介质中的传播是可逆的
-
f
r
(
ω
i
→
ω
r
)
=
f
r
(
ω
r
→
ω
i
)
fr(ω_{i} \rightarrow ω_{r}) = fr(ω_{r} \rightarrow ω_{i})
fr(ωi→ωr)=fr(ωr→ωi)
4.能量守恒
- 对于任何方向 ωr,反射光线的亮度不会超过入射光线的亮度
- ∀ ω r ∫ H 2 f r ( p , ω i → ω r ) c o s θ i d ω i ≤ 1 {\forall}ω_{r}\int_{H^{2}}^{}f_{r}(p,ω_{i} \rightarrow ω_{r})cosθ_{i}dω_{i} \le 1 ∀ωr∫H2fr(p,ωi→ωr)cosθidωi≤1
5.Isotropic vs. anisotropic
- 如果是各向同性,那么它 只依赖于两个方向之间的夹角,而不依赖于这两个方向各自的具体方向
- 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)
- 又因为互易性
- f r ( θ i , θ r , ϕ r − ϕ i ) = f r ( θ i , θ r , ϕ i − ϕ r ) = f r ( θ i , θ r , ∣ ϕ r − ϕ i ∣ ) f_{r}(\theta_{i},\theta_{r},\phi_{r}-\phi_{i}) = f_{r}(\theta_{i},\theta_{r},\phi_{i}-\phi_{r}) = f_{r}(\theta_{i},\theta_{r},|\phi_{r}-\phi_{i}|) fr(θi,θr,ϕr−ϕi)=fr(θi,θr,ϕi−ϕr)=fr(θi,θr,∣ϕr−ϕi∣)
- 意味着BRDF 的值只取决于入射光线和反射光线之间的夹角 θi 和 θr,以及这两个方向 在水平面上的投影之间的夹角 |φr - φi|
七、测量BRDF
- 可以避免建立复杂的物理模型,并可以准确渲染真实世界材质
一般方法
- 选择出射光方向 wo: 首先 确定一个出射光方向,即我们想要测量反射光的方向
- 移动光源: 将光源移动到与出射光方向一致的位置,并照射目标材质
- 遍历入射光方向 wi: 对于每个可能的入射光方向,将传感器移动到该方向,并测量反射光的强度
- 重复: 重复以上步骤,直到测量完所有感兴趣的出射光方向和入射光方向组合
提高效率
- 各向同性表面: 如果目标材质是各向同性的,即反射特性与方向无关,则可以将 BRDF 的维度从 4D 降低到 3D,从而减少测量次数
- 互易原理: 互易原理表明,BRDF 满足 f r ( ω r , ω i ) = f r ( ω i , ω r ) f_{r}(ω_{r}, ω_{i}) = f_{r}(ω_{i}, ω_{r}) fr(ωr,ωi)=fr(ωi,ωr),即入射光方向和出射光方向互换时,BRDF 的值不变,利用这一原理,可以将测量次数减少一半
- 巧妙的光学系统: 设计巧妙的光学系统,例如旋转光源和传感器,可以进一步提高测量效率