Android Vertex Array Объекты? - PullRequest
       61

Android Vertex Array Объекты?

4 голосов
/ 26 марта 2012

Я пишу некоторый код Android в рамках подготовки к приложению с интенсивной графикой, которое планирую разработать. Я не делал OpenGL с 2004 года. Я наткнулся на http://www.opengl.org/wiki/Vertex_Array_Object, и несколько источников для платформы PC утверждают, что использование vertex-array-objects-объектов - лучший способ рендеринга.

Моя целевая платформа - смартфон Motorola Atrix 2 с Android 2.3.

Я не могу найти включение для функции, соответствующей GL_OES_vertex_array_object. Я хочу вызывать функции, похожие на glGenVertexArraysOES.

Как использовать VAO в Android?

Мои текущие включения

import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.CharBuffer;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;

import javax.microedition.khronos.opengles.GL10;
import javax.microedition.khronos.opengles.GL11;

Ответы [ 2 ]

4 голосов
/ 26 марта 2012

VAOs являются довольно новыми и не включены в OpenGL | ES 1.0 или 1.1 (не путать с Buffer Objects или, как их иногда называют VBOs). Вам придется импортировать и использовать OpenGL | ES 2.0, и, сделав это, вы должны будете внести некоторые изменения в свой графический код, чтобы рисовать с помощью шейдеров вместо glVertexPointer и подобных методов. Судя по всему, в Android нет класса GL20Ext или аналогичного, я бы посмотрел в интернете привязки или написал их сам, используя NDK.

1 голос
/ 26 марта 2012

На некоторых устройствах расширение VAO не реализовано. Сначала проверьте версию OpenGl ES с

gl.glGetString(GL10.GL_VERSION);

Затем проверьте, доступно ли расширение с помощью

gl.glGetString(GL10.GL_EXTENSIONS);

должно содержать: GL_OES_vertex_array_object

Для получения дополнительной информации о расширениях: Расширения OpenGL доступны на различных устройствах Android

Для получения дополнительной информации о VAO при проверке Android: OES_vertex_array_object и состояние клиента

Изменить: Изменить ответ, чтобы ответить на вопрос правильно. Спасибо за комментарий.

...