如何获取OpenGL中矩阵堆栈的当前大小?

时间:2020-03-06 14:31:55  来源:igfitidea点击:

如何在OpenGL中获取矩阵堆栈的当前大小(GL_MODELVIEW,GL_PROJECTION,GL_TEXTURE)?

我想要这样做,以便可以进行一些错误检查,以确保在代码的某些部分中,我可以检查矩阵堆栈是否保持原始状态。

解决方案

尝试:

GLint depth;
  glGetIntegerv (GL_MODELVIEW_STACK_DEPTH, &depth);

其他堆栈的枚举是:

GL_MODELVIEW_STACK_DEPTH       
  GL_PROJECTION_STACK_DEPTH      
  GL_TEXTURE_STACK_DEPTH

如果使用多重纹理,则需要查询多个纹理矩阵堆栈。为此,通过glActiveTexture();设置当前的纹理单位。