您的位置:首页 > 运维架构

NeHe OpenGL 第二课 学习总结

2012-06-26 14:50 302 查看
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(); // 正方形绘制结束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: