The Mobile 3D Graphics API, commonly referred to as M3G, is a specification defining an API 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.