【问题标题】:Vertex Buffer Objects in support android SDK 2.2支持 android SDK 2.2 的顶点缓冲区对象
【发布时间】:2011-03-09 18:08:00
【问题描述】:

我正在用opengl es 2.0 for android制作一个程序。

我正计划使用 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。但如果可以的话,我宁愿一直使用它们

【问题讨论】:

    标签: android android-2.2-froyo opengl-es-2.0 android-sdk-2.3


    【解决方案1】:

    此链接非常清楚地解释了如何使用 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/

    【讨论】:

      【解决方案2】:

      只有 2.3 及以上版本才支持此功能:S

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

      【讨论】:

        【解决方案3】:

        在 android-8 中有一个alternative call。这对你有用吗?

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

        【讨论】:

        • 我对 opengl 很陌生,但据我所知,将缓冲区作为参数的版本是针对本地比特而不是 glBuffers 的,还是我弄错了?
        • 很遗憾,我不知道。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多