OpenGL VBO不应该用于运行Android 2.2(Froyo)的设备吗?

时间:2014-07-23 07:40:44

标签: opengl-es-2.0 vbo android-2.2-froyo

这是个玩笑吗?我希望这是因为我听说VBO是要走的路,我想从现在开始使用它。

2 个答案:

答案 0 :(得分:2)

正如 Reto Koradi 所解释的,2.2具有VBO支持但没有Java绑定。要在2.2上使用VBO,您可以使用官方GDC11演示中的GLES20Fix网桥:https://code.google.com/p/gdc2011-android-opengl/

然而,2.2现在几乎完全灭绝,所以你可以使用最低API级别9.当前使用的Android版本的统计数据:http://developer.android.com/about/dashboards/index.html

答案 1 :(得分:1)

这是真的,至少如果您使用的是Java API。包含VBO支持的OpenGL ES 2.0添加了API级别8,对应于2.2(Froyo)。

但他们最初忘记为VBO支持所需的关键入口点添加适当的Java绑定。它最终被添加到API级别9,相当于2.3(Gingerbread)。因此在Froyo中,您可以使用NDK中的本机代码中的VBO,但不能使用Java绑定。 ES 2.0的原生绑定实际上甚至在Froyo之前,我记得在Éclair中使用它们。

您可以通过查看GLES20 documentation来看到这一点,它说“在API级别8中添加”。

但是,如果您查看glVertexAttribPointer()调用旁边的小字体,其中int作为其最后一个参数,它会说它是在API级别9(direct documentation link)中引入的