基于Tegra的设备上的OES_framebuffer_object扩展是否已损坏?

时间:2013-04-05 10:42:08

标签: android opengl-es android-ndk tegra

我们将一些使用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。

1 个答案:

答案 0 :(得分:3)

在Tegra设备上,您需要将位深度设置为16,才能生效。一旦我们在MonoGame中做到了这一点,游戏就可以在Nexus 7和Acer500上正常运行。

d