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指定了窗口的大小。