光照模型(Illumination model)用于物体表面某点处的光强度计算。
一、简单光照模型
简单光照模型中只考虑
反射光
的作用,
反射光由
环境光
、
漫反射光
和
镜面反射光
三部分
组成。
(1)环境光:
假定物体是不透明的(即无透射光)
假设环境光在空间中均匀分布,即在任何位置、 任何方向上强度一样,记为
Ia。
在同样的环境光照射下, 不同物体表面的环境光反射系数不同,导致其所呈现的亮度并不相同,记环境光反射系数为
Ka
。
则环境光光照明方程为:
I = KaIa
,
I
为物体表面所呈现的亮度。
虽然不同的物体具有不同的亮度,但是同一物体的表面的亮度是一个恒定的值,没有明暗的自然过渡。
(2)漫反射:
粗糙表面的反射:向各个方向都有
反射。
假设各个方向上反射的光线强度相同。
![](https://i-blog.csdnimg.cn/blog_migrate/876b4fac5913dc1523c135493681fd11.png)
物体的不同部分亮度不同,
物
体表面粗糙程度
,
物体表面的朝向(表面法向
N
)
,
物体表面与点光源之间的距离
都会影响亮度。
则漫反射光照明方程为:I = KaIacosθ,θ为入射角。
![](https://i-blog.csdnimg.cn/blog_migrate/b32cdedace247a618849ccb143fb32b5.png)
cosθ = L·N , 则I = KaIacosθ = KaIaL·N
对于许多物体,使用漫反射计算其反射光是可 行的,但对于大多数的物体,如擦亮的金属、 光滑的塑料等是不适用的,原因是这些物体还 会产生镜面反射。
(3)镜面反射:
光滑物体(如金属)表面对光的反射会产生高光现象。
![](https://i-blog.csdnimg.cn/blog_migrate/0a21f2f276141c130fa45aadae9e4a8e.png)
镜面反射光照明方程为:
会聚系数n的取值与表面粗糙程度有关:
n越大,表面越平滑(散射现象少,稍一偏离,
明暗亮度急剧下降);
n越小,表面越毛糙(散射现象严重)。
二、Phong光照模型
Phong 光照明模型
:物体表面上一点
反射到视点的光强
I
为
环境光光强度Ie、
漫反射光强度Id、
镜面反射光强度Is
的总和。
即:
![](https://i-blog.csdnimg.cn/blog_migrate/b5e7fdddd2258f6d161fe7f4a3bfd9f7.jpeg)
光强度的衰减:光在光源到物体表面过程中的衰减,光源到模型表面的距离越远,光强度越弱。
d 为模型上点到光源的距离;a, b, c 为经验系数。
则:
![](https://i-blog.csdnimg.cn/blog_migrate/2477fdd8937f9b14765ea072f1ccae07.jpeg)
产生彩色:选用RGB模型。
为颜色模型中的每一种基色建立光照明方程:
![](https://i-blog.csdnimg.cn/blog_migrate/d08bf21d21976a9149b05b67d51f2f35.png)
采用多个光源:
采用m个光源的光照明方程:
Phong光照明模型是真实感图形学中提出的第一个 有影响的光照明模型。但 Phong模型是经验模型,存在不足: 显示出的物体象塑料,无质感变化; 没有考虑物体间相互反射光; 镜面反射颜色与材质无关; 镜面反射的计算在入射角很大时出现失真现象。