光照明模型原理
光照明模型即根据光学物理的有关定律,计算景物表面上任一点投向观察者眼中的光亮度的大小和色彩组成的公式。对于在光栅图形设备上显示的真实感图形,我们需要依据光照明模型计算每一象素上可见的景物表面投向观察者的光亮度。光照明模型分为局部光照明模型和整体光照明模型。
局部光照明模型仅考虑光源直接照射在景物表面所产生的光照效果,景物表面通常被假定为不透明,且具有均匀的反射率。局部光照明模型能表现由光源直接照射在漫反射表面上形成的连续明暗色调、镜面上的高光以及由于景物相互遮挡而形成的阴影等,具有一定的真实感效果。整体光照明模型除了考虑上述因素外,还要考虑周围环境对景物表面的影响。例如,出现在镜面上的其他景物的影像,通过透明面可以观察到后面的景物等。整体光照明模型能模拟出镜面影像、光的折射以及相邻景物表面之间的色彩辉映等较精致的光照明效果。
来自光源和周围环境的入射光照射在景物表面上时,可能被吸收、反射或透射,其中被吸收的入射光能转化为热,其余部分则向四周反射或透射。正是朝视线方向反射或透射的光使景物可见。若朝视线方向辐射的反射或透射光中所有波长的光含量相等,则物体表面将呈现白色或不同层次的灰色。若辐射光中各种波长的光具有不同的分布,则景物呈现出彩色,其颜色取决于辐射光的主波长。由于颜色仅是可见光的一种视觉特性,因此,在光学物理中用光谱分布来描述光的组成。光谱分布表示了一束光中不同波长光所占的比例,它是波长的函数。显然光谱分布惟一地决定了相应可见光的色彩。
3.1 光源属性和物体表面属性
光源的属性包括它向四周所辐射光的光谱分布、空间光亮度分布,以及光源的几何形状。
物体表面属性包括表面的材质和形状。物体表面的材质类型决定了反射光线的强弱。表面光滑的材质将反射较多的入射光,而较暗的表面则吸收较多的入射光。同样对一个透明的表面,部分入射光会被反射,而另一部分被折射。粗糙的物体表面往往将反射光向各个方向散射,这种光线的散射现象称为漫反射。非常粗糙的材质表面主要产生漫反射,因而从各个视角观察到的光亮度是几乎相同的。我们通常所说的物体颜色实际上就是入射光线被漫反射后所表现出来的颜色。
除了漫反射,物体表面还会产生高光,或强光,称为镜面镜面反射。这种高光效果在光滑的物体表面上很明显,而对于阴暗物体表面则效果较差。
3.2 简单的局部光照明模型
从光源发出的光照射到景物表面时,会出现以下三种情况:
(1) 经景物表面向外反射形成反射光;
(2) 若景物透明,则入射光会穿透该景物,从而产生透射光;
(3) 部分入射光将被景物表面吸收而转换为热能。
显然,只有反射光和透射光能够刺激人眼产生视觉效果。
3.2.1 Lambert 漫反射模型
自然界中的绝大多数景物为理想漫反射体, Lambert 余弦定律总结了一个理想漫反射物体在点光源照射下的光的反射规律。根据 Lambert 定律,一个理想漫反射物体表面上反射出来的漫反射光的强度同入射光与物体表面法向之间夹角的余弦成正比。即:
I = kd·Il·cosq (1)
其中,I 为景物表面在被照射点 P 处的漫反射光的光亮度,Il 为点光源所发出的入射光亮度, kd (0 ≤ kd ≤1) 为景物表面的漫反射率(diffuse reflectivity),q 为入射光与表面法向之间的夹角。
P |
若记景物表面在被照射点 P 处的单位法向量为 N,P 到点光源的单位向量为 L,则式(1)可表达为如下的向量形式:
I = kd·Il ·(N·L) (2)
显然,当点光源离被照射表面很远时,式(2)中的向量 L变化很小,因而可将 L 看作为一常向量。我们称此时的点光源为方向光,它由一向量完全确定。
由式(1)可知,当入射角 q >p/2 时,光源位于物体背面,因而该光源对被照射点的光亮度贡献为零。当入射角q = 0即光源垂直照射在景物表面上,此时反射光的强度最大。当入射光线以相同入射角照射在不同材质的景物表面时,这些表面会呈现不同的颜色,这是由于不同材质的表面具有不同的漫反射率。在实际场景中,一个物体表面即使不直接暴露于光源之下,只要其周围的物体被照明,它也可能看得见。 这是由于物体还会接收到从周围环境投射来的光。在图形学中,称这部分光为环境光(ambient light)或泛光。环境光是一种分布式光源,精确模拟它非常耗时。在局部光照明模型中,我们常假定环境反射光是均匀入射的漫反射光,并用一常数来表示其强度。这样 Lambert 漫反射光照明模型可写成:
I = ka·Ia + kd·Il(N·L) (3)
其中,Ia 为入射的泛光光强,ka 为景物表面对泛光的漫反射率.
值得指出的是,式(3