Какая разница между этим и как я могу запросить то, что поддерживается реальным телефоном? (GL10 или GL11)Android OpenGL ES GL10 или GL11
У меня есть HTC Legend, поддерживаемый GL11 или нет? Или герой ... и т. Д.??
Какая разница между этим и как я могу запросить то, что поддерживается реальным телефоном? (GL10 или GL11)Android OpenGL ES GL10 или GL11
У меня есть HTC Legend, поддерживаемый GL11 или нет? Или герой ... и т. Д.??
Там есть API для этого:
public int getGLVersion()
{
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
ConfigurationInfo info = am.getDeviceConfigurationInfo();
return info.reqGlEsVersion;
}
Верхняя порядка 16 бит представляют основную версию а младший младший - младший. Для получения дополнительной информации посетите this link. Итак:
Если вы хотите строковое представление (для отображения), вызов ConfigurationInfo.getGlEsVersion()
Вы можете использовать instanceof
на вашем экземпляре GL10, чтобы проверить, если GL11 или выше поддерживается:
public void onSurfaceCreated(GL10 gl, EGLConfig config)
{
if(gl instanceof GL11)
{
// ...
}
}
Используйте glGetString для запроса информации о версии. Вы должны быть осторожны при разборе возвращаемой строки - некоторые реализации не совсем соответствуют спецификации, но код here работает для меня.
На практике все, что на самом деле имеет графическое оборудование, будет поддерживать 1.1. 1.0 был профилем, разработанным для программных реализаций, и не существует аппаратного обеспечения, поддерживающего только 1.0 afaik.
Если у него нет графического оборудования, вы действительно не хотите запускать приложение gl на нем, так или иначе из-за очень низкой производительности, поэтому вы можете просто установить AndroidManifest.xml для указания версии 0x00010001, а затем вы знаете, что он поддержит GL11.
Кроме того, все, что выпущен в '11 или более поздней версии, скорее всего, поддерживать Глес 2.0 (и все поддержки gl2.0 gl1.1)
Проверьте андроид статистику рынка, 90,5% устройств поддерживают 2,0 и 1,0 ISN даже в статистике, потому что 1.0 никогда не используется кем-либо.
ОК, 2.0 средний GL11? и GL10 означает Gl1.0 и GL1.1? – lacas
Это не возвращает то, что аппаратное обеспечение может поддерживать, но то, что приложение запросило в AndroidManifest.xml – ryanm
Нет, 2.0 Средства GLES20, 1.1 Средства GL11 и 1.0 Средства GL10. – Lior