2011-03-15 77 views

回答

6

有些手机支持它,有些不支持。一般来说,维也纳各组织是在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

+0

您还可以编写应用程序清单文件,以便安装时需要1.1 - >我该如何做到这一点?:) – lacas 2011-03-15 22:26:07

+0

您应该使用 for 1.1或<使用功能android:glEsVersion =“0x00020000”/> 2.0(低端设备不支持,但有一个更灵活的管道)。 – 2011-03-16 18:09:10

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

OpenGL ES 2.0的支持维也纳各组织良好,但存在的Android 2.2问题,它未命中GLES20类的API:

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

问题已经从Android 2.3的固定。