材质
在渲染方程中,有一个双向反射系数(BRDF),我们使用它来定义不同物体表面的反射情况,从而表示我们的材质。下面我们将介绍几种常见的材质。
漫反射材质
漫反射材质为接收到光线后,将光线在半球内沿各个方向散射光线的过程。
我们假设一个着色点,接收来自四处的均匀的光,并且物体表面不吸收光,能量守恒,b那么也就是说这个着色点接收到了多少Radiance,最后反射就会出去多少Radiance。
所以我们就可以得到以下式子:
其中,对半球积分请看这个大佬的博客:https://chengkehan.github.io/HemisphericalCoordinates.html
所以我们就得到了 fr = 1/Π ,这个式子也就是完全不吸收能量的情况。
然后我们定义一个反射率 ρ ∈ [0,1] ,那么用它来除以Π就得到了我们的 BRDF 的值是 ∈ [0,1/【Π]。
Glossy材质
而还有一种Glossy材质,比如铜镜,抛光的金属,仍然是不同BRDF值所对应的情况。
折射材质
还有一种材质,除了反射还会产生一些折射的情况,比如水,玻璃等。
注意,折射过程中,折射的入射角和出射角满足以下定义:
于是,我们可以据此求出折射角的余弦值。
那么,我们就可以通过判断这一个能否得出这一个实数值(根号内的数要大于0),来判断折射能否发生。
那我们可以判断,如果入射介质的折射率大于出射介质的折射率,且入射角大于一个临界值时,就会出现光线没有发生折射的情况,全部的光线都会被反射出去,这种现象成为全反射现象。
另外地,我们还可以利用菲涅耳项来表示有多少能量发生了反射,有多少能量发生了折射。
如图,下面的图片来自于从不同高度观察书的照片的图片。
我们可以根据反射角的大小得到反射能量的比例。
微表面模型
简单来说,微表面模型是指 从远处看一个物体时,我们看到的是材质,而从近处看时,我们看到的是这个物体表面上的一些凹凸情况,也就是几何。
按照这个思想,我们可以把之前的那些材质和几何对应起来。
glossy材质:表面法线范围有一些波动,表面略微有些不规则。
diffuce材质:表面法线波动范围打,表面很不规则。
对应地,我们可以求微表面模型的BRDF(双向反射系数)。
其中,f(i,o)中i和o表示入射和出射。F(i , h)为一个菲涅耳项,表示对应不同的入射角度,对应的反射能量。G(i ,o ,h)用于修正几何表面凹凸不平而产生的自投影和自遮挡。D(h)表示法线分布情况,也就是法线范围有多少在半程向量上。
区分材质
我们按照材质表面性质的分布情况分为各向同性材质和各向异性材质。
而各向同性材质和各向异性材质对应的法线范围也可以看出区别。
一个物体,如果旋转一个方位角,而BRDF值发生改变,那么称为各向异性材质,反之,为各向同性材质。
如图,左图为各向同性,右图为各向异性。
各向异性:
BRDF性质
-
非负性:表示能量不会变为负
-
线性:我们可以把一整个BRDF分解为多个BRDF,再加起来。
-
可逆性:交换入射方向和出射方向,结果一样。
-
能量守恒(反射的能量一定不大于入射的能量)
-
各向同性和各向异性
如果是各向同性,那么我们方位角变换后,BRDF的值不变,再加上入射和出射的可逆性,我们可以得到如下式子。
BRDF测量
我们采集所有入射角度下,出射的情况,可以得到一个准确的BRDF值。