3

我正在为 Android 编写完全原生的 OpenGL ES 2.0 游戏引擎。以前我使用三星 Galaxy S (Android 2.3.3) 开发,现在使用三星 Galaxy S II (更新到 Android 4.0.3)。我没有在 Galaxy S II 上尝试引擎,但它仍然有 Android 2.3.3(硬件特定问题?)。

现在,引擎在 Android 2.3.3(在 Galaxy S 上测试)上运行和渲染良好,但在 Android 4.0.3(在 Galaxy S II 上测试)上无法渲染。问题与此类似:OpenGL Renderer not working on Ice Cream Sandwich

除了渲染之外,其他一切在 4.0.3 上都没有问题,屏幕上什么也没有出现。我设法在 4.0.3 上渲染了一个三角形,但是从模型中提取的顶点无论有没有纹理都不会渲染(使用 glDrawElements())。

我希望有一个简单的解决方案。
干杯

4

1 回答 1

4

我应该早点检查 GL 错误。问题发生glDrawElements()在我使用的地方GL_UNSIGNED_INTGL_UNSIGNED_BYTE并且GL_UNSIGNED_SHORT是唯一允许的值)。Android 2.3.3 似乎并不关心这一点。我将其更改为GL_UNSIGNED_SHORT,现在它可以完美运行。

于 2012-05-05T10:32:24.083 回答