La API de gráficos 3D para dispositivos móviles , comúnmente conocida como M3G , es una especificación que define una API para escribir programas Java que producen gráficos por computadora en 3D . Amplía las capacidades de Java ME , una versión de la plataforma Java diseñada para dispositivos integrados como teléfonos móviles y PDA . La interfaz orientada a objetos consta de 30 clases que se pueden utilizar para dibujar complejas escenas animadas tridimensionales. M3G fue desarrollado bajo el Proceso de la Comunidad Java como JSR 184. A partir de 2007[actualizar], la versión actual de M3G es 1.1, pero la versión 2.0 está en desarrollo como JSR 297.
![](http://wikiimg.tojsiabtv.com/wikipedia/en/thumb/e/e9/Asphalt_3_gameplay.png/220px-Asphalt_3_gameplay.png)
Objetivos de M3G
M3G fue diseñado para satisfacer las necesidades específicas de los dispositivos móviles, que están restringidos en términos de memoria y potencia de procesamiento, y que a menudo carecen de una FPU y hardware de gráficos como una GPU . La arquitectura de la API permite implementarla completamente dentro del software o aprovechar el hardware presente en el dispositivo.
Modos inmediato y retenido
M3G proporciona dos formas para que los desarrolladores dibujen gráficos en 3D: modo inmediato y modo retenido . En el modo inmediato, los comandos de gráficos se envían directamente a la canalización de gráficos y el motor de renderizado los ejecuta de inmediato. Al usar este método, el desarrollador debe escribir código que le diga específicamente al motor de renderizado qué dibujar para cada cuadro de animación . Una cámara y un juego de luces también están asociados con la escena, pero no necesariamente forman parte de ella. En el modo inmediato es posible mostrar objetos individuales, así como escenas completas (o mundos, con una cámara, luces y fondo como partes de la escena).
El modo retenido siempre usa un gráfico de escena que vincula todos los objetos geométricos del mundo 3D en una estructura de árbol y también especifica la cámara, las luces y el fondo. La información de nivel superior sobre cada objeto, como su estructura geométrica, posición y apariencia, se retiene de un cuadro a otro.
Otras características
El estándar M3G también especifica un formato de archivo para los datos del modelo 3D, incluidos los datos de animación. Esto permite a los desarrolladores crear contenido en PC que M3G puede cargar en dispositivos móviles.
Otras lecturas
- Alessio Malizia: Gráficos 3D móviles , Springer, 2006, ISBN 978-1-84628-383-3
- Kari Pulli, Tomi Aarnio, Ville Miettinen , Kimmo Roimela, Jani Vaarala: Gráficos 3D móviles con OpenGL ES y M3G , Morgan Kaufmann, 2007, ISBN 0-12-373727-3
- Claus Höfele: Mobile 3D Graphics: Learning 3D Graphics with Java Micro Edition , Thomson Course Technology PTR, 2007, ISBN 1-59863-292-2
- Carlos Morales, David Nelson: Desarrollo de juegos 3D para dispositivos móviles: desde el inicio hasta el mercado , Charles River Media, 2007, ISBN 1-58450-512-5
Utilidades M3G
- Desktop-M3G : implementación de código abierto de M3G para Linux y Android
- XMM3G : implementación de código abierto de M3G para Windows, WinCE, Linux, Android, iOS y Bada
- M3X [ enlace muerto permanente ] : codificación XML del formato de archivo .m3g y herramientas de código abierto relacionadas
- Wizzer Works M3G Viewer : kit de herramientas de código abierto para ver y manipular archivos .m3g
- M3GExport para Maya
- Exportador Mascot Capsule M3G para 3ds Max, Maya, Lightwave y Softimage | XSI
- Exportador M3G para Milkshape 3D para MilkShape3D
- Blender Exporter : un exportador M3G de código abierto para Blender
- Blender Converter : un convertidor de nivel de archivo de código abierto para Blender
- Exportador de M3G para Metasequoia : un exportador de M3G de código abierto para Metasequoia
- M3G Reader Writer : una biblioteca C / C ++ de código abierto para leer / escribir archivos .m3g
enlaces externos
- JSR 184 (API de gráficos 3D para dispositivos móviles para J2ME 1.0, 1.1)
- Especificación JSR 184 1.1 ( Especificación técnica de la API de gráficos 3D para dispositivos móviles, versión 1.1, 22 de junio de 2005)
- JSR 297 (API 2.0 de gráficos 3D para dispositivos móviles)
- Introducción a la API de gráficos 3D para dispositivos móviles para J2ME
- Gráficos 3D para dispositivos móviles Java: Parte 1 y Parte 2
- JSR 239 (Java Bindings for OpenGL Embedded Subset): especificación de gráficos Java ME relacionada
- Dispositivos compatibles con JSR 184 (listado de rendimiento de la mayoría de los dispositivos 3D móviles)