| Artículos | 01 JUL 2003

OpenGL ES

Tags: Histórico
Eugenio Barahona.
En breve cualquier dispositivo móvil dispondrá de avanzados gráficos 3D acelerados por hardware, lo que requerirá algunas API de programación. OpenGL ES es una de ellas.

Los dispositivos móviles actuales, ya sean teléfonos móviles o PDA, disponen de unas capacidades gráficas ciertamente limitadas si las comparamos con las que ofrece el hardware gráfico disponible para los PC de sobremesa o incluso para las consolas de videojuegos. Prácticamente todos estos sistemas disponen de subsistemas de vídeo en los que el procesador principal debe ejecutar todas, o casi todas, las operaciones de dibujo, copia, redimensionado, etc. de mapas de bits. Si los fabricantes de este tipo de equipos desean que los usuarios empleen aplicaciones de ocio con gráficos avanzados, antes o después tendrán que dotar a esta clase de productos de funciones de aceleración por hardware de gráficos 2D y 3D.
Sin embargo, la presencia de hardware con funciones de aceleración de gráficos hace necesario el desarrollo de interfaces de programación (API) que faciliten a los desarrolladores la creación de aplicaciones que aprovechen las características de dicho hardware sin necesidad de realizar una programación de bajo nivel de dichos dispositivos, es decir, sin necesidad de manipular directamente los registros del hardware gráfico. Básicamente se debe disponer de una serie de funciones que proporcionen al programador independencia de la plataforma hardware, pero proporcionando al mismo tiempo los mecanismos necesarios para desarrollar aplicaciones de alto rendimiento gráfico sobre unas plataformas de recursos limitados y dotadas de microprocesadores con frecuencias de reloj bajas (en el mejor de los casos alrededor de 400 MHz y en el peor en torno a 50).
OpenGL ES es un subconjunto de OpenGL, por lo que su uso y funcionamiento resultará familiar para los programadores que usan dicha API para el desarrollo de aplicaciones para PC y estaciones de trabajo. Sin embargo, al usarse esta API sobre unas plataformas de recursos muy limitados, la especificación se ha dividido en dos perfiles: común y crítico. El primero de ellos está diseñado para usarse en dispositivos destinados al usuario final, por lo que aparecerá en equipos como teléfonos móviles, PDA o consolas de videojuegos. El segundo está orientado a su uso por fabricantes cuyas principales necesidades se centran en la fiabilidad y la posibilidad de certificar los resultados que genera la API, por lo que aparecerá en equipos de aviónica o de automoción.
Los perfiles que soporta OpenGL ES están diseñados en torno a la versión 1.3 de OpenGL, tratándose por lo tanto de interfaces de programación a las que se les ha eliminado parte de la funcionalidad de la API convencional. Sin embargo, esta tecnología se ha diseñado de manera que, si la evolución del hardware así lo permite, sea posible ir añadiendo progresivamente las características que actualmente no se soportan.
Por otro lado, la implementación que un determinado fabricante haga de OpenGL ES debe pasar una serie de pruebas de conformidad, lo que asegura a los creadores de software que las aplicaciones desarrolladas sobre un determinado hardware gráfico funcionarán correctamente sobre otro, siempre y cuando ambas plataformas hayan pasado los test de conformidad. Al igual que en OpenGL estándar, se dispone de un mecanismo de extensiones, lo que permitirá a los fabricantes de hardware ofrecer a los programadores un sistema mediante el que aprovechar las características de los procesadores gráficos más recientes que no estén soportadas en la API de manera estándar.
Durante el año próximo se rumorea que fabricantes como ATI, nVidia o PowerVR lanzarán procesadores gráficos para teléfonos móviles y PDA, lo que hará que tecnologías como OpenGL ES se conviertan en piedras angulares del desarrollo de software para dichos dispositivos.

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información