Jump to content

Mobile 3D Graphics API

From Wikipedia, the free encyclopedia
(Redirected from JSR184)
Screenshot of Asphalt 3: Street Rules, showing the capabilities of the Mobile 3D Graphics API.
Mobile 3D Graphics API
Developer(s)Java Community Process
Stable release
2.0 / January 1, 2007; 17 years ago (2007-01-01)
Preview release
- / -
Operating systemCross-platform
Type3D computer graphics software (library/API)
WebsiteJSR 184: Mobile 3D Graphics API for J2ME
M3G file format
Filename extension
.m3g
Internet media type
application/m3g
Developed byOracle
Latest release
1.1
Type of format3D computer graphics
StandardJSR 184
WebsiteJSR 184: Mobile 3D Graphics API for J2ME

The Mobile 3D Graphics API, commonly referred to as M3G, is an API specification for writing Java programs that produce 3D computer graphics. It extends the capabilities of the Java ME, a version of the Java platform tailored for embedded devices such as mobile phones and PDAs. The object-oriented interface consists of 30 classes that can be used to draw complex animated three-dimensional scenes. M3G was developed under the Java Community Process as JSR 184. As of 2007, the current version of M3G is 1.1, but version 2.0 is in development as JSR 297.

Immediate and retained modes

[edit]

M3G provides two ways for developers to draw 3D graphics: immediate mode and retained mode. In immediate mode, graphics commands are issued directly into the graphics pipeline and the rendering engine executes them immediately. When using this method, the developer must write code that specifically tells the rendering engine what to draw for each animation frame. A camera, and set of lights are also associated with the scene, but is not necessarily part of it. In immediate mode it is possible to display single objects, as well as entire scenes (or worlds, with a camera, lights, and background as parts of the scene).

Retained mode always uses a scene graph that links all geometric objects in the 3D world in a tree structure, and also specifies the camera, lights, and background. Higher-level information about each object—such as its geometric structure, position, and appearance—is retained from frame to frame. In retained mode, data are not serialized by Java's own serialization mechanism. They are optimized by the M3G serialization mechanism, which produces and loads data streams conforming to the .m3g file format specification for 3D model data, including animation data format. This allows developers to create content on PCs that can be loaded by M3G on mobile devices.[1]

Further reading

[edit]
  • Alessio Malizia: Mobile 3D Graphics, Springer, 2006, ISBN 978-1-84628-383-3
  • Kari Pulli, Tomi Aarnio, Ville Miettinen, Kimmo Roimela, Jani Vaarala: Mobile 3D Graphics with OpenGL ES and M3G, Morgan Kaufmann, 2007, ISBN 0-12-373727-3
  • Claus Höfele: Mobile 3D Graphics: Learning 3D Graphics with the Java Micro Edition, Thomson Course Technology PTR, 2007, ISBN 1-59863-292-2
  • Carlos Morales, David Nelson: Mobile 3D Game Development: From Start to Market, Charles River Media, 2007, ISBN 1-58450-512-5

References

[edit]
[edit]
Java Community Process
  • JSR 184 (Mobile 3D Graphics API for J2ME 1.0, 1.1)
  • JSR 297 (Mobile 3D Graphics API 2.0)
  • JSR 239 (Java Bindings for OpenGL Embedded Subset) – related Java ME graphics specification
Specifications
list of compatible devices