跳转至

L17 Materials and Appearances


~

GAMES101(现代计算机图形学入门)笔记 - Yu_Tang

对材质的定义等价于对 BRDF 的定义;

1 漫反射

对于漫反射模型,假设入射光被均匀地反射到半球上的各个方向(\(f_r\)为常数),渲染方程反射项有

\[L_o(\omega_o)=\int_{H^2}f_rL_i(\omega_i)\cos\theta_i\mathrm{d}\omega_i\\ =f_rL_i\int_{H^2}\cos\theta_i\mathrm{d}\omega_i\\ =\pi f_rL_i\]
  • \(L_o(\omega_o)\):沿出射方向 \(\omega_o\) 的辐射率。
  • \(\int_{H^2} \dots \mathrm{d}\omega_i\):在半球空间(Hemisphere)上对所有入射方向 \(\omega_i\) 进行积分。
  • \(f_r\):双向反射分布函数 (BRDF)。在漫反射中,\(f_r\) 是一个常数(即 \(k_d/\pi\)),表示表面反射光线的比例。
  • \(L_i(\omega_i)\):沿入射方向 \(\omega_i\) 的入射辐射率。
  • \(\cos\theta_i\):投影项。由于光线斜射,单位面积接收到的能量会减少,角度越倾斜(\(\theta_i\) 越大),能量越弱。

在能量守恒的假设下,有 \(f_r=\frac 1 \pi\) ,更广泛地,如果我们定义反照率(albedo)\(\rho\in[0,1]\) ,则有 \(f_r=\frac \rho\pi\)

2 金属反射

对于不同金属,金属反射性质也不同;


Pasted image 20260121105642.png

3 镜面反射

由出射角等于入射角,有

\[ \begin{align} \omega_o+\omega_i&=2\cos\theta\vec n=2(\omega_i\cdot\vec n)\vec n\\ w_o&=-w_i+2(\omega_i\cdot\vec n )\vec n \end{align} \]

Pasted image 20260121105828.png

对于方位角有

\[\phi_o=(\phi_i+\pi)\mod 2\pi\]

Pasted image 20260121110127.png
镜面反射的 BRDF 值与 delta 函数有关,课程内暂不赘述;

球面坐标系

在计算机图形学、光学的球面坐标系中,有两个角度参数,分别是方位角\(\phi\)和天顶角\(\theta\)

4 折射

由折射定律(Snell’s Law)得

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

其中 \(\eta_i,\eta_t\)​ 分别为入射介质和出射介质的折射率(真空为1);


Pasted image 20260121111019.png

\[\cos\theta_t=\sqrt{1-(\frac {\eta_i} {\eta_t})^2(1-\cos^2\theta_i)}\]

如果 \(1-(\frac {\eta_i} {\eta_t})^2(1-\cos^2\theta_i)<0\) 则折射不会发生,此时发生全反射;


Pasted image 20260121111147.png

其中可视锥体被称为 Snell’s Window ;
方位角同镜面反射;
描述折射性质的函数被称为 BTDF ,与 BRDF 统称为 BSDF ;

5 菲尼尔项(Fresnel Term)

菲涅尔项描述了反射和折射的比例;


Pasted image 20260121111331.png

对于绝缘体表面,有


Pasted image 20260121111543.png

S 和 P 描述了两种偏振光的表现,一般情况性质如红线描述;
对于金属(导体)表面,则有


Pasted image 20260121111629.png

对于两种偏振光的反射率有( \(n_1,n_2\) 为两种介质的折射率)

\[R_s = \left| \frac{n_1 \cos\theta_i - n_2 \cos\theta_t}{n_1 \cos\theta_i + n_2 \cos\theta_t} \right|^2 = \left| \frac{n_1 \cos\theta_i - n_2 \sqrt{1 - \left( \frac{n_1}{n_2} \sin\theta_i \right)^2}}{n_1 \cos\theta_i + n_2 \sqrt{1 - \left( \frac{n_1}{n_2} \sin\theta_i \right)^2}} \right|^2\]
\[R_p = \left| \frac{n_1 \cos\theta_t - n_2 \cos\theta_i}{n_1 \cos\theta_t + n_2 \cos\theta_i} \right|^2 = \left| \frac{n_1 \sqrt{1 - \left( \frac{n_1}{n_2} \sin\theta_i \right)^2} - n_2 \cos\theta_i}{n_1 \sqrt{1 - \left( \frac{n_1}{n_2} \sin\theta_i \right)^2} + n_2 \cos\theta_i} \right|^2\]

对于无偏振的光,有

\[R_{eff}=\frac 12 (R_s+R_p)\]

由于上述计算比较复杂,有简化公式 Schlick’s approximation :
基准反射率即为法线入射时的反射率,为

\[R_0=(\frac{n_1-n_2}{n_1+n_2})^2\]

关于入射角的反射率为

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

对导体和绝缘体均可以近似;

6 微表面模型(Microfacet Material)

微表面模型假设物体表面是粗糙的,由很多微表面组成,每一个微表面只进行镜面反射,具有自己的法线;远看是外观,近看是几何;
通过描述微表面法线的分布来描述物体粗糙程度,例如


Pasted image 20260121112157.png

微表面模型的 BRDF 有

\[f(i,o)={F(i,h)D(h)G(i,o,h)\over4(n,i)(n,o)}\]

Pasted image 20260121112338.png

其中 \(h\)\(i\)\(o\) 的中间向量,\(F\) 为菲涅尔项,\(D\) 为微表面法向的概率密度函数,\(G\) 为几何项,定义了了微表面互相遮挡造成的影响;


Pasted image 20260121112616.png

在入射方向或观察方向和表面几乎平行时(Grazing Angle 掠射角度),表面遮挡比较严重,此时 G 项的值会比较小;

GGX模型下,对于粗糙度为 \(\alpha\) 的各向同性材料,法线分布函数和遮挡通过函数有

\[ \begin{align} D(n,h,\alpha)&={\alpha^2\over\pi((n\cdot h)^2(\alpha^2-1)+1)^2}\\ k&=\frac{(\alpha+1)^2}8\\ G(i,o,n)&={n\cdot i\over(n\cdot i)(1-k)+k}{n\cdot o\over(n\cdot o)(1-k)+k} \end{align}\]

7 各向同性/各向异性材料(Isotropic / Anisotropic Materials)

类似于电梯内表面的纵向抛光痕迹,一些材料表面是各向异性的;


Pasted image 20260121132159.png

各向同性即认为微表面不存在方向性或方向性很弱;


Pasted image 20260121132229.png

从 BRDF 考虑,高度角固定的情况下,如果对于固定方位角变化量,函数值不同,即为各向异性;

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

8.1 BRDF的性质

  1. 非负:\(f_r(\omega_i\to\omega_r)\geqslant0\) ;
  2. 线性;
  3. 可逆性:\(f_r(\omega_i\to\omega_r)=f_r(\omega_r\to\omega_i)\) ;
  4. 能量守恒: \(\forall \omega_r,\int_{H^2}f_r(\omega_i\to\omega_r)\cos\theta_i\mathrm{d}\omega_i\leqslant1\) ;
  5. 各向同性与各向异性;

8.2 测量BRDF

gonioreflectometer


Pasted image 20260121132422.png

8.3 BRDF的存储

MERL BRDF Database 对各向同性材料进行了三个维度的测量 \((\theta_i,\theta_o,|\phi_i-\phi_o|)\) ,形成了 \(90\times90\times180\) 的数据;

评论

如果你已登录 GitHub,就可以直接在这里评论。