| |
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
|