MAVERIK - a VR micro kernel

 [image of the MAVERIK callback icon] (jpeg 4k)

Contents:

  1. What is MAVERIK?
  2. Downloading MAVERIK.
  3. Examples of MAVERIK applications.
  4. Why MAVERIK is novel.
  5. The MAVERIK architecture.
  6. Related Work

What is MAVERIK?

MAVERIK is designed to support 3D virtual environments, and interaction with those environments. It uses Mesa or OpenGL to perform low-level rendering, but includes a lot of stuff on top of this to render different kinds of objects, to manage environments and provide support for 3D interaction. MAVERIK is a VR application developers toolkit/framework; it is not an end-user application.

The system is designed to be fairly open-ended in the way that it represents different kinds of models. It uses call-back functions to do this, rather than importing and converting data to its own formats. This means that it can be adapted relatively easily to widely differing application data structures without forcing particular representations on the implementor. Thus, for example, if you have a simulation in which different parts of your model are varying dynamically, but in ways which cannot be represented using normal affine transformations (e.g. deformable objects), then MAVERIK will allow you to use the dynamically changing data directly to generate images.

It also contains support for a variety of 3D input devices, and various kinds of displays (including stereo).

Maverik runs on GNU/linux PCs, and Silicon Graphics workstations.

Downloading GNU MAVERIK

The complete MAVERIK distribution is available as both RPMs and gzipped tars from http://aig.cs.man.ac.uk/systems/Maverik, and also from ftp.gnu.org.

Examples of MAVERIK applications

Visit the MAVERIK
Applications Gallery for examples of a wide range of MAVERIK applications.

Why MAVERIK is novel

MAVERIK dispenses with a separate representation for application data. Conventional VR systems need to import data into their own format, but MAVERIK avoids this by making use of the application's own internal data structures. This has two important benefits:

  1. MAVERIK can easily take advantage of optimisations that are highly application-specific, intimately tied to knowledge that the application has.

  2. MAVERIK can far more readily adapt (dynamically) to a wide range of application demands. Its flexible design means that applications with widely differing requirements can be supported.

The MAVERIK architecture

MAVERIK has two main parts:
  1. The MAVERIK micro-kernel implements a set of core services, and a framework that applications can use to build complete virtual environments and virtual reality interfaces.

  2. The MAVERIK supporting modules contain default methods for optimised display management including culling, spatial management, interaction and navigation, and control of VR input and output devices. MAVERIK's structure allows these default methods to be customised to operate directly on application data, so that optimal representations and algorithms can be employed.

Related work

MAVERIK provides a framework and toolkit for a single user to perceive, interact with, and navigate around, a graphically complex Virtual Environment. Although it can be used very successfully for stand-alone single-user VR applications, it has been designed to integrate with a large-scale distributed multi-user VR system called Deva, (see
AIG Systems), currently under development. Deva supports multiple virtual worlds and applications, together with sophisticated methods of specifying behaviours and laws for objects within VEs. The Advanced Interfaces Group plans to release the Deva system under the GPL at a later date.

The Advanced Interfaces Group. 1999


Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.

Please send comments on these web pages to webmasters@www.gnu.org, send other questions to gnu@gnu.org.

Copyright (C) 1999 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: $Id: maverik.html,v 1.3 2002/01/18 00:50:18 yrp001 Exp $