Я скачал Android NDK r9 и скомпилировал пример приложения. У меня смартфон Galaxy Nexus с обновлением до Android 4.3.
Как я могу программно узнать, поддерживается ли OpenGL ES 3 на моем устройстве?
Во-первых, посмотрите на Есть ли способ проверить, поддерживает ли устройство Android openGL ES 2.0?. Кроме того, посмотрите на Basemark ES 3.0
Ответ в Android OpenGLES документы. По сути, попробуйте создать 3.0 EGLContext
и если это не удается, вы знаете, что 3.0 не поддерживается.
На странице также показан альтернативный подход: создайте контекст для более низкого уровня (1.x или 2.x) и используйте его для вызова glGetString(GL_VERSION)
, Если строка версии указывает, что 3.x поддерживается, вы должны уничтожить этот контекст и создать новый.
Обновить: этот подход можно увидеть в Графика EglCore учебный класс. Следите за тем, что происходит, когда FLAG_TRY_GLES3
передается конструктору.