COVISE (Collaborative Visualization and Simulation Environment)

Image f. COVISE (Collaborative Visualization and Simulation Environment)

COVISE is an extendable distributed software environment to integrate simulations, postprocessing, and visualization functionalities in a seamless manner. From the beginning, COVISE was designed for collaborative work, allowing engineers and scientists to spread across a network infrastructure. 

In COVISE an application is divided into several processing steps, which are represented by COVISE modules. These modules, being implemented as separate processes, can be arbitrarily spread across different heterogeneous machine platforms. Major emphasis was put on the usage of high-performance infrastructures such as parallel and vector computers and fast networks. 

COVISE Rendering modules support virtual environments ranging form workbenches to powerwalls, curved screens, or even up to full domes or CAVEs. Users can thus analyze their datasets intuitively in a fully immersive environment using state-of-the-art visualization techniques including volume rendering and fast sphere rendering. Physical prototypes or experiments can be included in the analysis process through augmented reality techniques.

Download COVISE

Download COVISE Snapshots, VRML Exporter for 3ds Max and the latest COVISE builds for all supported Operating Systems directly from

COVISE Download

Mailing list

For any questions regarding COVISE please use the COVISE user's mailing list.

More about COVISE

Click on a topic for more information.

The window in figure 1 (see below) shows the so called MapEditor, which is the main part of the user interface. 

It is a Qt-based program to allow interaction with COVISE. In a collaborative session there are as many user interfaces as there are participants. One user is the master and has the complete control over the environment while the others are slaves and can do nothing besides requesting the master role. 

The large area in the middle is for placing modules. Connected, they form a flow chart like execution pipeline. By clicking on a module in the module list the user places the desired modules in the MapEditor window. Connecting the modules on a Point-and-Click basis defines the data flow between the modules.

Architecture

The main processes are the User Interface (UI) called MapEditor, the Controller, the COVISE Request Broker (CRB) and the applicaton modules. (See Figure 2, below.) 

The local workstation normally is the one where COVISE is started. On this machine the user interface pops up and the Controller is started. All other processes are created from here, either using exec calls for local processes or rexec/rlogin/rsh/ssh for processes on remote computers. 

The user can include additional hosts into a session for remote module execution. On each machine, a shared data space exists, which normally consists of shared memory. The CRB administers the use of this shared data space in a database-like fashion.

Collaborative Sessions

COVISE allows several users to work in a collaborative way. One can invite other users on different hosts to participate in the current COVISE session. The user who initiated the collaborative session becomes the master. On all machines a user interface pops up and a CRB is started. Application modules can be started on any host participating in the session. Renderer modules play a special role: in a collaborative session Renderers run locally on each machine. When the master user manipulates the objects in the Render window, only small synchronisation information has to be sent to the other renderer modules. When the master rotates the scene, the new transformation matrix is sent to the controller which in turn sends it to all other (slave-) Renderers. Of course every user can request the master role. For audio- and videoconferencing standard tools like InPerson or the public domain MBONE tools VIC/VAT are usually used.

Integration of Custom Codes and File Formats

Own simulation or rendering codes can be integrated into COVISE as new modules by adding a few calls from the COVISE libraries to create COVISE objects from data and for communication with other COVISE modules.

Virtual and Augmented Reality 

The modular structure of COVISE makes it very easy to integrate new modules for special tasks. The complex three-dimensional structure of the datasets that are visualized with COVISE made us look for more advanced visualization techniques. The result was a virtual reality rendering module called COVER (COVISE Virtual Environment), which is based on Iris Peformer. COVER has been replaced by OpenCOVER which is based on OpenSceneGraph. 

Click here to get more information about OpenCOVER.

Supported Platforms 

COVISE comes with various functionalities that are supported on different machines. For a single or multi user session you need the User Interface, the Controller, the CRB, the application modules amd the OpenInventor renderer running on your system. 

For distributing application modules on remote machines (for example if you want to run a simulation module on a NEC-SX8 supercomputer) you only need the CRB on the remote machine. 

The desktop visualization module is based on OpenInventor. The virtual reality renderer is based on OpenSceneGraph. 

Windows 7-11, Server 2008R2, XP, 32 & 64 bit versions 

Mac OS X 10.3-10.6

Linux, Red Hat Enterprise , Fedora, SuSE, Debian, Ubuntu, 32 & 64 bit.

 

OpenCOVER is a further development of COVER, which was the original COVISE VR renderer. It is based on OpenSceneGraph, an open source high performance 3D graphics toolkit, to make optimal use of the rendering hardware. OpenCOVER stands for "Open COVISE Virtual Environment" and is an integral part of the COVISE visualization and simulation environment. The design of OpenCOVER was developed to support technical and scientific applications. OpenCOVER supports loading VRML2.0/VRML97 datasets, Detailed information about the supported features can be found in the compatibility matrix.

Tracking systems & 3D input devices

Here is an incomplete list of Tracking systems supported by OpenCOVER: 

  • ART optical tracking system
  • VICON optical tracking system
  • Ascension Motionsstar / Flock of Birds
  • FASTRAK System from Polhemus
  • TrackD tracker library
  • HTC Vive tracking

Tablet PC user interface

We implemented aTabetPC user interface for interaction in the CAVE. 

Interaction & feedback

The user interacts with the scene through the 3D device and a 3D menu. A line coming out of the device intersects with the menu and the scene. Depending on the selected action an appropriate interactor is drawn. The pictures in Figure 3 (see below) show some of the interactors. Pressing the buttons selects a menu item or object. The pictures on the left show some of the interactors that can be attached to the stylus. 

Feedback is a very special kind of interaction: it's interaction with other COVISE modules like on-going numerical simulations and post-processing steps. Currently you can set interactively: 

  • the startpoints for a particle tracer by just pointing to the place where they should start and then press the button 
  • the new position of a cuttingplane or cutgeometry module 
  • the new position of an isosurface module 
  • the angle of a rotor blade created by the transform module

Collaborative working

As a COVISE renderer module OpenCOVER also supports collaborative working. Three collaboration modes have been implemented: Loose Coupling, Tight Coupling, and Master/Slave Coupling. Cone-shaped markers can be placed in the 3D scene to point to positions of interest and a direct link to Microsoft Office enables quick meeting minutes, including snapshots and viewpoints of the 3D world included in the document. 

Supported VR environments

OpenCOVER was initially developed for the first virtual environment at HLRS, consisting of a large backprojection screen from TAN with an Electrohome projector. It now runs in all backprojection screen-based environments, including Immersadesks, Responsive Workbenches, CAVEs, and domes, as well as on LED- or display walls. The screen size and shape can be configured through a configuration file. Stereoscopic rendering is supported through Quad buffer or multichannel rendering on single GPUs, multiple GPUs, and even clusters with multiple GPUs. Postprocessing shaders enable software edge blending and warping to spherical or uneven projection surfaces.

Through OpenVR, OpenCOVER now also supports all major VR head mounted displays, such as the HTC Vive, Oculus Rift, and Microsoft MR headsets.

License

Since 2015, COVISE and OpenCOVER are now open source (LGPL2+).

Source code 

is available on GitHub.

Online Documentation

COVISE Online Documentation

You can find some tips and tricks in the 

COVISE Wiki

Tutorial

HTML
PDF Download (0.8 MB)

User's Guide

HTML
PDF Download (3.0 MB)

Module Reference

HTML
PDF Download (5.5 MB)

Programming Guide

HTML
PDF Download (0.7 MB)

COVER Installation & Configuration

HTML
PDF Download (1.0 MB)

API Documentation (Doxygen)

COVISE
OpenCOVER
OpenThreads
OpenSceneGraph

Workshop Slides

Documentation on COVISE usage

Workshop slides 
(German, 3.4 MB)

Documentation on COVISE programming

Workshop slides 
(German, 0.6 MB)

Documentation on COVISE installation

Workshop slides 
(German, 0.2 MB)

Documentation on COVISE configuration

Workshop slides 
(German, 1.7 MB)

Documentation on COVISE collaborative MapEditor

Workshop slides 
(German, 0.6 MB)

Documentation on COVISE collaborative VR

Workshop slides 
(German, 0.4 MB)

Documentation on COVISE advanced features

Workshop slides 
(German, 2.8 MB)

Information on COVISE CovRemote

Workshop overview slides 
(German, 0.4 MB)

Figures

Click on images to enlarge.

Figure 1.

The COVISE MapEditor, a main part of the user interface.

Figure 2.

A schematic representation of the COVISE architecture, including the relationship between local and remote workstations collaborating in a shared data space.

Figure 3.

Screenshot of OpenCOVER graphic user interface.