当前位置首页 > 百科> 正文

glMatrixMode

2019-09-13 23:58:19 百科
glMatrixMode

glMatrixMode

glMatrixMode是一个计算机函式,功能是指定哪一个矩阵是当前矩阵。创建一个投影矩阵并且与当前矩阵相乘,得到的矩阵设定为当前变换,但要先通过glMatrixMode设定成投影矩阵才会得到想要的投影矩阵变换。

基本介绍

  • 中文名:指定哪一个矩阵是当前矩阵
  • 外文名:glMatrixMode
  • 可选值:GL_MODELVIEW
  • glMatrixMode:设定当前矩阵模式:

参数

mode 指定哪一个矩阵堆叠是下一个矩阵操作的目标,可选值: GL_MODELVIEW、GL_PROJECTION、GL_TEXTURE.
说明
glMatrixMode设定当前矩阵模式:
GL_MODELVIEW,对模型视景矩阵堆叠套用随后的矩阵操作.
GL_PROJECTION,对投影矩阵套用随后的矩阵操作.
GL_TEXTURE,对纹理矩阵堆叠套用随后的矩阵操作.
与glLoadIdentity()一同使用
glLoadIdentity():将当前的用户坐标系的原点移到了萤幕中心:类似于一个复位操作
在glLoadIdentity()之后我们为场景设定了透视图。glMatrixMode(GL_MODELVIEW)设定当前矩阵为模型视图矩阵,模型视图矩阵储存了有关物体的信息。

函式的使用

glMatrixMode与gluPerspective函式的使用
GL_MODELVIEW 是模型矩阵GL_PROJECTION 是投影矩阵。 gluPerspective的是创建一个投影矩阵并且与当前矩阵相乘,得到的矩阵设定为当前变换,但要先通过glMatrixMode设定成投影矩阵才会得到想要的投影矩阵变换。
例如:
glMatrixMode(GL_PROJECTION);

......

glMatrixMode(GL_MODELVIEW);
gluPerspective(45.0f,(GLfloat)cx/(GLfloat)cy,0.1f,100.0f);
可以出来结果,反之,换位置后;
glMatrixMode(GL_MODELVIEW);

......

gluPerspective(45.0f,(GLfloat)cx/(GLfloat)cy,0.1f,100.0f);
glMatrixMode(GL_PROJECTION);
则,投影矩阵位置不正确.
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net