3D图形学(5):BRDF经验模型和基于物理的BRDF模型

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq826364410/article/details/88932140

内容引自《Real Time Rendering 3rd》

一、BRDF 双向反射分布函数

在计算机图形学中,BRDF(Bidirectional Reflectance Distribution Function,双向反射分布函数)是真实感图形学中最核心的概念之一,它描述的是入射光线经过某个表面反射后如何在各个出射方向上的分布。BRDF模型是绝大多数图形学算法中用于描述光反射现象的基本模型。

顾名思义,BRDF就是一个描述光如何从给定的两个方向(入射光方向l和出射方向v)在表面进行反射的函数。

BRDF的精确定义是出射辐射率的微分(differential outgoing radiance)和入射辐照度的微分(differential incoming irradiance)之比:

首先,我们看下它们分别的定义:

  • 辐照度(Irradiance,又译作辉度,辐射照度),表示单位时间内到达单位面积的辐射通量,也就是辐射通量对于面积的密度,通常用符号E表示,单位W·m-2,瓦特每平方米。
  • 辐射率(Radiance,又译作光亮度),表示每单位立体角每单位投影面积的辐射通量,通常用符号L表示,单位是W·sr−1·m−2,瓦特每球面度每平方米。
  • 辐射通量(Radiant Flux,又译作光通量,辐射功率)描述的是在单位时间穿过截面的光能,或每单位时间的辐射能量,通常用Φ来表示,单位是W,瓦特。
  • 投影面积 (Foreshortened Area)投影面积描述了一个物体表面的微小区域在某个视线方向上的可见面积。对于面积微元A,则沿着与法向夹角为θ方向的A的可见面积为:Area = Acos\alpha

  • 立体角 (Solid Angle)描述了从原点向一个球面区域张成的视野大小,可以看成是弧度的三维扩展。立体角是在单位球上对应的区域的面积。单位球的表面积是4π ,所以整个球面的立体角也是4π 。

那么,关于这个问题,我们可以这样理解:因为照射到入射点的不同方向的光,都可能从指定的反射方向出射,所以当考虑入射时,需要对面积进行积分。而辐照度irradiance正好表示单位时间内到达单位面积的辐射通量。所以BRDF函数,选取入射时的辐照度Irradiance,和出射时的辐射率Radiance,可以简单明了地描述出入射光线经过某个表面反射后如何在各个出射方向上分布。而直观来说,BRDF的值给定了入射方向和出射方向能量的相对量。

二、BRDF经验模型


关于BRDF的经验模型,有如下几个要点:

  1. 经验模型提供简洁的公式以便于反射光线的快速计算。
  2. 经验模型不考虑材质特性,仅仅提供一个反射光的粗糙近似。
  3. 经验模型不一定满足物理定律,比如Helmholtz可逆性或能量守恒定律。
  4. 经验模型因为其简洁和高效性被广泛运用。
     

常见的BRDF经验模型有:

  • Lambert漫反射模型
  • Phong模型
  • Blinn-Phong模型
  • 快速Phong模型
  • 可逆Phong模型
     

Lambert模型,Phong模型、Blinn-Phong模型和其改进模型都是常见的光照模型,具体可以参考《Unity Shader 入门精要》,书中已经讲述的非常清楚了。

三、基于物理的BRDF模型
 

基于物理的渲染(PBR, Physically-based rendering)是计算机图形学中用数学建模的方式模拟物体表面各种材质散射光线的属性从而渲染照片真实图片的技术,是近年来是实时渲染领域的大趋势。

基于物理的BRDF模型通过包含材质的各种几何及光学性质来尽可能精确的近似现实世界中的材料。而一个基于物理的BRDF要必须满足至少如下两条BRDF的特性:能量守恒、亥姆霍兹光路可逆性。

常见的基于物理的BRDF模型有:

  • Cook-Torrance BRDF模型
  • Ward BRDF模型
     

下文将先介绍基于物理的BRDF常常用到到的菲涅尔反射,次表面散射和微平面理论等理论,分别概括这两种基于物理的BRDF模型。

3.1 次表面散射 Subsurface Scattering
 

在真实世界中许多物体都是半透明的,比如皮肤、玉、蜡、大理石、牛奶等。当光入射到透明或半透明材料表面时,一部分被反射,一部分被吸收,还有一部分经历透射。这些半透明的材质受到数个光源的透射,物体本身就会受到材质的厚度影响而显示出不同的透光性,光线在这些透射部分也可以互相混合、干涉。

次表面散射,Subsurface Scattering,简称SSS(又简称3S),就是光射入半透明材质后在内部发生散射,最后射出物体并进入视野中产生的现象,是指光从表面进入物体经过内部散射,然后又通过物体表面的其他顶点出射的光线传递过程

3.2 菲涅尔反射 Fresnel Reflectance


菲涅耳方程(Fresnel equations)是一组用于描述光在两种不同折射率的介质中传播时的反射和折射的光学方程。方程中所描述的反射被称作“菲涅耳反射”。

菲涅尔反射(Fresnel Reflectance)或者菲涅尔效果(Fresnel Effect),即当光入射到折射率不同的两个材质的分界面时,一部分光会被反射,而我们所看到的光线会根据我们的观察角度以不同强度反射的现象。

菲涅尔反射能够真实地模拟真实世界中的反射。在真实世界中,除了金属之外,其它物质均有不同程度的菲涅尔反射效果。

关于菲涅尔反射,一个很好的例子是一池清水。从水池上笔直看下去(也就是与法线成零度角的方向)的话,我们能够一直看到池底。而如果从接近平行于水面的方向看去的话,水池表面的高光反射会变得非常强以至于你看不到池底。

3.3 微平面理论 Microfacet Theory
 

微表面理论假设表面是由不同方向的微小细节表面,也就是微平面(microfacets)组成。每一个微小的平面都会根据它的法线方向在一个方向上反射光线。

原理:基于物体表面的微表面理论,物体表面有很多微表面组成,反射光照由与视线一致的微表面的直接反射(高光)和其他微表面互相之间的漫反射组成。

                                             

猜你喜欢

转载自blog.csdn.net/qq826364410/article/details/88932140
今日推荐