Поддержка Android OpenGL-ES VBO или нет? - PullRequest
4 голосов
/ 15 марта 2011

Android OpenGL-ES VBO поддерживает или нет? Как я могу это проверить?

Спасибо

Ответы [ 3 ]

6 голосов
/ 15 марта 2011

Некоторые телефоны поддерживают это, некоторые нет.Как правило, 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 или нет.Вероятно, так и будет.

Для (слегка) связанной информации о различных возможностях GL устройств Android вы можете найти некоторые по этому вопросу: Расширения OpenGL, доступные на разных устройствах Android .

0 голосов
/ 09 марта 2015

OpenGL ES 2.0 хорошо поддерживает VBO, но в Android 2.2 есть проблема, которая не соответствует API в классе GLES20:

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

Эта проблема была исправлена ​​в Android 2.3.

0 голосов
/ 02 мая 2011
void draw(GL10 gl){
    GL11 gl11 = (GL11)gl;
    ...
    gl11.glBindBuffer(...);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...