在OpenGL中,使用光源的特性组合,如颜色,位置,方向等等,可以创建多种不同类型的灯光。
常见的几种灯光类型有:
定向光源(directonal)
定位光源(positional)
衰减光源
聚光灯
下面我们用3dsmax中的光源模拟出OpenGL对应类型的光源,渲染出效果图供大家有个快速的印象。
注意一点的是下面图片中的灯光效果,都打开了投影效果,但是在OpenGL,投影并不是灯光的一种附带效果,需要我们额外的进行一些处理工作的。
OpengGL中指的定向光源,指的光源设置在无穷远处,光线照射在物体上时其方向是平行的,这个特性刚好等同于3dsmax中的平行光.
OpenGL中的定位光源,其位置决定了对场景的影响。这种特性就相当于3dsmax中的泛光灯。
OpenGL中的衰减光源,所谓的衰减就是指物体离灯光越远,其光强度越弱,这个性质等同于3dsmax中打开了衰减选项的光源,比如下图中的泛光灯。
下图中有明显的光亮度的景深效果,而且在透视图中,3dsmax还把近距点和远距点的衰减的位置都做了形象的标识。
OpenGL的聚光灯,指的是将定位限定在一个圆锥体内,也就是现实生活中的舞台聚光灯效果。这种灯光是一种锥型照射的效果。
3dsmax中也有对应的聚光灯,效果如下图所示。
原创文章,出自"博客园, 猪悟能'S博客" : http://www.cnblogs.com/hackpig/