PBR 微表面 BRDF 与能量守恒推导

符号约定:n\mathbf{n} 为宏观表面法线,v\mathbf{v} 为视线方向,l\mathbf{l} 为入射光方向,h=v+l∥v+l∥\mathbf{h} = \frac{\mathbf{v} + \mathbf{l}}{\|\mathbf{v} + \mathbf{l}\|} 为半程向量(微平面法线),α=roughness2\alpha = \text{roughness}^2 为重映射后的粗糙度参数。该光照模型在延迟管线中的 Pass 组织方式参见 [[FrameGraph 资源生命周期与渲染管线对比]]。

反射方程与 Cook-Torrance BRDF

不发光表面的出射辐射度由半球积分反射方程给出:

Lo(p,v)=∫Ωfr(p,l,v) Li(p,l) (n⋅l) dωiL_o(\mathbf{p}, \mathbf{v}) = \int_{\Omega} f_r(\mathbf{p}, \mathbf{l}, \mathbf{v}) \, L_i(\mathbf{p}, \mathbf{l}) \, (\mathbf{n} \cdot \mathbf{l}) \, \mathrm{d}\omega_i

在金属度-粗糙度(Metallic-Roughness)工作流中,双向反射分布函数 frf_r 拆分为漫反射项与镜面反射项:

fr(l,v)=kdcalbedoπ+D(h,α) G(n,v,l,α) F(v,h,F0)4(n⋅v)(n⋅l)f_r(\mathbf{l}, \mathbf{v}) = k_d \frac{\mathbf{c}_{\text{albedo}}}{\pi} + \frac{D(\mathbf{h}, \alpha) \, G(\mathbf{n}, \mathbf{v}, \mathbf{l}, \alpha) \, F(\mathbf{v}, \mathbf{h}, F_0)}{4 (\mathbf{n} \cdot \mathbf{v}) (\mathbf{n} \cdot \mathbf{l})}

微表面三项公式对照

物理项常用模型表达式物理含义
法线分布 DDTrowbridge-Reitz GGXDGGX(h)=α2π((n⋅h)2(α2−1)+1)2D_{\text{GGX}}(\mathbf{h}) = \frac{\alpha^2}{\pi \left( (\mathbf{n} \cdot \mathbf{h})^2 (\alpha^2 - 1) + 1 \right)^2}朝向半程向量 h\mathbf{h} 的微平面面积统计密度
几何遮蔽 GGHeight-Correlated SmithG(v,l)=2(n⋅l)(n⋅v)(n⋅v)α2+(1−α2)(n⋅l)2+(n⋅l)α2+(1−α2)(n⋅v)2G(\mathbf{v}, \mathbf{l}) = \frac{2 (\mathbf{n} \cdot \mathbf{l}) (\mathbf{n} \cdot \mathbf{v})}{(\mathbf{n} \cdot \mathbf{v})\sqrt{\alpha^2 + (1-\alpha^2)(\mathbf{n}\cdot\mathbf{l})^2} + (\mathbf{n} \cdot \mathbf{l})\sqrt{\alpha^2 + (1-\alpha^2)(\mathbf{n}\cdot\mathbf{v})^2}}微平面间自阴影与掩蔽的联合概率
菲涅尔项 FFSchlick 近似F(v,h)=F0+(1−F0)(1−(v⋅h))5F(\mathbf{v}, \mathbf{h}) = F_0 + (1 - F_0)(1 - (\mathbf{v} \cdot \mathbf{h}))^5不同掠射角下的反射能量比例