Bit-7 Software Technology homepage

Bit-7 Software Technology Limited

Home Tools Contact

MicrolightJava-3D

Overview

MicrolightJava3D is a general purpose realtime 3D rendering library for J2ME devices with MIDP2.0 or MIDP1.0. It can use the NokiaUI extensions, the Mascot Capsule v3 API or JSR184 for increased performance. It is optimized for games and other entertainment applications. Typical target devices include those based on Nokia's Series 60 platform (7650, 3650, 3660, N-Gage and 6600), Sony Ericsson K700i, K500i, S700, Motorola V500, Nokia's Series 40 v2 (6230), and numerous others. Smaller devices such as Nokia's Series 30 (3510i) and Series 40 are also supported, within the capabilities of those devices.

Games developed using MLJ3D are pure Java and fully independent. They can be downloaded over the air (OTA) just like any other Java game and will run on any suitable device. There is no separate library or middleware for users to install.

The same game code can utilise Bit-7's own renderer, JSR184 or Mascot Capsule, with no changes to the source code. This saves you time and money and vastly increases the number of handsets you can target.

On registration a no cost development version is available.

For application distribution, a variety of developer friendly payment schedules are available.

Features

The basic feature set is shown below. In some circumstances Bit-7 may be able to provide customizations for particular applications.

  • General purpose rendering - all 3 degrees of freedom for objects and for the camera.
  • Flat shaded or textured polygons including perspective correct texturing (textures loaded from .png resources).
  • Per pixel polygon intersection.
  • Texture sizes up to 128x128.
  • Transparent textures.
  • Easy to use API.
  • Picking functionality.
  • Automatic backface and view frustum culling.
  • Automatic near view-plane clipping.
  • Low memory usage - apps can run even in the 3510i's small heap.
  • Run-time or compile-time control of output size and zoom.
  • Animated textures.
  • Skeletal animation of models.
  • Animation can be imported from a 3D design package.
  • Quarternion interpolation for model animation.
  • Fast fixed point maths functions include sin, cos, asin, acos and sqrt.

To ease game development the rendering engine can be wrapped in an optional lightweight framework. This allows game mechanics to proceed in real-time regardless of the current frame-rate. It also provides an end-to-end rendering solution: from user supplied game mechanics to the screen.

Models can be hand created or imported directly from a 3D modelling package (supported formats are ac3d, Autodesk 3ds and Milkshape ASCII format).

Performance is a key issue with Java applications. While MicrolightJava3D's own rendering engine will never be as fast as a good native-code renderer it is sufficient for a wide range of games. For a typical game the real-world frame rate would be between 7 and 10 fps on device such as the 3650 and up to double this on more recent devices such as the Nokia 6600. This includes all game mechanics, status rendering and so forth. The simple example game Rocks runs at between 10 and 18 fps full screen on a Nokia 7650.

When using the Mascot Capsule API or JSR184 the full native-code rendering speed is available.

The distribution includes a full user manual and JavaDoc documentation for all classes.

Examples

The full source code for several examples is supplied with the MLJ3D distribution, including the Rocks game described here.

Bit-7's game RollerBot uses the MLJ3D library. Example screenshots and a 2 level downloadable demo are available here.

Licensing

The development distribution is available free on registration under this license .

Other licenses can be viewed here .