NeHe OpenGL 第二课 学习总结
glLoadIdentity():
重置当前的模型观察矩阵。
当您调用glLoadIdentity()之后,您实际上将当前点移到了屏幕中心,X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。
OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。
X坐标轴:中心左面的坐标值是负值,右面是正值。
Y坐标轴:移向屏幕顶端是正值,移向屏幕底端是负值。
Z坐标轴:移入屏幕深处是负值,移出屏幕则是正值。
glTranslatef(x,y,z):
沿着 X, Y 和 Z 轴移动。
注意在glTranslatef(x, y, z)中当您移动的时候,您并不是相对屏幕中心移动,而是相对与当前所在的屏幕位置。
例子:
glTranslatef(-1.5f,0.0f,-6.0f):沿着X轴左移1.5个单位,Y轴不动(0.0f),最后移入屏幕6.0f个单位。
glBegin(GLenum mode):
点函数,标志描述一个几何图元的顶点列表的开始,其参数mode表示几何图元的描述类型。
类型和说明见下图所示:
glEnd():
标志顶点列表的结束。
举例:
三角形:
glBegin(GL_TRIANGLES); // 绘制三角形
glVertex3f( 0.0f, 1.0f, 0.0f); // 上顶点
glVertex3f(-1.0f,-1.0f, 0.0f); // 左下
glVertex3f( 1.0f,-1.0f, 0.0f); // 右下
glEnd(); // 三角形绘制结束
glBegin(GL_TRIANGLES)的意思是开始绘制三角形,glEnd() 告诉OpenGL三角形已经创建好了。
正方形:
glBegin(GL_QUADS); // 绘制正方形
glVertex3f(-1.0f, 1.0f, 0.0f); // 左上
glVertex3f( 1.0f, 1.0f, 0.0f); // 右上
glVertex3f( 1.0f,-1.0f, 0.0f); // 左下
glVertex3f(-1.0f,-1.0f, 0.0f); // 右下
glEnd(); // 正方形绘制结束