Поддержка OpenGL ES

libGDX имеет интерфейсы для прямого доступа к OpenGL ES 2.0 и 3.0 (при использовании libGDX 0.9.9 или более ранней версии, доступно 1,0 и 1.x). OpenGL ES эмулируется на персональном компьютере с помощью сопоставления OpenGL ES функций и OpenGL функций персонального компьютера. На некоторых платформах (iOS, GWT/HTML) поддерживается только OpenGL ES 2.0.

Если вашему Android приложению требуется OpenGL ES 2.0 функциональность, то необходимо добавить следующую строку в файл манифеста:

<uses-feature android:glEsVersion="0x00020000" android:required="true" />

Если вашему Android приложению требуется OpenGL ES 3.0 функциональность, то необходимо добавить следующую строку в файл манифеста:

<uses-feature android:glEsVersion="0x00030000" android:required="true" />

Этим самым вы предотвращаете себя от попадания вашей игры в список приложений, не поддерживающихся устройством в Google Play Store.

Модификаторы точности

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

#ifdef GL_ES 
#define LOW lowp
#define MED mediump
#define HIGH highp
precision mediump float;
#else
#define MED
#define LOW
#define HIGH
#endif

Этот код позволяет определить LOW, MED и HIGH макросы для эквивалентных OpenGL ES модификаторов точности и установить среднею точность по умолчанию для float типа в фрагменте шейдеров libGDX приложении. Имеет влияние только для платформ, работающих с OpenGL ES, на персональном компьютере макросы будут пустыми.

OpenGL ES 2.0 документация