下面来逐个介绍一下基本要点以便加深对于明暗处理的基本算法。
光照方程:
1.光的无穷次反射和吸收过程可以用光照方程(rendering equation)描述。一般是无法求解的,即使应用数值方法也是非常复杂的。
2.光照方程是全局的,并且包含阴影、对象间的多次反射,以后会在光线跟踪和辐射度方法中详细考虑光照方程。
全局效果:
局部与全局光照:
正确的明暗处理需要全局计算,即包含了所有的对象和光源。
这与流水线模型不兼容,在这个体系中对每个多边形单独进行明暗处理(局部光照)。
然而在计算机图形学中,特别是在实时图形应用中,如果所得结果看起来可以的话,
这种局部计算是可以接受的,存在许多方法逼近全局效果。
光源的描述:
光线从光源表面离开的方式有两种:自发射、反射。
在表面上任一点(x,y,z)所发出的光可以用θ, φ两个方位角表示以及每个波长λ的强度确定。
光照函数有六个变量:
光源的颜色:
光源不但发射出不同量的不同频率光,而且它们的方向属性随着频率也可能不同。
真正的物理模型将非常复杂。人的视觉系统是基于三原色理论的。
在大多数应用中,可以用三种成分—红、绿、蓝—的强度表示光源
光亮度(luminance)函数为I = [Ir, Ig, Ib]
点光源
由位置和颜色表示。
理想的点光源向各个方向发射光。
远光源即在无穷远处的光源,光线为平行线。
点光源的亮度函数I(p0) = [Ir(p0), Ig(p0), Ib(p0)]。
在点p接受的光亮度反比于光源与点的距离。
点光源的亮度:
点光源的应用:
在计算机图形学中大量应用点光源,是因为它易于使用。
但不能更好地反映物理现实。
只有点光源的场景得到的图像中对比度比较高;对象显得要么很亮,要么很暗,
而真实的光源由于尺