The PAVRML project

Distributed and collaborative animation over the network


Contents


Presentation

PAVRML is an informal project involving several university research labs of the European Union. It started at a meeting on the Work Package 5 of the European PAVR project, held in Grenoble, April 1998. Currently, research teams from the following institutes are involved in the project: TU-Wien, iMAGIS (Grenoble), University of Glasgow, University of Geneva, Ecole Polytechnique Federale de Lausanne.

PAVRML is designed as a common animation platform allowing different research teams to cooperate in a distributed virtual environment(DVE). This DVE consists of a scene made of subgraphs modeled and updated by different users. A client-server architecture is used for communication. Each user can see the whole scene and react to it.

In contrast with other DVEs, each client can use its own software to manage his objects and display the scene. No particular hardware, operating system or graphics library is required. Our DVE consists of a communication layer used to exchange data with the server. A common language based on VRML97 is used for modeling. Additional commands are used for updating. The following figure describes the architecture of our distributed virtual environment.

Motivation

The desire for a common animation platform is suggested in the name of the European project Platform for Animation and Virtual Reality (PAVR). However, technical problems arise from the diversity of graphics libraries (inventor, performer, alias, softimage...) used by the research teams involved in the project. Choosing one graphics library to build the platform appeared impossible for technical reasons.

We decided to create a distributed environment in which all users can plug their applications and run them locally, while interacting with the others. This approach has several desirable features, among which:

In practice

Network architecture

A client-server architecture handles the communication within the distributed virtual environment, as previously illustrated. The server manages a global database representing the state of the whole virtual world. It updates the scene according to the messages from the clients, and provide the clients with the state of the scene. The scene can thus be replicated in each client.

Protocol

When a client logs in, it receives the description of the scene at the current time. Data exchange is client-driven. When a client sends updates, it receives back from the server the updates necessary to maintain its own model of the whole world. The updates mainly consist of object creations, object deletions, or field values.

Common language

The modeling part of the PAVRML language is based on VRML97 . For now, only a subset of all VRML97 node types is handled. This includes transforms, geometry, colors....
Commands have been added to add and remove nodes. A more complete description of the language is available here.

How to create your client

To create a PAVRML client, you need:

Results and related publications


Page maintained by francois@cg.tuwien.ac.at