OpenGL编程基础之二

2.7 OpenGLGLUT坐标系之间的差异

对于二维问题,在OpenGL中,x轴和y轴的正方向分别为向右和向上。对于GLUT中使用的输入函数和窗口系统,x轴和y轴的正方向分别为向右和向下。

当我们使用来自鼠标的输入时,需要同时考虑两种坐标系,这很容易产生混淆。

2.17 状态的保存

OpenGL状态决定了图元的绘制方式。矩阵堆栈(matrix stack)可用来保存投影矩阵和模型矩阵。每种堆栈只能容纳相应类型的矩阵。可用函数glPushMatrix()glPopMatrix()使矩阵入栈或出栈。所使用的矩阵由当前矩阵模式glMatrixMode(GL_MODELVIEWGL_PROJECTON)决定。注意,入栈和出栈操作必须成对使用;一次出栈必须与一次入栈对应。

OpenGL依据相关性将其属性划分为20组。我们可将多组属性或全部属性(GL_ALL_ATTRIBUTE_BITS)通过函数glPushAttrib()压入属性堆栈中,恢复这些状态则使用函数glPopAttrib()

posted @ 2011-11-20 20:10  杨溪  阅读(908)  评论(0编辑  收藏  举报