Here are the few traits that a framework used by a good visualisation environment would need:
- It should have good support for primitive graphics, 3D models and images.
- It should also have good support for primitive 2D shapes and 2D GUI widgets.
- It should be scriptable.
- Good support for displaying and handling text.
- Primitive shapes (2D and 3D) should be easy to create.
- Ability for Zoom in and Zoom out.
- Basic support for sound.
- Basic networking support.
- Ability to talk to an external environment.
- Should be lightweight.
Probable Candidates:
- A custom visualisation framework built on OpenGL. (A a futile excercise IMO).
- A framework built on Java Swing or something similar.. (This is also a futile exercise and may not be very flexible ).
- A 3D editing program like Blender. (Not sufficient)
- Any self-respecting game engine provides most of these facilities. They usually have bad support for 2D and primitive objects. (Not sufficient)
- An environment like blender with support for text(inside the scene) and 2D widgets.
- A Game engine modified for inbuilt 2D capabilities and text handling with some shortcuts for primitives thrown in to the mix.