
Java 3D JSR-184 Tutorial
JSR-184 is a new Java standard intended to provide an API to produce
interactive 3D graphics for use on mobile devices. It is designed to
be scalable and to have a small footprint--to not use too much memory
or processing resources. Applications of the new standard could include
games, animated messages, screen savers, custom user interfaces, or interactive
product visualization.
The standard is targeted at mobile devices such as mobile handsets,
which typically do not have much memory or processing power, and no hardware
support for 3D graphics or floating point math. However, the JCP designed
the standard to be highly scalable, up to powerful desktop machines,
to ensure that programs will run on a wide variety of devices.
The target platform is the J2ME Java environment. The JSR-184 API is
designed to be an optional package that is used in conjunction with J2ME.
The standard was developed in the Java Community Process (JCP), an open
international organization of Java developers and licensees with the
purpose of developing and revising Java specifications, reference implementations,
and compatibility kits.
The specification work is being led by Jyri Huopaniemi of Nokia Corporation.
As of the end of October 2003, the standard is in Final Release. This
means that the standard has completed both Java community and public
review, and is final. A standard is not considered a final release, until
its Reference Implementation and Technology Compatibility Kit are completed.
JSR-184 has completed both.
Related JSRs
Related JSR standards efforts include:
JSR-134
An API designed and optimized specifically for gaming on small-resource
platforms. While this does address 3D to some extent, it is specific
to gaming. JSR-184 is designed to be a general-purpose 3D graphics
standard.
JSR-135
An API designed to provide high-level control of playback of a variety
of media types on mobile devices. This does not address 3D graphics,
but might be used in conjunction with JSR-184 to control playback of
3D content.
JSR-148
This addresses volumetric imaging and 3D vector math. One difference
is JSR-184 represents 3D data as polygons, rather than volumetric data.
However, the vector math package is related to JSR-184.
JSR-912
This is the existing Java 3D standard. However, it is not optimized for
low-resource environments such as the mobile handset.
Superscape Swerve
Superscape, a company that specializes in 3D technology for Java and
other native wireless environments, announced on November 4, 2003 that
it was the first to implement the JSR-184 standard in a product. The
Superscape Swerve package is available in a JSR-184 configuration.
Swerve Client (the handset engine) has been optimized to run on a single
ARM 9 (or above) processor and can also use any available hardware acceleration
on the handset using OpenGL ES. It comes in two flavors:
Swerve Client SR
The Swerve software renderer accommodates the full range of screen
sizes and color depths available on today's devices and requires
no additional
graphics libraries. It is intended for devices without hardware
graphics acceleration.
Swerve Client ES
Swerve Client ES utilizes OpenGL ES to execute many of the rendering
functions required in JSR 184, using dedicated hardware accelerators
in the device. It is intended for devices with hardware graphics
acceleration.
Swerve Studio (the authoring tool) is a development environment for
creating interactive 3D applications for wireless devices. It is based
on the design software 3D Studio Max.
Superscape was a founder member of the JSR-184 Expert Group, which also
included Nokia, Vodafone, Siemens, ARM, Sony Ericcson, and Motorola.
More Information
JCP JSR-184 Page
Superscape
*The WAVE Report is not responsible for content on additional sites.
|