3D渲染-着色-Blinn-Phong Mode
一、总体回顾

二、问题
下图中左图:每一个正方体颜色相同,看起来不真实。需要shading。

三、着色 Shading
shading:引入明暗不同、引入颜色不同。
shading在图像学上定义:对不同物体应用不同材质。
四、着色模型: Blinn-Phong Reflectance Model

把上图中的三部分分别都分析表示出来,就可以表示图中杯子的材质。
1、定义
观测方向、光照方向、法线都是单位向量。

2、漫反射
2.1、漫反射定义
漫反射:光线打到物体表面某一个点,光线会被均匀的反射到不同的方向。

当物体表面与光照方向有一定夹角时:得到的明暗是不同的。
下图中间图,只接收到3根光线,也就会暗一些。
光照方向和法线的夹角,决定了物体表面的明暗。
2.2、朗伯余弦定律(光线接收能量)
朗伯余弦定律:cosθ = l · n 接收到的能量和光线方向与法线方向的夹角余弦是成正比的。

2.3、光线到达能量
光线在传播的过程中,考虑单位面积在任何一个位置上所能到达到的能量 是和 光线传播的距离成平方反比。

2.4、漫反射数学表示

漫反射结果与观测反响无关。因为漫反射向四周反射信息一样。
2.5、可视化
漫反射系数的变化:值越大,越接近全部反射,也就越亮。

3、高光(镜面反射)
3.1、高光定义
当观测方向与镜面反射方向接近时,可以看到高光。

3.2、高光数学表示
为了判断是否能看到高光,只需要判断法线方向和半程向量是否接近。使用点乘可以得出两个向量是否接近。

指数p:向量之间的夹角余弦确实能够体现两方向是否足够接近,但容忍度太高。

在Blinn-Phong模型中,指数p通常为100-200
3.3、可视化
镜面反射系数,表示亮度。
p越大,看到越小的高光。

4、间接光照(环境光照)
假设四面八方光相同,得出间接光照数学表示:

通过环境光照的数学表示得出:
1、环境光跟直接光照方向无关。
2、环境光跟观测方向无关。
3、环境光跟法线无关。
通过以上分析,可以得出,环境光其实是一个常数。就是某一种颜色(常数颜色)。
环境光作用:保证没有地方全部是黑色。
5、Blinn-Phong Reflectance Model
环境光项是一个常数颜色。
漫反射项与光照和法线反响有关,在光照和法线方向不垂直的时候,会减小。
高光项,只有在很小的地方会产生高光项。

五、着色局限性
着色不考虑其他点的存在,只考虑着色点。
着色具有局部性,可以看到明暗变化,但是看不到阴影。

怎么处理阴影?