1

我正在为android制作一个带有opengl es 2.0的程序。

我正计划使用 VBO 来存储我的顶点数据。但是当我开始这样做时,我注意到我错过了这个功能

glDrawElements()

带有一个覆盖,它将缓冲区中的偏移量作为最后一个参数而不是缓冲区本身。

我注意到以下关于 android 2.3 的发布摘要的引用

Graphics: Adds remaining OpenGL ES 2.0 methods glDrawElements() and glVertexAttribPointer() in the android.opengl.GLES20 class.

android 2.2 中没有对此的支持吗?

如果是这样,是否有其他方法可以做到这一点?(我不想仅仅因为这个而使用 NDK)

到目前为止,我想到的唯一解决方案是仅在 android 版本为 2.3+ 时才使用 VBO。但如果可以的话,我宁愿一直使用它们

4

3 回答 3

3

此链接非常清楚地解释了如何使用 VBO,即使在 Android 2.2 上也是如此。 http://www.learnopengles.com/android-lesson-seven-an-introduction-to-vertex-buffer-objects-vbos/

总结一下:“我推荐并且我决定使用的选项是使用您自己的 JNI 绑定。在本课中,我决定使用创建 libgdx 的人慷慨提供的绑定,一个跨平台根据 Apache License 2.0 许可的游戏开发库。您需要使用以下文件才能使其工作:

/libs/armeabi/libandroidgl20.so
/libs/armeabi-v7a/libandroidgl20.so
src/com/badlogic/gdx/backends/android/AndroidGL20.java
src/com/badlogic/gdx/graphics/GL20.java
src/com/ badlogic/gdx/graphics/GLCommon.java"

libgx 下载链接:http ://code.google.com/p/libgdx/

于 2012-08-22T11:55:24.787 回答
1

仅从 2.3 及更高版本支持此功能:S

(为什么他们不只是在发布之前完成这些方法??)

于 2011-10-14T22:29:04.783 回答
0

android-8 中有一个替代调用。这对你有用吗?

换句话说,不,偏移版本不可用。

于 2011-03-09T18:11:16.280 回答