1

我在 iPhone/iPod/iPad/MacOSX/Windows 上创建了 DirectX8 保留模式的渲染器和加载器。DirectX8保留模式格式是场景图风格,而且层次很深。因此,只有 Android NDK OpenGLES 发生 GL 错误代码 0x503,0x0504(命令堆栈溢出或溢出)。

android的堆栈容量是不是有点?谁试图检查每个设备的容量?(NexusOne、HTC03A、Droid、Xpedia 等。)

4

1 回答 1

1

要查询最大堆栈大小,请使用带有 GL_MAX_MODELVIEW_STACK_DEPTH 和 GL_MAX_PROJECTION_STACK_DEPTH 的 glGetIntegerv。如果你推送太多矩阵,这将溢出。

您正在使堆栈下溢,这是您的代码中的一个错误。当堆栈中没有任何内容时不要弹出。

如果您发现堆栈空间太小,您可以通过软件制作自己的矩阵堆栈,这样就没有GL ES实现的限制。

于 2010-06-21T20:38:29.053 回答