微表面理论(Microfacet Theory)是**基于物理的渲染(PBR)**的核心理论之一,用于描述粗糙表面对光的散射行为。它假设物体表面由许多微小的镜面反射面(微表面)组成,这些微表面的朝向分布决定了光在宏观尺度上的反射特性。
核心思想
- 微表面假设:
- 表面由大量微小的镜面反射面(微面)组成。
- 每个微面独立地反射光线,但宏观表现由微面朝向的统计分布决定。
- 粗糙度越高,微面朝向越分散;光滑表面微面朝向更一致。
- 关键要素:
- 法线分布函数(Normal Distribution Function, NDF):描述微面朝向的统计分布(如GGX、Beckmann)。
- 几何衰减因子(Geometry Attenuation):模拟微面间的遮挡和阴影(如Smith模型)。
- 菲涅尔效应(Fresnel Effect):描述反射率随入射角的变化(如Schlick近似)。
核心公式
微表面模型的BRDF(双向反射分布函数)通常表示为: [ f_r(\omega_i, \omega_o) = \frac{D(\omega_h) \cdot G(\omega_i, \omega_o) \cdot F(\omega_i, \omega_h)}{4 \cdot (n \cdot \omega_i) \cdot (n \cdot \omega_o)} ] 其中:
- (D(\omega_h)):法线分布函数,决定高光形状。
- (G(\omega_i, \omega_o)):几何衰减因子,处理微面间的遮挡。
- (F(\omega_i, \omega_h)):菲涅尔项,控制反射强度。
- ωhωh:微面法线(半程向量),ωh=∥ωi+ωo∥ωi+ωo。
ωh=ωi+ωo∥ωi+ωo∥
1. 法线分布函数(NDF)
NDF描述微面法线的分布,决定高光的大小和形状。常见模型:
- GGX(Trowbridge-Reitz):DGGX(ωh)=π((ωh⋅n)2(α2−1)+1)2α2
- αα:粗糙度参数,值越大表面越粗糙。
- 特点:长尾分布,模拟光滑表面的柔和高光拖尾。
DGGX(ωh)=α2π((ωh⋅n)2(α2−1)+1)2
- Beckmann:DBeckmann(ωh)=πα2cos4θhe−tan2θh/α2
- 更接近物理测量,但高光衰减较快。
DBeckmann(ωh)=e−tan2θh/α2πα2cos4θh
2. 几何衰减因子(G项)
G项模拟微面间的遮挡(阴影和遮蔽),防止光线被多次反射。常用Smith模型: [ G(\omega_i, \omega_o) = G_1(\omega_i) \cdot G_1(\omega_o) ] 其中:
- Smith-GGX:G1(ω)=(n⋅ω)+α2+(1−α2)(n⋅ω)22(n⋅ω)
- 在掠射角(grazing angle)时衰减更明显。
G1(ω)=2(n⋅ω)(n⋅ω)+α2+(1−α2)(n⋅ω)2
3. 菲涅尔效应(F项)
菲涅尔项描述光线反射率随入射角的变化,Schlick近似为: [ F(\omega_i) = F_0 + (1 - F_0)(1 - (\omega_i \cdot \omega_h))^5 ]
- F0F0:垂直入射时的基础反射率(金属约0.5-1.0,非金属约0.02-0.05)。
- 掠射角(入射角接近90°)时反射率趋近于1。
能量守恒
微表面理论通过以下方式保证能量守恒:
- NDF归一化:积分所有方向的微面法线分布为1。
- 几何衰减:避免光线被多次反射(单次反射假设)。
- 菲涅尔效应:反射光强与入射角相关,透射部分由1 - F决定。
实际应用
- 材质参数:
- 粗糙度(Roughness):控制NDF的宽度(α)。
- 金属度(Metallic):决定菲涅尔项F0(金属与非金属差异)。
α
F0
- 各向异性:通过修改NDF(如各向异性GGX)模拟拉丝金属等效果。
- 清漆层:多层微表面模型(如汽车漆)需叠加不同粗糙度的BRDF。
优势
- 物理正确性:基于真实光学现象(菲涅尔、粗糙度)。
- 能量守恒:避免人工调整参数导致过亮或过暗。
- 多尺度一致性:适用于不同粗糙度的材质(从镜面到漫反射)。
局限性
- 单次散射假设:忽略微面间的多次反射(可通过额外项近似)。
- 计算复杂度:实时渲染中需权衡精度与性能(如使用近似NDF或预计算)。
微表面理论通过数学建模微观结构,使PBR能够高效且逼真地模拟复杂材质的光照行为。