2013-04-13 49 views
0

我不知道会发生什么,如果我溢出OpenGL矩阵堆栈 - 我的意思是,我没有弹出太多次。我只是试图在我的机器上发生可见的错误。这是正常的吗?这是否就像每个正确的OpenGL实现?或者OpenGL可能报告一些错误,或者可能爆炸?如果我溢出OpenGL矩阵堆栈会发生什么?

回答

3

它必须设置一个可以用glGetError​检索的错误。据OpenGL Error Codes

GL_STACK_OVERFLOW,0x0503:给定有堆栈推操作无法完成,因为它会溢出,堆的大小限制。

您可以检查它的极限:

GLint depth; 
glGetIntegerv(GL_MODELVIEW_STACK_DEPTH, &depth); 

我假设模型视图堆栈,但你可以检查其他栈为好。