MAVERIK - a VR micro kernel
(jpeg 4k)
Contents:
- What is MAVERIK?
- Downloading MAVERIK.
- Examples of MAVERIK applications.
- Why MAVERIK is novel.
- The MAVERIK architecture.
- 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:
- MAVERIK can easily take advantage of optimisations that are highly
application-specific, intimately tied to knowledge that the application
has.
- 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.
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 $