Survey of 3D Rendering Engines (March, 2008)


Aviatrix3D
Java
minimal API - no high-level constructs (i.e., behaviors)
no support for haptics
retained-mode only
does not appear to be actively developed (last beta release and Web site update was Jan 2007).
LGPL license


AgentFX (Agency9)
Java
Commercial product
full-featured engine (physics, lighting, shadows, meshes, etc)


3DzzD
Java
3D scene graph builder
fairly simple API
featured (collision detection, lighting, textures, shaders, etc.)
not open-source, unknown license
limited to Web delivery


Java3D
immediate, retained, and compiled-retained mode
many high-level constructs available
open-source, GPL2 license
multithreaded
generic API applicable to gaming and viz


Jmol
Java
optimized for molecular visualization
uses custom rendering engine specifically for molecules
surfaces, shading, lighting, no textures
open-source, LGPL license
complex source code
plug-in and app


JMonkey Engine
Java
3D gaming engine
full-featured (collision physics, textures, water, skin and bone, meshes, etc)
optimized for high-performance gaming
open-source


JOGL
direct Java bindings to OpenGL
not fully developed
BSD license


jReality
Java class library
optimized for mathematics vis
OpenGL support, CAVE support
support for different geometries (euclidean, hyperbolic, spherical)
shaders, textures, reflection maps, built-in tubes and curves
open-source, BSD license


JView
Java
very simple API and graphics
not well supported


VTK
core in C++ with Java, Python wrappers
*heavy-weight* visualization system
includes various viz algorithms (scale, tensor, volumetric)
high-powered modeling - polygon reduction, mesh smoothing, cutting, contouring
allows mix of 2D and 3D graphics
lots of interaction possibilities
surfaces, volumes, primitives, lighting, textures, transparencies, etc
requires significant computing power
requires OpenGL
not inherently cross-platform
open-source
possibly some complications vis-a-vis patents


VxInsight
map data to a 3D topology
cool looking output
unknown development status; no Web page
unknown system requirements (Windows-only?)
unknown feature set


Xith3D
Java
very similar to Java3D
some high-level constructs available (i.e., particle systems)
no support for multi-outputs like CAVE
BSD license


IN-SPIRE
PNNL software
closed-source and expensive


OpenDX
lots of power
open-source
support?


GeoZui4D
3D vis system for georeferenced data
extensible?
free for non-commercial, but not open-source


ParaView
Seems well supported:
The ParaView project started started in 2000 as a collaborative effort between Kitware Inc. and Los Alamos National Laboratory. The initial funding was provided by a three year contract with the US Department of Energy ASCI Views program. Today, ParaView development continues as a collaboration between Kitware, Sandia National Labs, CSimSoft, Los Alamos National Lab, Army Research Lab and others.
Scalability: "ParaView runs on distributed and shared memory parallel as well as single processor systems and has been succesfully tested on Windows, Mac OS X, Linux and various Unix workstations, clusters and supercomputers."
Plugins/Languages:
Supports Python scripting
http://www.paraview.org/Wiki/Plugin_HowTo
Plugins can be used to extend ParaView in several ways
Add new VTK objects (readers, writers, filters, etc...)
Add custom Qt widgets
Add custom toolbars
Add custom views in addition to the existing render view, line chart and bar chart.
What if we develop multiple plugins for paraview?
1. The visualization plugin that does exactly what we described our tool doing.
2. A plugin for the creation and importation of the genome metrics.