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}) fr?Li?(ω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?)=∫H2?fr?Li?(ωi?)cosθi?dωi?=fr?Li?∫H2?cosθi?dωi?=πfr?Li?
- 又因為 入射光線 = 出射光線 → \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} ηi?sinθi?=ηt?sinθ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?)=∫H2?fr?(p,ωi?→ωr?)Li?(p,ωi?)cosθi?dω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?∫H2?fr?(p,ωi?→ωr?)cosθi?dω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 的值不變,利用這一原理,可以將測量次數減少一半
- 巧妙的光學系統: 設計巧妙的光學系統,例如旋轉光源和傳感器,可以進一步提高測量效率