opengl学习(五)------ 视图(一)

wanghualin0 2012-04-07

好吧,我没有思路,就把用到的函数及其含义先罗列出来,等到有思路的时候,再来完成吧。

gluLookAt:设置视觉坐标系。在实际的编程应用中,用户在完成场景的建模后,往往需要选择一个合适的视角或者不停地变换视角,以对场景作为观察。

void gulLoaaAt(GLdouble eyex, GLdouble eyey,GLdouble eyez,
               GLdouble centerx, GLdouble centery, GLdouble centerz,
               GLdouble upx, GLdouble upy, GLdouble upz);
前三个参数是视点位置;中间三个参数是参考点位置;最后三个参数是视点的方向。
该函数定义一个额视图矩阵,并与当前矩阵相乘。
1.改变前三个参数的值可以模拟人在实际环境中的移动。
2.改变中间三个参数的值,可以模拟人眼的移动,即观察场景的变化。
3.后三个参数的值比较特殊,它所定制的不是一个点,而是一个方向,即决定将哪一个坐标轴作为向上的方向,如果向上的方向与观察点到中心的方向一致,结果将是不正确的

glMatrixMode:指定哪一个矩阵是当前矩阵。

void glMatrixMode(GLenum mode);
    指定了需要修改的是模型视图举证、投影矩阵还是纹理矩阵。mode的值可以是:
GL_MODELVIEW:对模型视景矩阵堆栈应用随后的矩阵操作。
GL_PROJECTION:对投影矩阵应用随后的矩阵操作。
GL_TEXTURE:对纹理矩阵堆栈应用随后的矩阵操作。
    接下来调用的变换函数将影响它指定的矩阵。注意,一次只能修改一个矩阵。在默认情况下,变换函数修改的矩阵是模型视图矩阵。另外,在默认情况下这3个矩阵均为单位矩阵。

glLoanIdentity:该函数的功能是重置当前指定的矩阵为单位矩阵(4*4).

视口函数glViewport:

void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
   在窗口中定义一个像素矩阵,最终的图像将映射到这个矩阵中。(x, y)参数指定了视口的左下角,width和height表示这个视口矩形的宽度和高度。在默认情况下,视口的初始值是(0,0,winWidth, winHeight),其中winWidth和winHeight指定了窗口的大小。

相关推荐