返回

计算机图形学基础学习笔记-物体材质

材质

某种意义上来说,材质就是决定双向反射分布函数(BRDF)的东西。

漫反射材质

漫反射,代表着光均匀地反射到每一个方向。

假设入射光也是均匀的。

\(f_r,L_i(\omega_i)\)就是常数。那么渲染方程:

\[L_o(\omega_o)=\int_{H^2}f_rL_i(\omega_i)cos\theta_i d\omega_i \]

\[=f_rL_i\int_{H^2}cos\theta_i d\omega_i \]

\[=\pi f_rL_i \]

所以有

\[f_r=\frac{\rho}{\pi} \]

其中\(\rho\)是反射率。

有光泽的(Glossy)材质

金属材质是一类,金属材质的反射较为集中,但又不是镜子那样的镜面反射。

折射材质

有时会有像玻璃这样的材质,既有反射又有折射。

反射定律

反射角\(\theta_o\)等于入射角\(\theta_i\)\(\theta=\theta_o=\theta_i\)

并且反射光线和入射光线在同一平面呢。

或者入射光线的立体角\(\omega_i\)与反射光线的立体角\(\omega_o\)与反射面的法单位向量\(\bm n\)之间的关系是

\[\omega_i+\omega_o=2cos\theta\cdot\bm n \]

折射定律

入射角\(\theta_i\)、入射材质的折射率\(\eta_i\)和折射角\(\theta_t\)、折射材质的折射率\(\eta_t\)有如下关系

\[\eta_i sin\theta_i=\eta_t sin\theta_t \]

并且入射光线和折射光线在同一平面内。

如果发生全反射,要从光密介质射到光疏介质里。并且因为:

\[cos\theta_t=\sqrt{1-sin^2\theta_t}=\sqrt{1-\left(\frac{n_i}{n_t}\right)^2sin^2\theta_i} \]

所以全反射时满足

\[1-\left(\frac{n_i}{n_t}\right)^2sin^2\theta_i<0 \]

菲涅尔反射

经常观察到一些现象,比如木桌子上,低角度看过去有反射,高角度看过去没有反射。或者正对玻璃能看到外面,斜对着玻璃可能只能看到反射。

这说明反射率和入射角有关。实际上这和光的偏振有关。

一定功率的入射光被界面反射的比例称为反射比\(R\);折射的比例称为透射比\(T\)。有

\[R+T=1 \]

如果入射光的电矢量垂直于光平面(由入射、反射、折射光线构成的平面)(即\(s\)偏振),则反射比为:

\[R_s=\left[\frac{sin(\theta_t-\theta_i)}{sin(\theta_t+\theta_i)}\right]^2 \]

如果入射光的电矢量在光平面内(即\(p\)偏振),反射比为:

\[R_p=\left[\frac{tan(\theta_t-\theta_i)}{tan(\theta_t+\theta_i)}\right]^2 \]

这两个式子都可以用折射定律和三角恒等式展开。透射比无论如何都满足\(T=1-R\)

如果入射光是无偏振的,即含有等量的\(s,p\)偏振,那么

\[R=\frac{R_s+R_p}{2} \]

显然近垂直入射时

\[R=\left(\frac{n_i-n_t}{n_i+n_t}\right)^2 \]

在图形学中,这个计算过于麻烦,通常会采用Schlick近似

\[R(\theta)=R_0+(1-R_0)(1-cos\theta)^5 \]

\[R_0=\left(\frac{n_i-n_t}{n_i+n_t}\right)^2 \]

微表面材质

假设物体表面是粗糙的。从远处看是平的、粗糙的;从近处看能看到凹凸不平,每一个小平面都是镜面反射。

如果没有凹凸,则是镜面材质。

如果凹凸变化不是很剧烈(法线分布比较均匀),那么会得到一个Glossy的材质。

如果凹凸变化的比较剧烈(法线分布不均匀),那么会得到一个漫反射材质。

微表面材质的BRDF可以如下写

\(\omega_i\)是入射光线的立体角,\(\omega_o\)是反射光线的立体角,\(h\)是它们的半程向量。\(n\)是宏观表面的法向量,则

\[f_r(\omega_i,\omega_o)=\frac{F(w_i,h)G(\omega_i,\omega_o,h)D(h)}{4(n\cdot\omega_i)(n\cdot\omega_o)} \]

其中\(F\)是菲涅尔项;\(G\)是几何项(阴影遮挡函数),光线可能会被微平面互相遮挡而影响,所以引入此函数;\(D\)是微表面分布函数,决定了有多少微表面的法线朝向\(h\)

各向同性/异性材料

各向异性的材料,由于观察的方位角不同,BRDF不同(即使入射角和反射角相对不变)。

BRDF的性质

非负

\[f_r\geq 0 \]

线性性质

可以把各个方向的BRDF加起来,得到的结果和对这些方向和的BRDF一样。反之也可以拆分BRDF。

可逆性

\[f_r(\omega_r\to\omega_i)=f_r(\omega_i\to\omega_r) \]

能量守恒

能量不会变多,如果物体没有吸收,那么入射多少就会反射多少。

对于各向同性材质

BRDF与方位角无关;方位角指的是光线投影到材质平面上,在材质平面上的角。

BRDF的测量

由于图形学中的公式有估计的成分,BRDF可能与实际值相差很大,有时会用到测量的办法。