我正在开发一个使用OpenGL的小游戏。
我收到了一个gl_stack_underflow错误。我已经看过了代码,每个glPopMatrix都有一个glPushMatrix。你知道还有什么原因会导致这个错误吗?
发布于 2014-06-23 17:21:40
你是不是做了一个
glMatrixMode(GL_MODELVIEW);
/* ... */
glPushMatrix();“平衡”由
glMatrixMode(GL_PROJECTION);
/* ... */
glPopMatrix();在推送/弹出操作时哪个矩阵是活动的很重要。
无论如何,您根本不应该使用OpenGL内置的矩阵运算。使用诸如GLM、Eigen或linmath.h之类的工具来构建矩阵,将其作为程序数据结构的一部分,并且只需使用glLoadMatrix加载所需的矩阵,或者在最终使用着色器时使用glUniform。
不,OpenGL内置的矩阵运算不是图形处理器加速的,所以使用它们根本没有好处。
https://stackoverflow.com/questions/24361947
复制相似问题