The idea behind Viz is to provide 3D visualization capabilities for advanced
user interfaces without having to rewrite the application from scratch.
It is often possible to isolate the core of 3D visualization functionality
from what is application specific. For instance, visualizing the telemetry
of different robotic systems will require specific code to interface with
the robot, parse the telemetry, but we can use the same code to feed information
to the virtual environment and navigate in the 3D world.
Viz is a 3D visualization software with the following characteristics:
fast prototyping
scripting capabilities
manipulation of objects in 3D scene at run-time from external program
user interaction with scene
Viz is designed to run as a 3D-rendering server, to which clients can connect,
in order to make changes to the scene. The server is implemented as a multi-threaded
application, in order to minimize impact of model loading and scene graph
manipulation over rendering performance.
In order to use Viz, start the Viz server
that will bring up a 3D window and listen to new socket connections. Then
use a Viz client to change the scene (add
object, change position, change color, ...). You can either use our existing
clients, or write your own, using Viz Python or C++ API.