GL堆栈下溢发生在 glPopMatrix();
我无法弄清楚我遇到的问题..但我只是猜测推送& pop Matrix ...
我知道弹出堆栈没有任何内容可能会发生'堆栈下溢... 但我不认为我遇到了这个问题..请给我一个答案!
gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
gl.glPushMatrix();
gl.glScalef(1f, 1f, 1f);
gl.glTranslatef(0f, 0f, 0f);
gl.glMatrixMode(GL10.GL_TEXTURE);
gl.glLoadIdentity();
gl.glTranslatef(0.0f, bgScroll1,0.0f);
background.draw(gl);
gl.glPopMatrix(); //stack underflow happens at this line
答案 0 :(得分:1)
GL为每种矩阵类型维护一个单独的矩阵堆栈:GL_MODELVIEW
,GL_PROJECTION
,adn GL_TEXTURE
。推/弹矩阵操作始终在当前矩阵模式下工作(与所有与矩阵相关的GL命令)。因此,您的代码会推送到modelview堆栈,并尝试从纹理矩阵堆栈弹出,这可能是空的。
修改纹理矩阵后,应将矩阵模式设置回GL_MODELVIEW
。