Android работает с OpenGL ES 1.1 или 1.0? - PullRequest
3 голосов
/ 12 января 2010

Я разрабатываю собственное приложение для Android и пытаюсь использовать такие функции, как glIsEnabled, которые доступны только в OpenGL ES 1.1. Документы Google утверждают, что NDK 1.6R1 поддерживает OpenGL ES v1.1, но вызов функции завершается неудачно с «нереализованным API Open GL ES», и если я выполняю glGetString (GL_VERSION), он возвращает «OpenGL ES 1.0 CM» в качестве версии.

Так что, если 1.1 доступен, на что я должен ссылаться, чтобы получить его, или что еще мне нужно изменить, чтобы получить его?

Ответы [ 3 ]

11 голосов
/ 12 января 2010

Вы не можете рассчитывать на что-то более высокое, чем OpenGL ES 1.0, если хотите работать на всех устройствах Android. Но если вам абсолютно необходимы некоторые методы OpenGL ES 1.1, вы можете определить minGLVersion в вашем файле манифеста, и он не позволит людям загружать его на неподдерживаемые устройства. Это выглядит так:

// the high 16 bit define the Major Version,
// the low 16 bits define the Minor Version,
// so this is OpenGL ES 1.1
<uses-feature android:glEsVersion="0x00010001" />
4 голосов
/ 12 января 2010

Документы Android говорят ( 3D с OpenGL ):

Наконец, обратите внимание, что хотя Android и включает в себя некоторую базовую поддержку OpenGL ES 1.1, поддержка не завершена , и в настоящее время на нее не следует полагаться.

Я предполагаю, что это то же самое с NDK.

1 голос
/ 25 мая 2010

Если вы используете t NDK для создания собственной библиотеки, использующей API OpenGL ES, приложение, содержащее эту библиотеку, может быть развернуто только на устройствах с минимальными версиями платформы, описанными в таблице ниже.

OpenGL ES-версия, совместимая с платформой (-ами) Android Обязательный атрибут использования-sdk OpenGL ES 1.1 Android 1.6 и выше Android: minSdkVersion = "4" OpenGL ES 2.0 Android 2.0 и выше Android: minSdkVersion = "5"

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