CAPÍTULO V: DISEÑO, IMPLEMENTACIÓN Y EVALUACIÓN DE UNA ARQUITECTURA..
5.4.4 Gráficos 3D en dispositivos móviles
Existen dos grandes estándares de referencia para el desarrollo de
gráficos y aplicaciones 3D para dispositivos móviles: OpenGL ES y M3G.
5.4.4.1 OpenGL ES
OpenGL ES (OpenGL for Embedded Systems) es una variante
simplificada de la API gráfica OpenGL diseñada para teléfonos móviles,
PDAs, etc., que actúa como una interfaz entre la capa de software de bajo
nivel y el hardware gráfica. Hay que destacar que OpenGL ES, en sus
diferentes versiones, ha sido elegida como la API 3D oficial por muchos
fabricantes: Symbian OS, Android platform, iPhone SDK. Además, Sony
ha elegido a OpenGL ES como una de las APIs gráficas para su Playstation
3. A la vista de la elección de OpenGL ES por parte de la mayoría de
fabricantes se puede decir que este se ha convertido en el estándar gráfico
de facto para aplicaciones programadas en C.
J2ME dispone de una API denominada Java Binding for OpenGL ES (JSR
239) que permite el uso de OpenGL ES. La API JSR 239 no es
actualmente soportada por un gran número de dispositivos, lo que puede
ser un gran hándicap a la hora de decantarse por el uso de OpenGL ES
junto con el lenguaje de programación J2ME.
5.4.4.2 M3G
La API Mobile 3D Graphics (M3G) es una especificación de una API Java
destinada a generar gráficos 3D en dispositivos móviles. Actualmente la
versión disponible de M3G es la 1.1 aunque ya se encuentra en desarrollo
la versión 2.0 (JSR 297). M3G fue creada para cubrir las necesidades de
representación en 3D de este tipo de dispositivos, teniendo en cuenta las
limitaciones tanto de memoria como de capacidad de procesamiento,
además de la ausencia de elementos hardware necesarios para dicha
representación, como pueden ser unidades dedicadas para punto flotante
o para gráficos en 3D. M3G es una librería de alto nivel diseñada para ser
compatible con OpenGL ES, que puede trabajar sobre ella y que no
pretende ser un competidor sino un complemento. OpenGL ES requiere
de muchas líneas de código para construir una simple escena 3D,
mientras que con M3G minimiza el código a utilizar en las aplicaciones
gráficas, aumentando el rendimiento de las aplicaciones y mejorando la
productividad de los desarrolladores.
139