我想知道如果我溢出OpenGL矩阵堆会发生什么 - 我的意思是,我推了太多次没有弹出。我刚试过并且在我的机器上没有发生可见错误。这是正常的吗?在每个正确的OpenGL实现上都是这样吗?或者OpenGL报告了一些错误,或者有什么东西可能爆炸?
答案 0 :(得分:4)
必须设置可以使用glGetError
检索的错误。根据{{3}}:
GL_STACK_OVERFLOW,0x0503:当无法完成堆栈推送操作时,因为它会超出该堆栈大小的限制。
您可以通过以下方式检查其限制:
GLint depth;
glGetIntegerv(GL_MODELVIEW_STACK_DEPTH, &depth);
我假设模型视图堆栈,但您也可以检查其他堆栈。