我在iPhone / iPod / iPad / MacOSX / Windows上创建了DirectX8保留模式的渲染器和加载器。 DirectX8保留模式格式是场景图形式,层次结构如此之深。 因此,只发生了Android NDK OpenGLES GL错误代码0x503,0x0504(命令堆栈溢出或流量不足)。
android的堆栈容量有点吗? 谁试图检查每台设备的容量? (NexusOne,HTC03A,Droid,Xpedia等。)
答案 0 :(得分:1)
要查询最大堆栈大小,请将glGetIntegerv与GL_MAX_MODELVIEW_STACK_DEPTH和GL_MAX_PROJECTION_STACK_DEPTH一起使用。如果你推得太多的矩阵,这将会溢出。
您正在使堆栈下溢,这是代码中的错误。当堆栈中没有任何东西时,不要弹出。
如果您发现堆栈空间太小,您可以通过软件创建自己的矩阵堆栈,这不会受到GL ES实现的限制。