Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 有人能解释一下Opengl矩阵的顺序吗?_C++_Visual Studio 2010_Opengl - Fatal编程技术网

C++ 有人能解释一下Opengl矩阵的顺序吗?

C++ 有人能解释一下Opengl矩阵的顺序吗?,c++,visual-studio-2010,opengl,C++,Visual Studio 2010,Opengl,我试图让两个不同的精灵移动,但我一直在思考矩阵是否超出了函数的范围,并且只能在该函数中使用,或者是否有方法切换到不同的矩阵?OpenGL为状态机建模。矩阵的所有更改都是永久性的。实际上,OpenGL甚至不知道调用它的函数 如果您想拥有一个作用域,可以将更改包装在glPushMatrix和glPopMatrix中 前 什么矩阵?什么功能?很难看出你的代码。投影和MultVIEW矩阵。C++的功能是指标准C++函数。@船长:您使用glMatrixMode、glRotate、glTranslate等函

我试图让两个不同的精灵移动,但我一直在思考矩阵是否超出了函数的范围,并且只能在该函数中使用,或者是否有方法切换到不同的矩阵?

OpenGL为状态机建模。矩阵的所有更改都是永久性的。实际上,OpenGL甚至不知道调用它的函数

如果您想拥有一个作用域,可以将更改包装在
glPushMatrix
glPopMatrix


什么矩阵?什么功能?很难看出你的代码。投影和MultVIEW矩阵。C++的功能是指标准C++函数。@船长:您使用glMatrixMode、glRotate、glTranslate等函数设置了什么?当它不是C/C++构造时,为什么它会“超出范围”?OpenGL函数要么绘制一些东西,要么更改OpenGL上下文的状态,我猜您只使用一个GL上下文,对吗?矩阵可以在矩阵堆栈上推送和弹出,参见glPushMatrix/PopMatrix之类的函数,将其放在推送和PopMatrix函数之间可以让另一个对象hmm使用它?如果我想让两个物体同时移动怎么办?哦!好了!谢谢
void func()
{
  glPushMatrix();
  glLoadIdentity();
  glTranslatef(1.f, 0.f, 0.f);
  // Render here
  glPopMatrix(); // Restore prior matrix state
}