具体的可以请看:GL学习笔记(2) - 终于搞明白gluPerspective和gluLookAt的关系了
函数原型
gluLookAt(GLdoble eyex,GLdouble eyey,GLdouble eyez,GLdouble centerx,GLdouble centery,GLdouble centerz,GLdouble upx,GLdouble upy,GLdouble upz);
gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar)
我的理解:
拿拍照来看:
一:gluPerspective相当于调整照相机与景物的距离
1. 如果想把物体拍全,把景物都拍进去,就要远离物体(即调整zNear的值)
二:gluLookAt相当于调整相机的焦距
1. 如果想拍全景物,就要把焦距调小,等于是减小放大倍数(即调整center与eye之间的距离)
2. 如果想拍倒立的景物,只要把相机反过来就行(即调整up的向量的方向)
总结:所以这个方法的调整是相互作用的,要结合起来调整。另外,如果想模拟人眼,那视角就要小于45度,只有这样成的像,才不会变形。