OpenGL ES
# OpenGL ES

OpenGL ES (OpenGL for Embedded Systems) es una variante simplificada de la API gráfica OpenGL diseñada para dispositivos integrados tales como teléfonos móviles, PDAs y consolas de videojuegos. La define y promueve el Grupo Khronos, un consorcio de empresas dedicadas a hardware y software gráfico interesadas en API gráficas y multimedia.

## Versiones

Existen varias versiones de la especificación OpenGL ES. La versión 1.0 está basada en OpenGL 1.3; OpenGL ES 1.1 se define en relación con OpenGL 1.5 y OpenGL ES 2.0 parte de OpenGL 2.0.

Al crear OpenGL ES 1.0, gran parte de la funcionalidad de la API OpenGL original fue eliminada, aunque se añadió también alguna. Dos de las diferencias más importantes entre OpenGL ES y OpenGL, son la eliminación de la semántica de las llamadas glBegin–glEnd para representar primitivas (en favor de arrays de vértices); y la introducción de tipos de datos en formato de punto fijo para su uso en coordinadas de vértices, lo que es útil debido a la limitada capacidad de cómputo que tienen los procesadores integrados, los cuales a menudo no disponen de una unidad aritmética en punto flotante. Muchas otras áreas de funcionalidad se eliminaron en la versión 1.0 para producir una interfaz ligera. Por ejemplo, representación de polígonos complejos, stippling, texturas 3D, el buffer de acumulación, display lists, etc.

OpenGL ES 1.1 es compatible con la versión 1.0 y añade sobre ella las siguientes características:

* soporte obligatorio de multi-texturas
* operaciones más sofisticadas sobre multi-texturas
* generación automática de mipmaps
* vertex buffer objects, etc.

OpenGL ES 2.0, publicada en marzo de 2007, elimina casi toda la funcionalidad fija y la reemplaza por unidades programables por el usuario. En consecuencia, OpenGL ES 2.0 no es retrocompatible con OpenGL ES 1.1.

OpenGL ES 3.0 fue publicado el 6 de agosto de 2012. Implementa mejoras comparables con las añadidas a OpenGL 4.3. Esta versión sí es compatible con OpenGL ES 2.0.

## Uso

OpenGL ES ha sido seleccionada como la API para gráficos 3D oficial en el sistema operativo Symbian OS y la plataforma para dispositivos móviles Android.

OpenGL ES 2.0 es la biblioteca gráfica 3D para el dispositivo Nokia N900 con sistema operativo Maemo basado en Linux.

OpenGL ES es la biblioteca gráfica 3D en el SDK del iPhone. Su sistema operativo, el iOS, soporta las versiones 1.1 y 2.0 dependiendo del dispositivo.

OpenGL ES 1.0 más algunas extensiones y con soporte de Cg está disponible para la PlayStation 3 como API gráfica oficial.

