Jump to content

Mobile 3D Graphics API

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Flamurai (talk | contribs) at 08:38, 9 December 2004. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Mobile 3D Graphics for J2ME, commonly referred to as JSR-184, is specification defining an API for writing programs that produce 3D computer graphics. It extends the capabilities of the Java 2 Platform, Micro Edition, 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 three-dimensional scenes.

Goals of JSR-184

JSR-184 was designed to meet the specific needs of mobile devices, which are constrained in terms of memory, memory bandwidth, and processing power, and which often lack an FPU and graphics acceleration hardware such as a GPU. The API's architecture allows it to be implemented completely in software or to take advantage of any acceleration hardware present on the device.

Immediate and Retained Modes

JSR-184 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.

Retained mode uses a scene graph that that links all geometric objects in the 3D world in a tree structure. Higher-level information about each object — such as its geometric structure, position, and appearance — is retained from frame to frame.

Other Features

The JSR-184 standard also specifies a file format for 3D model data, including animation data. This allows developers to create content on PCs that can be loaded by JSR-184 on mobile devices.