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