Local Info

j3d.org

Scenegraph Comparisons

Scenegraphs are a higher-level abstraction of general 3D concepts that are used to provide a rendered output. As a high-level abstraction, certain assumptions and domain-specific optimisations are made. These optimisations tend to focus the product for a specific set of markets, thus making them more useful in one area, and less useful in another. Aviatrix3D, like it's sibling APIs in the Java-based Scenegraph market don't try to cover all bases at once. This page outlines the differences between each of the known options in this space so that you may choose wisely for your project.

 

Aviatrix3D

  • Designed for the visualisation market.
  • Wide range of visual output device support. From PC upwards
  • Does not support sound or haptics (though planned)
  • OpenGL support only (uses JOGL as the Java-OpenGL wrapper)
  • Retained mode support only. No immediate mode support
  • Minimalist API design - no behaviours, or inbuilt automatic functionality at the core level (eg multitexture fallback, LODs etc).
  • LGPL License

 

Xith3D

  • Designed for the gaming market.
  • Supports multiple rendering APIs (OpenGL-only right now, others planned)
  • PC-oriented design (single-threaded internals, no multi-output device support etc)
  • Retained and immediate mode support
  • Many high-level scene graph constructs such as particle systems, LODs,
  • Almost direct copy of Java3D APIs, making porting easy for legacy apps
  • BSD License

 

JOGL

  • Direct, low-level bindings to OpenGL.
  • Currently the work-in-progress that is being used to test the design concepts for the work in JSR-231, which are the official bindings to OpenGL.
  • BSD License

 

LWJGL

  • Direct, slightly abstracted bindings to OpenGL, OpenAL and other APIs.
  • Designed as a gaming API with mimimal abstraction, but all-inclusive for all the needs of a game writer
  • BSD License