向场景中添加光照的4个步骤:
1)为每个物体的每个顶点计算法向量,法线确定了物体相对于光源的指向
法线的计算:设向量a(x1,y1,z1),向量b(x2,y2,z2)
则a×b=(x2·y3-x3·y2,x3·y1-x1·y3,x1·y2-x2·y1)
2)创建、选择并定位所有的光源
光源的创建:
glLight*()函数可以定义光的一些属性——颜色、位置、方向
定义光时,此族函数最长用的一种形式是:
void glLightfv(Glenum light,Glenum pname,TYPE* param)
此函数中三个参数:所要为其指定属性的光、所要指定的属性、此属性的值
参数light的值可以是GL_LIGHT0~GL_LIGHT7,指定了要对那个光进行设置
参数所定义的属性或特性如下表所示: