Как использовать OpenGL ES 2.0 в Android SDK (не NDK)? - PullRequest
5 голосов
/ 08 февраля 2011

Я не могу найти ссылку на это.Все документы для разработчиков Android ориентированы на OpenGL ES 1.0.Как начать использовать OpenGL 2.0 в Android SDK с использованием API уровня 8?Если уровень 8 не поддерживается, то какой уровень мне нужно использовать?

Какой процент телефонов Android, которые сейчас на рынке, поддерживают OpenGL ES 2.0?

Ответы [ 3 ]

8 голосов
/ 19 марта 2011

Проблема в том, что вам нужно реализовать три метода в GLSurfaceView, которые берут у GL10 из ОС.

public void onDrawFrame(GL10 gl)
public void onSurfaceChanged(GL10 gl, int width, int height)
public void onSurfaceCreated(GL10 gl, EGLConfig config)

Похоже, решение состоит в том, чтобы полностью игнорировать GL10 в вашем рендерере и просто использовать все статические методы класса GLES20.

public void onDrawFrame(GL10 glUnused) {
        GLES20.glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
        GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
        GLES20.glUseProgram(mProgram);
        ...
}

Все статические элементы GLES20 перечислены здесь: http://developer.android.com/reference/android/opengl/GLES20.html

Лучшая документация по этому вопросу есть в документации Khronos. http://www.khronos.org/opengles/sdk/docs/man/

4 голосов
/ 26 мая 2011

Эта ссылка показывает дистрибутив устройств Android, которые поддерживают разные версии OpenGL ES: http://developer.android.com/resources/dashboard/opengl.html

3 голосов
/ 08 февраля 2011

Вы должны посмотреть это видео http://www.youtube.com/watch?v=7-62tRHLcHk. Парень рассказывает о поддержке устройств для различных версий OpenGL ES и показывает, как начать работу с OpenGL на Android. Он также рассказывает о фрагментации устройств и о том, как вы можете их поддерживать. В основном большинство устройств «второго поколения» поддерживают 2.0 и поставляются с конца 2009 года. Если вы собираетесь использовать только 2.0 устройства, вам, очевидно, придется выполнить проверку системы, чтобы убедиться, что устройство X имеет надлежащие спецификации оборудования. 1003 *

Если вы хотите узнать, как настроить базовый рендерер OpenGL в SDK, перейдите к 21:00 в этом видео.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...