Lazy loaded image
PBR中的直接光照和间接光照
Words 1068Read Time 3 min
2025-3-11
在基于物理的渲染(PBR)中,直接光照和间接光照的漫反射(Diffuse)与高光(Specular)部分分别遵循物理规律,并通过能量守恒原则进行组合。以下是它们的详细解释:

一、直接光照(Direct Lighting)

直接光照指光线直接从光源到达物体表面后的反射,包含漫反射和高光反射。

1.1 直接光照的漫反射(Diffuse)

  • 物理模型
    • 使用 Lambert 反射模型 或更精确的 Oren-Nayar 模型(考虑粗糙表面微结构)。
    • Lambert 公式Ldiffuse=πalbedo⋅Llight⋅(nl)其中 albedo 是表面反照率,L_light 是光源辐射度,n·l 是法线与光线方向的点积。
      • Ldiffuse=albedoπ⋅Llight⋅(n⋅l)
  • 能量守恒
    • 漫反射部分的光强不超过 albedo / π,确保总反射能量不超过入射光。

1.2 直接光照的高光(Specular)

  • 物理模型fspec=4(nv)(nl)DFG
    • 基于 微表面理论,使用 Cook-Torrance BRDF,包含三个核心项:
      fspec=D⋅F⋅G4(n⋅v)(n⋅l)
    • D(法线分布函数):如 GGX,控制高光形状和粗糙度。
    • F(菲涅尔项):如 Schlick 近似,决定反射率随视角的变化。
    • G(几何遮蔽):如 Smith 函数,模拟微表面间的遮挡。
  • 能量守恒
    • 高光强度与粗糙度相关,粗糙度越高,高光越分散,峰值越低。

二、间接光照(Indirect Lighting)

间接光照指光线经过多次反射(如环境光、全局光照)后到达物体表面,同样包含漫反射和高光。

2.1 间接光照的漫反射(Diffuse)

  • 实现方式Lindirect-diffuse=albedo⋅Irradiance(n)
    • 使用 辐照度贴图(Irradiance Map) 或 球谐光照(Spherical Harmonics) 预计算环境光的漫反射贡献。
      Lindirect-diffuse=albedo⋅Irradiance(n)
    • 辐照度贴图:通过卷积环境贴图得到,表示半球内所有方向的平均光照。
  • 能量守恒
    • 漫反射间接光通常较柔和,且与直接光照的漫反射叠加后不超过表面反照率。

2.2 间接光照的高光(Specular)

  • 实现方式:L_{\text{indirect-spec}} = \text{PrefilteredEnvMap} \cdot (F \cdot \text{BRDF_LUT})
    • 使用 预过滤环境贴图(Prefiltered Environment Map) 和 BRDF LUT(查找表),基于粗糙度和视角动态采样。
    • 预过滤贴图:根据粗糙度生成不同模糊级别的环境贴图。
    • BRDF LUT:存储菲涅尔和几何项的积分结果,加速实时计算。
  • 菲涅尔效应
    • 高光在掠射角(grazing angle)时更强,金属材质的高光会保留环境颜色,而非金属的高光接近光源颜色。

三、 能量守恒与材质属性

  • 金属与非金属
    • 金属(Metal):漫反射为黑色(albedo = 0),高光反射带有颜色。
    • 非金属(Dielectric):漫反射为反照率颜色,高光为白色或单色。
  • 粗糙度(Roughness)
    • 高粗糙度表面:漫反射占比更高,高光更分散。
    • 低粗糙度表面:高光更集中,接近镜面反射。

四、 总结

  • 直接光照:精确计算光源的漫反射和高光,依赖微表面模型(Cook-Torrance)。
  • 间接光照:通过预计算技术(如 IBL)模拟环境光的漫反射和高光,结合 BRDF 积分优化性能。
  • 能量守恒:确保漫反射与高光的总能量不超过入射光,材质参数(金属度、粗糙度)控制反射行为。
通过结合直接和间接光照的漫反射与高光,PBR 能够实现高度物理真实的渲染效果。
上一篇
物理基础着色(PBS)的物理学与数学基础
下一篇
物理基础着色(PBS)的物理学与数学基础