我们将一些使用FBO扩展( GL_OES_framebuffer_object )的OpenGL ES 1.x代码移植到Android,并解决了基于 Tegra 的设备的问题( Tegra 2, Tegra 3 )。问题是,虽然设备在支持的扩展列表中报告了 GL_OES_framebuffer_object 扩展,但功能部分似乎已被破坏,特别是glGetIntegerv()
函数不接受任何与扩展相关的常量(例如GL_FRAMEBUFFER_BINDING_OES
)报告GL_INVALID_ENUM
错误。与此同时,其他与扩展相关的功能也可以正常工作。
我们测试的设备是Nexus7和Acer A500。
答案 0 :(得分:3)
在Tegra设备上,您需要将位深度设置为16,才能生效。一旦我们在MonoGame中做到了这一点,游戏就可以在Nexus 7和Acer500上正常运行。
d