Sections

History

j3d.org

Java 3D Utility Code

This section contains references to lots of Java 3D utility classes and packages for making you application simpler to write. The sources are scoured from around the net. Some of these we have grabbed from posts to the Java 3D interest list while others are from individuals posting them to us. We don't hold any warranties for this code. We just grab it and post it, so use it at your own risk :)

If you do find problems please fix it and then contact us using the link at the bottom of the page.

 

Java3D Standard Utilities

These are items of code that implement one of the standard Java 3D interfaces.

File Loaders

Java 3D does not have a native file format. Like OpenGL, it is an API for providing 3D graphics rendering in real time. File loaders read a text or binary file and convert it into the scene graph structure so that Java 3D may render it. A file loader implements Sun's utility interface com.sun.j3d.loaders.Loader interface to provide a generalised API for loading any file type.

This archive provides a list of all known file loaders. Formats supported at least partially include OBJ, Lightwave3D, VTK, VRT and DEM.

Input Devices

Input devices provide the glue between external devices like joysticks, gloves and motion capture devices in a generic fashion. This code implements the javax.media.j3d.InputDevice interface.

Audio Devices

Audio devices provide a renderer of sound information in either 2D or 3D. Sun includes with their utility classes an implementation that uses the JavaSound APIs. However, specialist audio devices are also around and these drivers are used to handle those.

This code implements the javax.media.j3d.AudioDevice interface.

 

Locally Held Code

  • Point Picker code for picking a point from a PointArray.
  • Mitsubishi VolumePro example of the VolRend Demo, by Doug Gehringer.
  • Volume Rendering examples have been created by Doug Gehringer at Sun.
  • Extended Picking Utilities, which can be used to pick lines and points using Java 3D 1.1. (Note that J3D 1.2 has some more refined picking code so this won't be useful for that).
  • Keyboard navigation code to for DOOM-style navigation.
  • Arrows are a useful primitive for pointing at objects in 3D space.
  • Stereo with shutter glasses. A small utility with code that shows how to organise a Java 3D scene to work with any set of shutter glasses that run on a standard monitor.
  • Avatar Skin and Bones example showing how to do a simple inverse kinematic's renderer in Java3D.

 

Remote Sites

  • NCSA Portfolio is a collection of utility objects to use with in your Java 3D programs. It comes with full documentation for the objects in the library, and even comes with example source code on how to use them! This new version has been compiled and tested with Java 3D 1.1.2.
  • The J3dTree Home Page is where you can find a useful Scenegraph Viewer. You can use it to see how your scenegraph trees are set up. It includes examples on how to use J3dTree, and is useful for debugging your programs.
  • Sensor implementations for many 3D input devices like Polhemus Fastrak / Isotrak and Win32 Joystick handlers.
  • 3D User Interfaces with Java 3D A framework from Jon's book that could serve as an excellent source of examples of how to use Java 3D.
  • Eric Reiss' Java page. Behaviours for doing orbits and other UI interactions. Also contains some other useful parts like Matrix maths and general Java code.