Core technology

Index

Introduction
mainViz - Server description
Client description
Reserved object names
Developer notes
Viewer modes
Message list


Introduction

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:

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.