VR Systems Architecture
VR situates users in artificial realities. Doing so brings new capabilities
to our interaction with computers and each other. The key benefits are
related to the significant psychological features of these environments.
Psychology thus provides the defining
characteristics of VR, distinguishing it from traditional 3D computer
graphics. The key features hinge on concepts such as the experience of
being immersed in the environment, the sensation of presence,
the engagement of spatial skills and the capability of direct
interaction with the environment. These are a matter of quality of
experience - like the difference between swimming, and watching someone
Technologies for VR have been around a
long time, and progress has been a matter of degree rather than kind. Key
features here are 3D graphics and position tracking, which are not
fundamentally new. Dramatic improvements in performance however mean that
it is now possible to present increasingly acceptable immersive environments
at an ever decreasing cost.
Software on the other hand, as is
generally the case, lags quite a way behind, and writing code to make
interactive virtual environments of any complexity is a laborious task.
Core techniques and algorithms need to be developed to solve some of the
current problems, and experiments need to be done with prototype
environments. Given such tools and understanding however the great
challenge is to find ways of "putting it all together". And that means the
right frameworks and architectures to support us in doing the things we
want to achieve, under a single roof, without it feeling cluttered, limited
and claustrophobic. Modelling worlds to be experienced interactively raises
new challenges for system architecture, and also raises some quite
philosophical issues about what appropriate models for such "realities"
When you get architectures right, all of a sudden you can do a lot of very
powerful things very flexibly, and a many of your previous difficulties
Our specific core activity in the AIG is to develop such systems
architectures for supporting VR.
The central challenges are:
There are clearly a lot of computer science systems architecture issues in
that undertaking, and we have come a long way with the systems we have been
developing in the AIG. Our goal is to release these to the community
under the GPL when they are sufficiently mature to do so, and we are
currently aiming to do this during 1998.
Coping with the demands of the largest graphical models in a highly
Although high quality animations are now common, these require hours of
computation per frame and are not representative of what we can work with
At the other extreme computer games are now highly interactive, but use
geometrically simple environments and highly constrained interactions.
Consider the room you are in, all its contents, and the varied things you
can do with them. The equivalent in a computer game would be an empty room
with photographs of your room on the walls. Superficially you may not
notice a difference (especially if a monster is chasing you with a
gun), but it would be impossible to engage in any real work using the
Making it easier to construct all the perceptual and behavioural
richness you would expect in a world.
This is an extraordinarily labour intensive task for any but the simplest
demonstrations with todays systems. Research directions we are engaged in
include high level languages for worlds, laws and behaviours (deva),
direct capture of model geometry from video (reveal), editing the world
immersively (builder), and new approaches to graphics structures for
interactive environments (Maverik and Glass).
Handling large numbers users, who are at different sites scattered
around the globe, working in a variety of virtual worlds and applications
within the same system.(Deva). As communications delays are insurmountable
we are forced to break away from modelling our own world when it comes to
coping with highly interactive tasks requiring close cooperation between
distributed users. So one way or another we are forced to be creative here.
Providing for many worlds and tasks (applications) to be running at
the same time, allowing them to be created and destroyed within a single
overall system that will persist indefinitely.(Deva)
AIG VR Systems
Two components have been developed, loosely speaking one deals with
the world as you experience it, and one with the underlying "Reality"
behind that appearance.
Maverik presents the world to you and enables you to interact with it, just
as your normal afferent and efferent capabilities do for the real
world. It is our VR micro-kernel managing the interface between a
single user and the virtual environment.
Deva manages the underlying reality itself: a hierarchy of worlds,
their laws and behaviours, creation and destruction, and their distribution
between participents who share the environment. It is our VR