Team siames

Overall Objectives
Scientific Foundations
Application Domains
New Results
Contracts and Grants with Industry
Other Grants and Activities

Section: Software

Keywords : middleware, software platform, distributed simulator, real-time simulator, modularity, interactivity, virtual reality.

OpenMASK: Open-Source platform for Virtual Reality

Participants : Alain Chauffaut [ contact ] , Jean-Marie Houssay, Vincent Quester-Séméon.

OpenMASK (Open Modular Animation and Simulation Kit) is the federative platform for research developments in the Siames team. It is also recommended by PERF-RV (French National RNTL project on Virtual Reality). Technology transfer is a significant goal of our team.

OpenMASK is a software platform for the development and execution of modular applications in the fields of animation, simulation and virtual reality. The unit of modularity is the simulated object. It can be used to describe the behavior or motion control of a virtual object as well as input devices control like haptic interfaces. Building a virtual environment with OpenMASK consists of selecting and configuring the appropriate simulated objects, and choosing an execution kernel fulfilling the application needs. Of course, new classes of simulated objects have to be built first if they do not exist. But they can be reused in other applications.

OpenMASK comes with multi-site (for distributed applications : distributed virtual reality, distributed simulation ...) and/or multi-threaded (for parallel computations) kernels. These kernels enable off-line simulation as well as interactive animation. Visualization can be powered by Performer (Sgi) or by OpenSG (Fraunhofer Institute).

OpenMASK provides an Open C++ API dedicated to simulated object development and execution kernel tailoring. An OpenMASK application is made of kernels and simulated objects.

Main features offered by the execution kernels:


  • Hosting: creation and destruction of simulated objects.

  • Naming: simulated objects, classes and attributes are named.

  • Activating: regular activation (each object can have its own frequency) and/or occasional (on event reception) for simulated objects.

  • Communicating:

    • using data flows between simulated objects

    • using signal diffusion in the environment

    • using events between objects

    • thanks to the provided data-types or specialized data-types created for the application

    • with adaptation to the different activation models using interpolation and extrapolation

  • Time management: automatic data dating and unique time-stamp during computation.

  • Distributing: presently powered by Parallel Virtual Machine (PVM). Distribution is transparent to the programmer but could be controlled by the operator.

Main features offered by the visualizing object:


  • Mono or multi-pipes visualization, adapted for reality centers and workbenches. Multiple views and stereo-vision.

  • Support of all geometrical file formats supported by Performer or by OpenSG.

  • Component extensibility to take new animation primitives into account (available : quaternions, rotations, translations, matrices).

  • X11 event or GLUT events captures and owner forwards.

  • 2D or 3D picking and subscribers forwards.

Panel of services covered by reusable simulated objects:

 We provide a set of simulated object classes which could be reused by new applications:

  • visualizer as described previously

  • interaction services over 3D virtual scene

  • realtime animation of virtual humans

  • management of specialized sounds

  • management of VRPN devices

  • management of force feedback devices

  • physical scene simulation

Technology transfer:

  Our technology transfer initiative is based on industrials partners and supported by Open-Source distribution. We are supported by INRIA with dedicated resources (ODL 2001/02, ODL 2003/05 and software development engineer 2005/06). First, we provided the platform which is of general interest. Now, we are delivering simulated objects dedicated to Virtual Reality, most of them with an Opensource licence: interactors, virtual human, force feedback processor, collisions manager, VRPN peripherical abstractions. OpenMASK is available on Irix, Linux and Windows systems.


Logo Inria