为什么画画根据光照角度判断亮暗,却不考虑入眼角度判断亮暗?

着色与Blinn-Phong反射模型先看看上面这一篇。

在只有一个光源的情况下,决定一个点的明暗程度的要害在于以下几个因素:

1)它所接收到的总光强(入射光强)

2)该点向你的眼睛方向上反射出的分量(出射光强)

前者和该点与光源的距离相关。

后者与该点的镜面反射线与你眼睛的夹角有关。

对于点光源,入射光强与点与光源位置的距离的平方成反比,也就是会按照平方反比的规律衰减。每加大一倍距离,就减小亮度到原来的四分之一

注意,这是一个剧烈的下降,也是你这个问题的关键。

而对于平行光源,则几乎没有这个平方反比定律,除非有雾之类的因素会吸收掉光,否则平行光照亮的地方,入射光强可以认为是恒定的。

在考虑入眼角度,入眼光强于视线和反射线的夹角的余弦的幂成正比。

如果夹角为0,则反射线刚好射入眼睛,这就是高光点。

夹角为45度,则光强为0.707的n次方,这个n值被材质的属性决定,材质越光滑,n值越高。材质越不光滑,则n值越低。

这两个定律共同决定着一个点在你眼睛里的亮度。

这时候你会发现,对于点光源,离光源越近的地方受光越强,稍微远一些就会迅速减弱,而射入你眼睛的,是入射光的一部分,到底是多大的一部分,取决于你的眼睛与反射线的夹角。

问题是,前一个因素是主导性的,后一个因素对于粗糙表面(尤其是石膏、水泥、泥土)而言,造成的变化是很小的。

夹角到45度,往往还有70%,夹角到60度,还有50%。如果更粗糙一些的话,甚至比这还要高。这个对亮度的影响要大大的小于离光源远近、向背关系的影响。

尤其是夹角到70-80度,这个面基本已经成为了轮廓的一部分,不再是面元素,而是线元素了。

换句话来说,实际上一个点的亮度的主导因素是它与光源的关系,再按照与你眼睛的关系做局部的修正而已。

如果你是画卡通、漫画,则这种差异几乎可以忽略。人脑的视觉处理机制会自动的把你的系统性误差理解为一种“画面风格”。

换句话来说,你大体上可以把与光源的远近关系看作一座山,

与眼睛的关系看作山上的坑和鼓包。

有些特殊情况下这个坑可以很深包可以很高,但是在大多数情况下这些坑和鼓包不会改变山的形状。

那么阴影呢?阴影可以看成水平面。

“水下”和“水上”各有各的起伏。