MAVERIK - a VR micro kernel
What is MAVERIK?
Why MAVERIK is
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
It also contains support for a variety of 3D input devices, and
various kinds of displays (including stereo).
Maverik runs on GNU/linux PCs. The new release has not been tested
on 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/,
and also from ftp.gnu.org.. However,
it should be pointed out that the first distribution stopped at
version 6.2 and runs only on 32bit platforms without any trouble. The
GNU-versions covers now version number 6.3, 6.4 and 6.5. The last one
runs smoothly on 32 or 64 bit system resp. It is recommended to use
only the 6.5-version.
Maverick has a bug list Buglist
all bugs please.
Examples of MAVERIK
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:
MAVERIK can easily take advantage of optimisations that are
highly application-specific, intimately tied to knowledge that the
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:
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.
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.
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). Deva
supports multiple virtual worlds and applications, together with
sophisticated methods of specifying behaviours and laws for objects
The Advanced Interfaces Group. 1999
GNU MAVERIK runs now smoothly on 32 or 64 bit system resp.
Gnu maintainer of this project is Hartmut
Return to GNU's home page.
Please send FSF & GNU inquiries & questions to
email@example.com. There are also
other ways to contact the FSF.