跳转到主要内容
Computer Graphics Jul 14, 2022 2 tags

基于物理的材质(光照模型)

基于物理的材质(光照模型)

cover

基于物理的渲染依然是对现实世界的近似

需要满足三个条件

微平面理论

微平面理论是 将物体表面建模成做无数微观尺度上有随机朝向的理想镜面反射的小平面(microfacet)的理论

• 基于微平面(Microfacet)的表面模型 • 能量守恒 • 应用基于物理的BRDF

能量守恒

概念:出射光线的能量 永远不能大于 入射光线的能量

表现:随着粗糙度的上升镜面反射区域的面积会增加,作为平衡,镜面反射区域的平均亮度则会下降 (下图体现了微平面理论和能量守恒)

如何能量守恒

使用反射率方程

简单理解就是,入射光的强度 * 反射比例 * 入射光的衰减 = 反射光的强度反射光的强度 + 自发光强度 = 最终出射光的强度

入射光的衰减:半角向量和法线的点积

唯一的难点就是知道反射比例是多少

BRDF(Bidirectional Reflectance Distribution Function)双向反射分布函数

计算反射比例

BSDF = BRDF + BTDF

通常写作:f_r(p,w_i,w_o)或f_r(w_i,w_r)

BRDF具体是怎么计算的

一般把反射拆分成漫反射和高光反射(因为纯镜面反射很极端,一般考虑到高光反射中)

漫反射的算法基本采用Lambert光照模型(经验模型)

BRDF中的****高光反射

以上两个是经验模型,不是真正基于物理的光照模型,但既然是经验模型,那么说明基于物理的光照模型的结果是大概类似的

基于物理的高光反射

法线分布函数(Normal Distribution Function, NDF)

估算在受到表面粗糙度的影响下,取向方向与中间向量一致的微平面的数量。这是用来估算微平面的主要函数。

之前的Blinn-Phong模型主要考虑的还是法线对反射比例的影响右图可见,GGX算法的结果更加狭长,实验的数据也证实了GGX的算法更符合真实情况

几何(遮蔽)函数

(参数:normal,viewDir,lightDir,粗糙度)

描述了微平面自成阴影的属性。当一个平面相对比较粗糙的时候,平面表面上的微平面有可能挡住其他的微平面从而减少表面所反射的光线。

我们是使用微平面理论,也就是说每个面单独计算互不干扰;但实际世界中,物体的表面的凹凸存在相互遮蔽的情况.

因此,几何函数从统计学上近似的求得了微平面间相互遮蔽的比率。 这种相互遮蔽会损耗光线的能量。(除了被吸收,还有被自身遮蔽带来的能量损耗)

菲涅尔方程

被反射的光线对比光线被折射的部分所占的比率

总结

Cook-Torrance反射率方程

迪士尼原则的BRDF

  1. 应使用直观的参数,而不是物理类的晦涩参数
  2. 参数应尽可能少
  3. 参数在其合理范围内应该为0到1
  4. 允许参数在有意义时超出正常的合理范围
  5. 所有参数组合应尽可能健壮和合理

Related Articles

继续阅读