设置顺序:
glViewport(
0
,
0
,Width,Height);
//
设置OpenGL视口大小。
glMatrixMode(GL_PROJECTION); // 设置当前矩阵为投影矩阵。
glLoadIdentity(); // 重置当前指定的矩阵为单位矩阵
gluPerspective( 45.0f ,(GLfloat)Width / (GLfloat)Height, 0.1f , 100000.0f );
// 这和照象机很类似,第一个参数设置镜头广角度,第二个参数是长宽比,后面是远近剪切。
gluLookAt( 0.0f , - 200.0f , 200.0f , // 设置观察点
0.0f , 0.0f , 0.0f , // 设置观察的点
0.0f , 1.0f , 0.0f ); // 设置向上的方向
glMatrixMode(GL_MODELVIEW); // 设置当前矩阵为模型视图矩阵
glMatrixMode(GL_PROJECTION); // 设置当前矩阵为投影矩阵。
glLoadIdentity(); // 重置当前指定的矩阵为单位矩阵
gluPerspective( 45.0f ,(GLfloat)Width / (GLfloat)Height, 0.1f , 100000.0f );
// 这和照象机很类似,第一个参数设置镜头广角度,第二个参数是长宽比,后面是远近剪切。
gluLookAt( 0.0f , - 200.0f , 200.0f , // 设置观察点
0.0f , 0.0f , 0.0f , // 设置观察的点
0.0f , 1.0f , 0.0f ); // 设置向上的方向
glMatrixMode(GL_MODELVIEW); // 设置当前矩阵为模型视图矩阵
注意:
(1)、设置观察点时,当前矩阵是GL_PROJECTION。
(2)、gluLookAt函数应该在gluPerspective之后调用。
(3)、执行完gluLookAt后可以将当前矩阵换成GL_MODELVIEW,进行面片的绘制。