材质与外观
现实生活中,同样的物体,其表面材质不同,光线照射上去所呈现出来的效果也截然不同。在图形学中,为了呈现出真实感,我们也需要针对不同材质的物体渲染出不同的外观。
材质对外观的影响归根结底体现为光线与表面的交互方式。在渲染方程中,这种交互由 BRDF 描述——不同的材质,对应不同的 BRDF。可以简洁地归结为:
接下来,我们从 BRDF 的回顾出发,系统地介绍图形学中的各类材质模型、菲涅耳效应、微表面理论,以及 BRDF 的测量方法。
BRDF 回顾
BRDF(Bidirectional Reflectance Distribution
Function,双向反射分布函数)是连接入射光和反射光的桥梁。它告诉你:从某个特定方向
核心公式:
这个公式的含义可以分为三部分理解:
- 输入端(分母
):材质表面实际接收到的微观能量。它由入射辐射率 和入射角余弦 共同决定。 - 材质加工(BRDF
):表面接收到这部分能量 后,材质本身的物理特性(粗糙度、金属度等)决定了能量如何被重新分配。 - 输出端(分子
):经过材质的重新分配,最终沿着观察方向 射出来的亮度。
基础材质模型
不同类型的材质有不同的反射行为,图形学中用不同的 BRDF 模型来描述它们。
漫反射材质(Diffuse / Lambertian Material)
漫反射材质的特点是光线入射后朝四面八方均匀射出——无论从哪个角度观察,看到表面的亮度都相同。
漫反射的 BRDF 是一个常数:
其中
漫反射模型适用于石膏、粉笔、毛糙织物等粗糙且不透明的表面。
光泽材质(Glossy Material)
光泽材质的表面存在微小的粗糙度,反射光线既不均匀漫射,也不是完美的镜面反射,而是集中在镜面反射方向周围的一个锥形区域内。
常见的光泽材质包括抛光后的金属铜、铝、塑料等。粗糙度越低,反射越接近镜面;粗糙度越高,反射越接近漫反射。
理想镜面反射与折射(Ideal Specular Reflective / Refractive Material)
镜面反射
理想镜面反射严格遵循反射定律:反射角等于入射角。设入射光方向为
其中入射角和反射角分别是入射光线、反射光线与表面法线的夹角。
折射
当光线穿过两种不同介质的交界面时,会发生折射。折射的规律由斯涅尔定律(Snell’s Law)精确描述:
其中
常见介质的折射率: - 真空:
折射方向
全反射(Total Internal Reflection)
当光线从光密介质(折射率较高)射向光疏介质(折射率较低),且入射角大于临界角时,光线无法折射出去,会全部反射回入射侧介质——这就是全反射现象。
临界角的计算公式可由斯涅尔定律推导(令
例如,从水底(
菲涅耳项(Fresnel Term)
观察现实世界时你会注意到一个普遍现象:物体的反射率与入射角密切相关。入射光线越接近切线方向(掠射角,Grazing Angle),反射率越高。
一个直观的例子:当你的视线接近垂直于桌面时,桌面上书本的倒影很模糊;当你的视线接近平行于桌面时,书本的倒影变得非常清晰。
不同材料的菲涅耳特性有显著差异:
绝缘体(Dielectric):垂直入射时反射率很低(如玻璃约 4%),掠射角时接近 100% 反射。表现为”正面看透明,斜着看像镜子”。
导体(Conductor / Metal):在各个角度均保持较高的反射率,曲线整体上移。因此金属即使正面看也很有光泽。
精确计算菲涅耳项需要考虑光的偏振(s 偏振和 p 偏振),使用完整的菲涅耳方程。但在实际渲染中,通常使用 Schlick 简化近似公式已足够准确:
其中
例如,空气(
对于导体,由于其折射率为复数,
微表面模型(Microfacet Model)
核心思想
微表面模型是目前基于物理渲染中最广泛使用的表面反射模型。其核心思想是:
- 宏观视角:表面看似平坦但粗糙,整体反射行为是漫反射与镜面反射的混合。
- 微观视角:表面由无数微小的微法面(Microfacets)组成,每个微法面本身都是完美的镜面反射体,各自拥有独立的微观法线。
BRDF
的形状取决于:有多少微法面的法线恰好指向半程向量方向——这些微法面才能将入射光
微表面法线分布的集中程度决定了材质的外观:
- 法线分布集中 → 表面近似镜面(Glossy)
- 法线分布分散 → 表面近似漫反射(Diffuse)
半程向量
在介绍微表面公式之前,需要先理解半程向量(Half Vector)的概念:
半程向量是入射方向
微表面 BRDF 公式
微表面模型的 BRDF 由三项核心因子相乘构成:
其中各项的含义如下:
— 菲涅耳项(Fresnel Term):描述在给定入射角下有多少光被反射(其余被折射/吸收),通常使用 Schlick 近似公式计算。它决定了反射率随角度的变化规律。 — 几何遮蔽项(Geometry / Shadowing-Masking Term):在微观尺度上,微法面之间会互相遮挡。一部分入射光被前面的微法面挡住(Shadowing),一部分反射光被挡住(Masking)。 项负责修正这种微观几何遮挡导致的能量损失。没有此项,粗糙表面在掠射角下的反射会过亮。 — 法线分布函数(NDF, Normal Distribution Function):描述微观法线在各个方向上的分布密度。它的输入是半程向量 ,输出是法线方向恰好等于 的微法面比例。NDF 的形状直接决定了高光的宽度和形态。
各向同性与各向异性材质
各向同性(Isotropic)材质:如果将表面绕其法线方向旋转,反射外观不变。其
BRDF 值仅取决于入射角
因为旋转时
各向异性(Anisotropic)材质:表面在不同切线方向上具有不同的微纳结构或粗糙度,导致反射外观随旋转而改变。其
BRDF 直接依赖于具体的方位角
典型的各向异性材质包括拉丝金属(如拉丝不锈钢)、CD 光盘表面、毛发和织物等。这些材质的共同特征是表面在某一方向上存在有规律的条纹或沟槽。
BRDF 的数学性质
一个物理正确的 BRDF 需要满足以下数学性质:
非负性(Non-negativity):
。反射的能量不可能为负值。 互易性(Reciprocity Principle / Helmholtz 互易律):
。交换入射方向和观察方向,BRDF 值保持不变。这一性质确保了光路的可逆性。 能量守恒(Energy Conservation):反射的总能量不能超过入射的总能量。对于任何入射方向
,出射方向在所有可能方向上的积分结果不得超过 : 如果积分等于
,意味着表面完全反射所有入射能量(无吸收)。大多数真实材质会吸收一部分能量(转化为热能),所以积分严格小于 。 线性(Linearity):BRDF 对入射光照是线性的,即来自不同方向的光照贡献可以独立计算后累加——这正是渲染方程中积分形式成立的基础。
BRDF 的测量
对于真实世界中的材质,直接基于物理理论推导 BRDF 极其复杂——很多材料(如汽车漆、布料、人皮肤)的微观结构难以用简单的解析模型精确描述。因此,直接测量真实材质的 BRDF 数据是实现逼真渲染的重要手段。
BRDF 的测量需要一个能够精确控制入射方向和观察方向的装置(Gonioreflectometer,角度反射仪)。其基本工作流程如下:
- 固定入射方向:使用准直光源从特定方向
照亮材质样本。 - 扫描观察方向:用探测器在半球空间的各个观察方向
上测量反射辐射率。 - 记录数据:对所有
的排列组合重复测量,得到完整的四维 BRDF 数据。
实测得到的 BRDF 数据被广泛收录于材质数据库(如 MERL BRDF Database),在电影特效、工业设计和文化遗产数字化等领域有重要应用。
总结
材质与外观的本质是对光线与表面交互方式的建模:
- BRDF 是描述材质反射行为的核心数学工具——不同材质 = 不同 BRDF。
- 基础材质模型提供了从简单到精确的分层描述:Lambertian
漫反射
Glossy 光泽 理想镜面反射/折射。 - 菲涅耳项解释了反射率随角度的变化,Schlick 近似是实践中最高效的计算方式。
- 微表面模型是当代 PBR 的基石——通过法线分布函数
、几何遮蔽项 和菲涅耳项 ,从微观几何出发推导宏观反射。 - 各向同性与各向异性扩展了 BRDF 的表达能力,使其能描述拉丝金属、毛发等复杂材质。
- BRDF 测量为无法解析推导的真实材质提供了数据驱动的替代方案。
这次的插图来自画师 WopGnop
图片地址:https://www.pixiv.net/artworks/133309854