Установить версию OpenGL ES на Android (NDK) - PullRequest
0 голосов
/ 09 августа 2011

Я следую этим документам и пытаюсь установить версию OpenGL на 1.1. Но когда я звоню glGetString(GL_VERSION) в моем C-коде, он всегда возвращает мне

OpenGL ES-CM 1.0

Я считаю, что должен указывать версию при создании контекста (или поверхности), но я не могу найти API для этого.

Я также получаю такие ошибки:

08-09 13: 47: 13.642: ОШИБКА / libEGL (567): называется нереализованным OpenGL ES API

, который также доказывает, что OpenGL ES 1.0 используется вместо 1.1.

Редактировать: я должен отметить, что на устройстве все в порядке. Проблема существует только на эмуляторе (протестировано на платформах 2.2 и 2.3.3)

Edit2: протестировано на HTC Wildfire с Android 2.2.1 и также показывает версию OpenGL 1.0

1 Ответ

1 голос
/ 10 августа 2011

Эмулятор реализует только 1.0, так что этого следовало ожидать. В итоге вы получаете любую версию, которую поддерживает аппаратное обеспечение (или эмулятор).

В манифесте вы только указываете, какая версия GLES требуется вашему приложению. Из руководства по манифесту:

Заявленные элементы являются только информационными, что означает, что Сама система Android не проверяет поддержку соответствующих функций на устройстве перед установкой приложения.

Я должен отметить, что эмулятор действительно реализует большинство функций 1.1, таких как поддержка VBO, так что вы все равно можете протестировать свое приложение на нем, внеся небольшие изменения.

...