La biblioteca de desarrollo móvil OpenGL®, más comúnmente conocida como OpenGL® para sistemas embebidos (OpenGL® ES o GLES), es una colección de funciones basada en la distribución estándar OpenGL® que se ha reducido tanto en tamaño como en funcionalidad inherente para permitir la biblioteca para ser utilizado en una amplia gama de dispositivos móviles y sistemas integrados. Una aplicación que utiliza la biblioteca móvil OpenGL® puede representar de manera eficaz gráficos tridimensionales (3D) con cualquier hardware propietario que se haya utilizado en el dispositivo, generalmente a través de un controlador intermedio especial o una capa de software. Existen varias versiones de la biblioteca móvil OpenGL® para adaptarse a los diversos tipos de hardware integrado que se pueden utilizar, desde sistemas fijos hasta sistemas programables. Al igual que la forma estándar de OpenGL®, la versión móvil proporciona extensiones para funciones de hardware personalizadas desarrolladas por los fabricantes.
El mayor desafío al que se enfrenta cualquier implementación móvil de OpenGL® son las limitaciones inusualmente pequeñas de los sistemas integrados y los dispositivos móviles. Esto significa que las bibliotecas que normalmente se utilizan para sistemas de escritorio o portátiles, que estaban destinadas a ser empleadas en un sistema operativo completo con al menos recursos moderados, deben modificarse para ocupar menos espacio y hacer frente a la posible falta de disponibilidad de recursos mientras se ejecuta un programa. . Estos recursos pueden ser memoria, potencia de procesamiento o incluso acceso a un contexto de visualización, pero también pueden incluir elementos mucho más complejos, como sistemas de archivos o puertos de entrada y salida que pueden no tener presencia en el dispositivo.
Una implementación de biblioteca móvil OpenGL® también debe abordar el problema del hardware individual, a veces único, en los dispositivos. Aunque la biblioteca se extrae en gran medida de la interfaz real de bajo nivel entre el hardware y el software, es posible que algunas funciones de OpenGL® no encajen perfectamente en el paradigma operativo de la pantalla o el hardware de gráficos. Para evitar este problema, la organización que desarrolla OpenGL® creó un estándar que las interfaces propietarias pueden usar para garantizar que los programadores puedan usar código común en aplicaciones móviles y recibir resultados predecibles. Los fabricantes tienen la opción de no utilizar los estándares desarrollados, en los que pueden necesitar crear controladores OpenGL® personalizados y extensiones para el hardware.
En sistemas avanzados, como consolas o tabletas, la biblioteca móvil ligera OpenGL® se puede utilizar para crear gráficos 3D que son de la misma calidad y velocidad que los de un sistema de escritorio. Esto se debe al soporte integrado para funciones como los sombreadores, así como al hardware de gráficos avanzado que puede acelerar el renderizado sin la necesidad de pasar por varias piezas de hardware intermedio, como podría ser el caso de una computadora que no usa una tarjeta gráfica integrada. . Las bibliotecas móviles OpenGL® se han convertido en una de las herramientas de programación de gráficos estándar que se utilizan en dispositivos que van desde pequeños sistemas de juegos de consola hasta asistentes digitales portátiles.