|
MicrolightJava-3D
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.
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 .
|