Diffuse/Lambertain Material(BRDF)

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f12fa6e3-356b-4854-93d5-c83c41f5c663/Untitled.png

我们可以定义在不同点上可以有不同的漫反射系数,虽然都是漫反射,但是各个点光被吸收的部分不同,所以会显示出不同的颜色。

<aside> 💡 同样道理,我们还可以定义其他各种各样不同的反射方式。

</aside>

Diffuse / Lambertian Material

以前 blinn-phong 模型中定义漫反射系数用的是 Intensity ,多少 Intensity 到达并吸收。再给个颜色,并且在 0~1 之间,也就是会被吸收多少。而这是一个经验性的定义。

而现在我们可以把漫反射系数给定义好。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/336d95d6-fa0b-4767-86c5-3bf7b3868f77/Untitled.png

左图的材质是漫反射,意味着任何的光线从不同方向进来,都一定会被均匀地反射到周围的各个不同的方向上去。

那么可以假设空间中从任何一个方向进来的光,radiance 都是一样的,进来的光都是 uniform 的,反射的光肯定也是 uniform 的。这样假设可以利用能量守恒,如果这个点不发光也不吸收光(假设物体是白的),这就意味着光进来多少就要反射多少出去。从能量考虑的话,这个着色点周围的小的区域接受的能量就是 power per unit area——irradiance,进来多少 irradiance,出去就是多少 irradiance。

我们假设了 diffuse 漫反射材质,还假设了入射光是 uniform 均匀的,入射和出射的 irradiance 是相等的,并且 radiance 都是 uniform 的,这就意味着入射光和出射光的 radiance 也是一样的。这就可以直接用渲染方程,得出右边的式子。

假设入射的 radiance 是常数,diffuse BRDF 也是常数,就可以把这两个拿到积分外,就能看到这其实就是对半球上 cos 函数的积分。因为半球上对立体角积分是 2π,对 cosθ 积分是 π。 又因为入射光和出射光的 radiance 是一样的,Li = Lo,所以最后得出 BRDF = 1/π,这就是完全不吸收能量的漫反射 BRDF。

我们还能定义一个反射率 albedo(单通道、RGB或者光谱),在 0~1 之间,这样可以引入不同的颜色的 BRDF,所以 BRDF 的值就是 albedo / π,所以 BRDF 是 0~1/π 的。

$$ f_{r}=\frac{\rho}{\pi} $$

Glossy material(BRDF)

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2d0091d7-a563-4201-8113-c4e92fbd61b8/Untitled.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/217f734e-b6f0-4d35-828e-66c82642de78/Untitled.png