一、如何让光源运动?
glLightfv(GL_LIGHT0,GL_POSITION,vLitPosition)
(1)直接变化vLitPosition中的值;
光源可以认为是一个几何物体,将受到其前面的几何变换的影响。
思考:理解gluLookAt()对光源的影响
gluLookAt()之前有介绍过,这边把官网解释搬过来,方便没有看过的小伙伴直接看
函数原型:
void glutLookAt( GLdouble eyeX,
GLdouble eyeY,
GLdouble eyeZ,
GLdouble centerX,
GLdouble centerY,
GLdouble centerZ,
GLdouble upX,
GLdouble upY,
GLdouble upZ);
参数说明:
第一组eyex,eyey,eyex相机在世界坐标的位置
第二组centerx,centery,centerz相机镜头对准的物体在世界坐标的位置
第三组upx,upy,upz相机向上的方向在世界坐标中的方向
函数说明:该函数定义了一个视图矩阵,并与当前矩阵相乘。
关于这个思考的解答会在后续部分,可自行思考一下。
二、如何让光源运动
(1)光照下物体的颜色由什么来决定?
光的颜色:glLightfv()...
物体的材质:glMaterialfv()...
glColor*() 没用了吗?
glColor*()确实没用了,但可以通过如下方式发生作用:
glEnable(GL_COLOR_MATERIAL);
glColorMaterial(GL_FRONT_AND_BACK,GL_AMBIENT);
三、OpenGL中的光照明设置
1.OpenGL中的光照明模型
2.设置物体的法向 7.方向光源与位置光源
3.设置光照参数的语句 8.本地视点/无限远视点
4.设置材质参数的语句 9.双面光照
5.聚光灯参数 10.如何让光源运动
6.光照衰减参数 11.光照下物体的颜色