Уроки программирования для Android

Android Class - просто и понятно о программировании для Android на языке Java
Немного теории. OpenGL ES в Android.

Немного теории. OpenGL ES в Android.

Комментарии: 0Разработка игр на Java для Android

Как известно для разработки игр необходимо использовать аппаратное ускорение. Конечно же простые казуальные игры можно без проблем писать используя "классические" графические возможности Android API. В данном курсе буду рассмотрены примеры использования OpenGL, а также стандартные способы работы с изображениями в Android API. На первом занятии хотелось бы немного рассказать о поддержке OpenGL® ES в Android.

OpenGL ES API

Платформа Android поддерживает аппаратное ускорение 2D и 3D графики с использование Open Graphics Library (OpenGL®), а более точно - OpenGL ES API (OpenGL for Embedded Systems — OpenGL для встраиваемых систем). OpenGL это кросcплатформенное графическое API описывающее стандартный программный интерфейс для оборудования работающего с 3D. Если сказать более просто, то набор классов и их методов, которые позволяет стандартным образом работать с графикой через аппаратные 3D ускорители на абсолютно разных платформах. Независимо от начинки устройства и размера экрана, используя OpenGL API вы получите одинаковые результаты.

Версии OpenGL ES API

Andoroid поддерживает следующие версии OpenGL ES API:

  • OpenGL ES 1.0 и 1.1 - поддерживается версией Android 1.0 и выше.
  • OpenGL ES 2.0 - поддерживается версией Android 2.2 (API level 8) и выше.
  • OpenGL ES 3.0 - поддерживается версией Android 4.3 (API level 18) и выше.
  • OpenGL ES 3.1 - поддерживается версией Android 5.0 (API level 21) и выше.
Обратите внимание, что поддержка OpenGL ES 3.0 обеспечена не на всех Android устройствах с версией 4.3 и выше. Производитель устройства может использовать чип в котором нет аппаратной поддержки API 3.0. Если вам необходимо использовать какие специфичные функции OpenGL ES 3.0, то придется делать программную проверку поддерживаемой версии на устройстве.

Сразу скажу OpenGL ES 1.0 не стоит рассматривать, т.к. минимально на 100% устройства на данный момент времени есть поддержка OpenGL ES 2.0. А теперь давайте разберемся в чем между ними разница.