Android OpenGL-ES VBO支持与否?

时间:2011-03-15 15:37:44

标签: android opengl-es

Android OpenGL-ES VBO支持与否?我怎么检查这个?

由于

3 个答案:

答案 0 :(得分:6)

有些手机支持它,有些则不支持。通常,VBO在OpenGL 1.1中是必需的,因此如果设备报告

gl.glGetString(GL10.GL_VERSION);

为1.1或更高版本(您也可以编写应用程序清单文件,以便安装时需要1.1),然后支持它们。

如果设备仅支持OpenGL ES 1.0,则应检查

的返回值
gl.glGetString(GL10.GL_EXTENSIONS);

是否包含 ARB_vertex_buffer_object 。可能它会。

有关Android设备的各种GL功能的(略)相关信息,您可以在此问题中找到一些:OpenGL extensions available on different Android devices

答案 1 :(得分:0)

void draw(GL10 gl){
    GL11 gl11 = (GL11)gl;
    ...
    gl11.glBindBuffer(...);
}

答案 2 :(得分:0)

OpenGL ES 2.0支持VBO,但Android 2.2中存在一个错过GLES20类api的问题:

public static native void glDrawElements(
    int mode,
    int count,
    int type,
    int offset
);

此问题已在Android 2.3中修复。