Mobile 3D Graphics API
Mobile 3D Graphics API for Java ME (M3G, also known as JSR 184) adds the package javax.microedition.m3g that allows rendering of three-dimensional objects on screen.
M3G is layered on top of OpenGL ES 1.0, thus providing a familiar and well-defined rendering model. In addition to the low-level rendering facilities, M3G also defines a scene graph structure and a corresponding file format for managing and deploying 3D content efficiently, along with all other necessary data: meshes, scene hierarchies, material properties, textures, animation keyframes, and so on. This data can be stored locally in a file (inside the JAR, for example), or downloaded over the network at runtime.
As of August 2009, version 2.0 of M3G (also known as JSR 297) is in Proposed Final Draft stage, pending the completion of the official conformance test kit before final ratification. M3G 2.0 will be available in two variants, Core and Advanced. The Core profile is targeted at low-end devices, allowing applications to better optimize their performance and memory usage compared to M3G 1.0. The Advanced profile adds programmable shaders and other high-end rendering features, but requires a powerful device with a GPU (Graphics Processing Unit).
More information on: