OpenGL函数思考-glMatrixMode
函数原型:
void glMatrixMode(GLenum mode)
参数说明:
mode 指定哪一个矩阵堆栈是下一个矩阵操作的目标,可选值:
- GL_MODELVIEW,对模型视图矩阵堆栈应用随后的矩阵操作。可以在执行此命令后,输出自己的物体图形了。
- GL_PROJECTION,对投影矩阵堆栈应用随后的矩阵操作。可以在执行此命令后,为我们的场景增加透视。
- GL_TEXTURE,对纹理矩阵堆栈应用随后的矩阵操作。可以在执行此命令后,为我们的图形增加纹理贴图。
在每个矩阵模式下都有一个矩阵对阵,在GL_MODELVIEW模式中,堆栈深度至少为32;在GL_PROJECTION和GL_TEXTURE模式中,堆栈深度至少为2;在任何模式中,当前矩阵总是该模式下矩阵堆栈中的最顶层矩阵。
函数说明:
glMatrixMode()命令将当前矩阵设置成参数所指定的模式,以满足不同绘图所需执行的矩阵变换。一般而言,在需要绘制出对象或要对所绘制对象进行几何变换时,需要将变换矩阵设置成模型视图模式;而当需要对绘制的对象设置某种投影方式时,则需要将变换矩阵设置成投影模式;只有在进行纹理映射时,才需要将变换矩阵设置成纹理模式。
与glLoadIdentity()一同使用,glLoadIdentity()功能是重置当前指定的矩阵为单位矩阵。