在计算机3D图形处理技术中,也有类似我们眼睛的东西gluLookAt()函数,如果这个观察点在OpenGL场景中的位置发生变化,我们在计算机屏幕上的图像(相当于我们的大脑的映像)就发生变化。
gluLookAt(视点,目标点,视点方向)
其中视点(观察点)是一个三维坐标量:
X量的变化就像是我们在场景中横向移动。
Y量的变化就像是我们的身体高度的变化(游戏中角色的站立、卧倒)。
Z量的变化就像是我们在场景中前后移动。
目标点、视点方向也分别是三维坐标量:
视点的变化,相当于我们人在场景中的移动。
目标点的变化,相当于我们人站着不动时,头或手中的相机上下左右移动的效果。
视点方向Y=1表示我们的头始终是正立的。如果你在表现在飞机里转弯看到大地倾斜的效果,你可以试改变视点方向的X、Y的值。
前面我们涉及到的,在计算机屏幕上观看图形时,我们的观察点默认为(0,0,0),也就是为什么我们总是要把图形的Z坐标设为小于0的原因(Z大于0图形在屏幕的外面)。在OpenGL中观察虚拟世界的主要函数gluLookAt(),它的主要作用是可以改变我们在OpenGL场景的观察点,这个观察点就好像我们的眼睛,也好像我们手中的摄像机。