《光照与法线》

Please use a browser that supports "canvas"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1、什么是光照?

  在现实生活中,我们能看到物体并辩认出它们的颜色,原因就是这些物体被光线照射

(光照)时,会反射一部分光线到我们的眼睛,所以,我们看到了物体与物体的颜色。

  例如,一个红色的球,被光照时,它会反射红光,当红光进入到我们的眼睛时,我们就

可以看到这个球是红色的。

   

2、什么是法线?

  法线就是垂直于平面的向量,代表着平面的方向,在下图中,中间垂直向上的粗黑体箭头就

  代表着一个平面的法线。

  

3、法线有什么作用?

  当一个平面(正对)着光源时,我们会发现它比较明亮,而当平面是(侧对)着光源时,

  我们会发现它看起来变得比较暗,或者,当平面是(背对)着光源时,我们会发现它变成

  了黑色。

  那么,如何去判断一个平面是(正对)着光源还是(背对)着光源呢?

  这时,我们就需要使用(法线)与(光照射的方向)的夹角来进行计算就可以知道一个

  平面与光源是正对还是背对,或者是任意的角度。

  在上图中,从(光源)出发的虚线箭头就是光源照射的方向。

 

  另外,在上面的演示中,大家就可以看到,当通过鼠标左键点击后,就可以不显示地形

网格,但是,我们仍然看到地形表现得不平滑,就是仍然可以看到一个一个的方格(子网格)

为什么会这样呢?

  其实,原因就是,当前,我们计算出每个平面(子网格)的法线,然后,根据法线与光照

的方向进行了计算,而每一个平面(子网格)的法线都是不一样的,所以,它们所反射出来的

亮度就不一样,所以,我们就会看到一个一个的方格(子网格)。

  而如果要让地形变得平滑,那么,我们就需要在每个平面(子网格)的分界处进行一个

过渡的处理,这样,才可以解决当前所看到的地形不平滑的现像,而这个解决方法我们将在

后面的章节中再为大家介绍。

 

  

  大家可以通过鼠标的(左键)点击来切换是否显示地形上的网格。(手机可以通过触摸点击地形来完成)。