Android OpenGL ES GL10 или GL11 - PullRequest
       7

Android OpenGL ES GL10 или GL11

8 голосов
/ 23 января 2011

В чем разница между этим и как я могу узнать, что поддерживается настоящим телефоном?(GL10 или GL11)

У меня есть HTC Legend, который поддерживается GL11 или нет?Или герой ... и т.д ...?

Ответы [ 4 ]

8 голосов
/ 23 января 2011

Для этого есть API:

public int getGLVersion() 
{
    ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    ConfigurationInfo info = am.getDeviceConfigurationInfo();
    return info.reqGlEsVersion;
}

Старшие 16 бит представляют старшую версию, а младшие 16 бит - младшую версию.Для получения дополнительной информации посетите эту ссылку .Итак:

  • Для OpenGLES 1.1, getGLVersion () == 0x00010001
  • Для OpenGLES 2.0: getGLVersion () == 0x00020000

Если вы хотитестроковое представление (для отображения), вызов ConfigurationInfo.getGlEsVersion()

1 голос
/ 23 января 2011

Вы можете использовать instanceof в своем экземпляре GL10, чтобы проверить, поддерживается ли GL11 или выше:

public void onSurfaceCreated(GL10 gl, EGLConfig config)
{        
  if(gl instanceof GL11)
  {
    // ...
  }
}
0 голосов
/ 20 января 2012

На практике все, что на самом деле имеет графическое оборудование, будет поддерживать 1.1. 1.0 был профилем, разработанным для программных реализаций, и не существует оборудования, которое поддерживает только 1.0 afaik.

Если у него нет графического оборудования, вы действительно не хотите запускать на нем свое приложение gl из-за очень низкой производительности, так что вы также можете настроить AndroidManifest.xml для указания версии 0x00010001, а затем знаю, что будет поддерживать GL11.

Кроме того, все, что было выпущено в '11 или новее, скорее всего, будет поддерживать GLES 2.0 (и все gl2.0 поддерживают gl1.1)

Проверьте статистику рынка Android, 90,5% устройств поддерживают 2.0, а 1.0 даже нет в статистике, потому что 1.0 никем не используется.

0 голосов
/ 24 января 2011

Используйте glGetString для запроса информации о версии. Вы должны быть осторожны при разборе возвращенной строки - некоторые реализации не совсем соответствуют спецификации - но код здесь работаетя.

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