V-eye : A Large Scale Virtual Environment
Overview :V-Eye (for Virtual-Eye) is a 3D virtual world application over the Internet in which a large number of participants can move and interact with each others by sending and receiving multimedia flows. The aim of this tool is to experiment on a real application, scalability of multicast transmission protocols and optimization of multimedia transmission over very heterogeneous environments. V-Eye also handles audio and video flows, and text messages. In addition, a DV-compliant movie theater is located at the center of the world, each participant can watch the movie.
V_Eye currently uses the SCORE Large Scale Virtual Environment
(LSVE) architecture developed in our project. Each participant in a
LSVE interacts with a limited number of participants and so is
interested in receiving a sub-part of the overall flows. Scope was
implemented on top of both ASM (Any Source Multicast) and SSM (Single
Architecture :The overall architecture is detailed in the papers quoted above. Let us just outline that the management of user groups and related communication services are handled in the SCORE component, that was implemented for both ASM and SSM.
The audio and video communication between participants in a given group are implemented through a modified version of the Rat (Robust Audio Tool) and Vic (VIdeoConferencing tool) application from UCL. We also take advantage of the MBus protocol that comes with these two tools, for implementing local IPC.
Implementation :Binary distribution of V-Eye for linux, win32 and zaurus/linux are available at ftp://ftp-sop.inria.fr/rodeo/veye
The development is done on Fedore Core 2, and the binary linux distribution should work on most current linux distributions. Special care might be needed for proper installation of some drivers, especially the NVIDIA linux driver and the Philips Webcam. See Installation instructions for more details.
V-eye has been tested on a real-scale network within the VTHD++ network on INRIA and France Telecom R&D, on linux and windows hosts. Users-scalability was tested with automated fake avatar generators provided within the distribution.
Please note that the zaurus distribution relies on kathrin release . The compiled application is fully functional but in practice cannot support 3D world rendering, due to lack of hardware-based 3d rendering and poor cpu capabilities. For working around this issue, a 'tracker' mode was implemented so that one can virtually 'follow' another participant in the world; under this mode only the video and audio tools are involved, but the multicast group logics is still relevant.
V-eye is written in C and C++. It heavily relies on tcl/tk for vic and rat. In addition, 3D rendering is based upon OpenGL and the portable toolkits Glut (openGL Utilility Toolkit) and Glui (GL User Interface).
More v-eye images are available here
AcknowledgementsThe major part of the software developement was done by Alexis Gourdon
This work is supported by the French ministry of industry in the context of the national project RNRT VTHD++ within the Planete Project-Team, at Inria Sophia-Antipolis