home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Virtual Reality Zone
/
VRZONE.ISO
/
mac
/
TEXT
/
MISC
/
WHATISVR
/
WHATISVR.TXT
< prev
Wrap
Text File
|
1994-10-07
|
119KB
|
2,794 lines
What Is Virtual Reality?
A Homebrew Introduction and Information Resource List
Version 2.1, Oct 8 1993
Jerry Isdale,
i.e. Isdale Engineering
email: 72330.770@compuserve.com (preferred)
(alternate email: isdale@well.sf.ca.us)
(with thanks to the *many* people who contributed bits,
bytes and words either directly to me or by posting to
various electronic sources)
The primary distribution points for electronic form of this
paper are:
1) CompuServe CyberForum as 'whatvr.zip'
2) ftp site sunee.uwaterloo.ca in the pub/vr/documents
area as whatisvr.txt
3) ftp site ftp.u.washington.edu in public/virtual-
worlds/papers as whatisvr.txt
This document freely distributable to various electronic
networks, BBS, etc. It can be used as a handout for seminars
sponsored by schools and professional associations. I only
ask that you keep my name as the primary author/editor and
do not charge for it beyond normal on-line connect charges.
If you have any corrections, comments or additions, please
send them to me at one of the above email addresses.
Introduction
This paper is divided into two parts. The first section is
intended as an introduction to Virtual Reality (VR),
primarily as background for development efforts. It is not
meant to be The Definitive Treatise on VR. The reader is
encouraged to search out other introductions and form your
own opinions. The second section provides a large
collection of places to search out more information on VR.
It lists conventional books, on-line news groups, BBS, Ftp
sites, local interest groups and commercial VR companies.
This is the second released version of this document. It
contains a number of new information and lots of updated
contact information in the second part. I don't know if I
will be revising it again.
An excellent short treatment of the state of the art and
a taxonomy of VR is a report on the US Government's National
Science Foundation invitational workshop on Interactive
Systems Program held March 23-24, 1992. It was published in
the given in the ACM Siggraph publication "Computer
Graphics", Vol. 26, #3, August 1992. The purpose of the
workshop was to identify and recommend future research
directions in the area of virtual environments. A longer
exposition of this taxonomy can be found in the MIT Journal
"Presence" Vol. 1 #2.
I. What is Virtual Reality
I.1. Types of VR Systems
I.1.1. Window on World Systems (WoW)
I.1.2. Video Mapping
I.1.3. Immersive Systems
I.1.4. Telepresence
I.1.5. Mixed Reality
I.1.6. Fish Tank Virtual Reality
I.2. VR Hardware
I.2.1. Image Generators
I.2.2. Manipulation and Control Devices
I.2.3. Position Tracking
I.2.4. Stereo Vision
I.2.5. Head Mounted Display (HMD)
I.2.6. Health Hazards from Stereoscopic Displays
I.3. Levels of VR Hardware Systems
I.3.1. Entry VR (EVR)
I.3.2. Basic VR (BVR)
I.3.3. Advanced VR (AVR)
I.3.4. Immersion VR (IVR)
I.3.5. Cockpit Simulators
I.3.6. SIMNET, Defense Simulation Internet
I.4. Available VR Software Systems
I.4.1. Freeware VR Programs
I.4.2. VR Programs for under $200
I.4.3. VR Packages under $1000
I.4.4. VR Software for over $1000
I.5. Aspects of A VR Program
I.5.1. Input Processes
I.5.2. Simulation Process
I.5.3. Rendering Processes
I.5.3.1. Visual Renderer
I.5.3.2. Auditory Rendering
I.5.3.3. Haptic Rendering
I.5.3.4. Other Senses
I.6. World Space
I.6.1. World Coordinates
I.6.2. A World Divided: Separation of Environments
I.7. World Database
I.7.1. Storage Methods
I.7.2. Objects
I.7.2.1. Position/Orientable
I.7.2.2. Hierarchy
I.7.2.3. Bounding Volume
I.7.3. Object Geometry
I.7.3.1. 3D PolyLines & PolyPoints
I.7.3.2. Polygons
I.7.3.3. Primitives
I.7.3.4. Solid Modeling & Boolean Operations
I.7.3.5. Curves & Patches
I.7.3.6. Dynamic Geometry (aka morphing)
I.7.3.7. Swept Objects & Surface of Revolution
I.7.3.8. Texture Maps & Billboard Objects
I.7.4. Lights
I.7.5. Cameras
I.7.6. Scripts and Object Behavior
I.7.6.1. Motion Scripts
I.7.6.2. Physical or Procedural Modeling and
Simulation
I.7.6.3. Simple Animation
I.7.6.4. Trigger Scripts
I.7.6.5. Connection Scripts
I.7.7. Interaction Feedback
I.7.8. Graphical User Interface/Control Panels
I.7.8.1. Two Dimensional Controls
I.7.8.2. Three Dimensional Controls
I.7.9. Hardware Control & Connections
I.7.10. Room/Stage/Area Descriptions
I.8. World Authoring versus Playback
II. VR Information Resources
II.1. NewsGroups and Mailing Lists
II.1.1. Some recommended Usenet groups:
II.1.2. VR News Groups with Mail List Echos
II.1.3. Mailing Lists
II.2. Internet FTP Sites
II.2.1. Sites in the North America
II.2.2. Overseas FTP Sites
II.3. On-line Services & BBS
II.4. Local VR Interest Groups
II.4.1. Groups in USA
II.4.2. Groups in Other Coutntries
II.5. Journals & Newsletters
II.6. Professional Societies
II.6.1. ACM
II.6.2. IEEE
II.6.3. Other professional Societies and Journals
II.7. Books
II.7.1. VR Reference Books
II.7.2. VR Directories and Conference Proceedings
II.7.3. Government Papers
II.7.4. Computer Graphics Books
II.7.5. Related Books
II.7.6. Fiction Books Related to VR
II.8. VR Research Labs & Academia
II.9. Companies Involved with Virtual Reality
I. What is Virtual Reality
The term Virtual Reality (VR) is used by many different
people with many meanings. There are some people to whom VR
is a specific collection of technologies, that is a Head
Mounted Display, Glove Input Device and Audio. Some other
people stretch the term to include conventional books,
movies or pure fantasy and imagination. The NSF taxonomy
mentioned in the introduction can cover these as well.
However, my personal preference, and for purposes of this
paper, we restrict VR to computer mediated systems. The best
definition of Virtual Reality I have seen to date comes from
the book "The Silicon Mirage" (see section on VR Books):
"Virtual Reality is a way for humans to visualize,
manipulate and interact with computers and extremely complex
data"
The visualization part refers to the computer generating
visual, auditory or other sensual outputs to the user of a
world within the computer. This world may be a CAD model, a
scientific simulation, or a view into a database. The user
can interact with the world and directly manipulate objects
within the world. Some worlds are animated by other
processes, perhaps physical simulations, or simple animation
scripts. Interaction with the virtual world, at least with
near real time control of the viewpoint, in my opinion, is
a critical test for a 'virtual reality'.
Some people object to the term "Virtual Reality", saying
it is an oxymoron. Other terms that have been used are
Synthetic Environments, Cyberspace, Artificial Reality,
Simulator Technology, etc. VR is the most common and
sexiest. It has caught the attention of the media.
The applications being developed for VR run a wide
spectrum, from games to architectural and business planning.
Many applications are worlds that are very similar to our
own, like CAD or architectural modeling. Some applications
provide ways of viewing from an advantageous perspective not
possible with the real world, like scientific simulators and
telepresense systems, air traffic control systems. Other
applications are much different from anything we have ever
directly experienced before. These latter applications may
be the hardest, and most interesting systems. Visualizing
the ebb and flow of the world's financial markets.
Navigating a large corporate information base, etc.
I.1. Types of VR Systems
A major distinction of VR systems is the mode with which
they interface to the user. This section describes some of
the common modes used in VR systems.
I.1.1. Window on World Systems (WoW)
Some systems use a conventional computer monitor to
display the visual world. This sometimes called Desktop VR
or a Window on a World (WoW). This concept traces its
lineage back through the entire history of computer
graphics. In 1965, Ivan Sutherland laid out a research
program for computer graphics in a paper called "The
Ultimate Display" that has driven the field for the past
nearly thirty years.
"One must look at a display screen," he said, "as a window
through which one beholds a virtual world. The challenge to
computer graphics is to make the picture in the window look
real, sound real and the objects act real." [quoted from
Computer Graphics V26#3]
I.1.2. Video Mapping
A variation of the WoW approach merges a video input of
the user's silhouette with a 2D computer graphic. The user
watches a monitor that shows his body's interaction with the
world. Myron Kruger has been a champion of this form of VR
since the late 60's. He has published two books on the
subject: "Artificial Reality" and "Artificial Reality II".
At least one commercial system uses this approach, the
Mandala system. This system is based on a Commodore Amiga
with some added hardware and software. A version of the
Mandala is used by the cable TV channel Nickelodeon for a
game show (Nick Arcade) to put the contestants into what
appears to be a large video game.
I.1.3. Immersive Systems
The ultimate VR systems completely immerse the user's
personal viewpoint inside the virtual world. These
"immersive" VR systems are often equipped with a Head
Mounted Display (HMD). This is a helmet or a face mask that
holds the visual and auditory displays. The helmet may be
free ranging, tethered, or it might be attached to some sort
of a boom armature.
A nice variation of the immersive systems use multiple
large projection displays to create a 'Cave' or room in
which the viewer(s) stand. An early implementation was
called "The Closet Cathedral" for the ability to create the
impression of an immense environment. within a small
physical space. The Holodeck used in the television series
"Star Trek: The Next Generation" is afar term extrapolation
of this technology.
I.1.4. Telepresence
Telepresence is a variation on visualizing complete
computer generated worlds. This a technology links remote
sensors in the real world with the senses of a human
operator. The remote sensors might be located on a robot, or
they might be on the ends of WALDO like tools. Fire fighters
use remotely operated vehicles to handle some dangerous
conditions. Surgeons are using very small instruments on
cables to do surgery without cutting a major hole in their
patients. The instruments have a small video camera at the
business end. Robots equipped with telepresence systems
have already changed the way deep sea and volcanic
exploration is done. NASA plans to use telerobotics for
space exploration. There is currently a joint US/Russian
project researching telepresence for space rover
exploration.
I.1.5. Mixed Reality
Merging the Telepresence and Virtual Reality systems gives
the Mixed Reality or Seamless Simulation systems. Here the
computer generated inputs are merged with telepresence
inputs and/or the users view of the real world. A surgeon's
view of a brain surgery is overlaid with images from earlier
CAT scans and real-time ultrasound. A fighter pilot sees
computer generated maps and data displays inside his fancy
helmet visor or on cockpit displays.
I.1.6. Fish Tank Virtual Reality
The phrase "fish tank virtual reality" was used to
describe a Canadian VR system reported in the 1993 InterCHI
proceedings. It combines a stereoscopic monitor display
using LCD Shutter glasses with a mechanical head tracker.
The resulting system is superior to simple stereo-WoW
systems due to the motion parallax effects introduced by the
head tracker. (see INTERCHI '93 Conference Proceedings, ACM
Press/Addison Wesley , ISBN 0-201-58884-6)
I.2. VR Hardware
There are a number of specialized types of hardware
devices that have been developed or used for Virtual Reality
applications.
I.2.1. Image Generators
One of the most time consuming tasks in a VR system is the
generation of the images. Fast computer graphics opens a
very large range of applications aside from VR, so there has
been a market demand for hardware acceleration for a long
while. There are currently a number of vendors selling image
generator cards for PC level machines, many of these are
based on the Intel i860 processor. These cards range in
price from about $2000 up to $6 or $10,000. Silicon
Graphics Inc. has made a very profitable business of
producing graphics workstations. SGI boxes are some of the
most common processors found in VR laboratories and high end
systems. SGI boxes range in price from under $10,000 to over
$100,000. The simulator market has produced several
companies that build special purpose computers designed
expressly for real time image generation. These computers
often cost several hundreds of thousands of dollars.
I.2.2. Manipulation and Control Devices
One key element for interaction with a virtual world, is a
means of tracking the position of a real world object, such
as a head or hand. There are numerous methods for position
tracking and control. Ideally a technology should provide 3
measures for position(X, Y, Z) and 3 measures of orientation
(roll, pitch, yaw). One of the biggest problem for position
tracking is latency, or the time required to make the
measurements and preprocess them before input to the
simulation engine.
The simplest control hardware is a conventional mouse,
trackball or joystick. While these are two dimensional
devices, creative programming can use them for 6D controls.
There are a number of 3 and 6 dimensional
mice/trackball/joystick devices being introduced to the
market at this time. These add some extra buttons and wheels
that are used to control not just the XY translation of a
cursor, but its Z dimension and rotations in all three
directions. The Global Devices 6D Controller is one such 6D
joystick It looks like a racket ball mounted on a short
stick. You can pull and twist the ball in addition to the
left/right & forward/back of a normal joystick. Other 3D and
6D mice, joystick and force balls are available from
Logitech, Mouse System Corp. among others.
One common VR device is the instrumented glove. The use of
a glove to manipulate objects in a computer is covered by a
basic patent in the USA. Such a glove is outfitted with
sensors on the fingers as well as an overall
position/orientation tracker. There are a number of
different types of sensors that can be used. VPL (holders of
the patent) made several DataGloves, mostly using fiber
optic sensors for finger bends and magnetic trackers for
overall position. Mattel manufactured the PowerGlove for use
with the Nintendo game system, for a short time. This
device is easily adapted to interface to a personal
computer. It provides some limited hand location and finger
position data using strain gauges for finger bends and
ultrasonic position sensors. The gloves are getting rare,
but some can still be found at Toys R' Us and other discount
stores. Anthony Clifton recently posted this suggestion for
a" very good resource for PowerGloves etc.: small children.
A friend's son had gotten a glove a couple years ago and
almost NEVER used it, so I bought it off the kid. Remember
children like money more than toys they never use."
The concept of an instrumented glove has been extended to
other body parts. Full body suits with position and bend
sensors have been used for capturing motion for character
animation, control of music synthesizers, etc. in addition
to VR applications.
I.2.3. Position Tracking
Mechanical armatures can be used to provide fast and very
accurate tracking. Such armatures may look like a desk lamp
(for basic position/orientation) or they may be highly
complex exoskeletons (for more detailed positions). The
drawbacks of mechanical sensors are the encumbrance of the
device and its restrictions on motion. Exos Systems builds
one such exoskeleton for hand control. It also provides
force feedback. Shooting Star system makes a low cost
armature system for head tracking. Fake Space Labs and LEEP
Systems make much more expensive and elaborate armature
systems for use with their display systems.
Ultrasonic sensors can be used to track position and
orientation. A set of emitters and receivers are used with
a known relationship between the emitters and between the
receivers. The emitters are pulsed in sequence and the time
lag to each receiver is measured. Triangulation gives the
position. Drawbacks to ultrasonics are low resolution, long
lag times and interference from echoes and other noises in
the environment. Logitech and Transition State are two
companies that provide ultrasonic tracking systems.
Magnetic trackers use sets of coils that are pulsed to
produce magnetic fields. The magnetic sensors determine the
strength and angles of the fields. Limitations of these
trackers are a high latency for the measurement and
processing, range limitations, and interference from ferrous
materials within the fields. However, magnetic trackers seem
to be one of the preferred methods. The two primary
companies selling magnetic trackers are Polhemus and
Ascension.
Optical position tracking systems have been developed. One
method uses a ceiling grid LEDs and a head mounted camera.
The LEDs are pulsed in sequence and the cameras image is
processed to detect the flashes. Two problems with this
method are limited space (grid size) and lack of full motion
(rotations). Another optical method uses a number of video
cameras to capture simultaneous images that are correlated
by high speed computers to track objects. Processing time
(and cost of fast computers) is a major limiting factor
here. One company selling an optical tracker is Origin
Instruments.
Inertial trackers have been developed that are small and
accurate enough for VR use. However, these devices generally
only provide rotational measurements. They are also not
accurate for slow position changes.
I.2.4. Stereo Vision
Stereo vision is often included in a VR system. This is
accomplished by creating two different images of the world,
one for each eye. The images are computed with the
viewpoints offset by the equivalent distance between the
eyes. There are a large number of technologies for
presenting these two images. The images can be placed side-
by-side and the viewer asked (or assisted) to cross their
eyes. The images can be projected through differently
polarized filters, with corresponding filters placed in
front of the eyes. Anaglyph images user red/blue glasses to
provide a crude (no color) stereovision.
The two images can be displayed sequentially on a
conventional monitor or projection display. Liquid Crystal
shutter glasses are then used to shut off alternate eyes in
synchronization with the display. When the brain receives
the images in rapid enough succession, it fuses the images
into a single scene and perceives depth. A fairly high
display swapping rate (min. 60hz) is required to avoid
perceived flicker. A number of companies made low cost LC
shutter glasses for use with TVs (Sega, Nintendo, Toshiba,
etc.). There are circuits and code for hooking these up to a
computer available on many of the On-line systems, BBSs and
Internet FTP sites mentioned later. However, locating the
glasses themselves is getting difficult as none are still
being made or sold for their original use. Stereographics
sells a very nice commercial LC shutter system called
CrystalEyes.
Another alternative method for creating stereo imagery on
a computer is to use one of several split screen methods.
These divide the monitor into two parts and display left and
right images at the same time. One method places the images
side by side and conventionally oriented. It may not use
the full screen or may otherwise alter the normal display
aspect ratio. A special hood viewer is placed against the
monitor which helps the position the eyes correctly and may
contain a divider so each eye e sees only its own image.
Most of these hoods, such as the one for the V5 of Rend386,
use fresnel lenses to enhance the viewing. An alternative
split screen method orients the images so the top of each
points out the side of the monitor. A special hood
containing mirrors is used to correctly orient the images.
A very nice low cost (under $200) unit of this type is the
Cyberscope available from Simsalabim.
I.2.5. Head Mounted Display (HMD)
One hardware device closely associated with VR is the
Head Mounted Device (HMD).
These use some sort of helmet or goggles to place small
video displays in front of each eye, with special optics to
focus and stretch the perceived field of view. Most HMDs
use two displays and can provide stereoscopic imaging.
Others use a single larger display to provide higher
resolution, but without the stereoscopic vision.
Most lower cost HMDs ($3000-10,000 range ) use LCD displays,
while others use small CRTs, such as those found in
camcorders. The more expensive HMDs use special CRTs mounted
along side the head or optical fibers to pipe the images
from non-head mounted displays. ($60,000 and up). A HMD
requires a position tracker in addition to the helmet.
Alternatively, the display can be mounted on an armature for
support and tracking (a Boom display).
I.2.6. Health Hazards from Stereoscopic Displays
There was an article supplement with CyberEdge Journal
issue #17 entitled "What's Wrong with your Head Mounted
Display". It is a summary report on the findings of a study
done by the Edinburgh Virtual Environment Lab, Dept. of
Psychology, Univ. of Edinburgh on the eye strain effects of
stereoscopic Head Mounted Displays. There have been a number
of anecdotal reports of stress with HMDs and other
stereoscopic displays, but few, if any, good clinical
studies. This study was done very carefully and the results
are a cause for some concern.
The basic test was to put 20 young adults on a stationary
bicycle and let them cycle around a virtual rural road
setting using a HMD (VPL LX EyePhone and a second HMD LEEP
optic equipped system). After 10 minutes of light exercise,
the subjects were tested...
"The results were alarming: measures of distance vision ,
binocular fusion and convergence displayed clear signs of
binocular stress in a significant number of the subjects.
Over half the subjects also reported symptoms of such
stress, such as blurred vision."
The article goes on to describe the primary reason for the
stress - the difference between the image focal depth and
the disparity. Normally, the when your eyes look at a close
object they focus (accommodate) close and also rotate inward
(converge). When they accommodate on a far object, the eyes
also diverge. However, a stereoscopic display does not
change the either the effective focal plane (set by the
optics) and the disparity depth. The eyes strain to decouple
the signals.
The article discusses some potential solutions, but notes
that most of them (dynamic focal/disparity) are difficult to
implement. It mentions monoscopic HMDs only to say that
while they would seem to avoid the problems, they were not
tested. The article does not discuss non-HMD stereoscopic
devices at all, but I would extrapolate that they should
show some similar problems. The full article is available
from CyberEdge Journal for a small fee.
There has been a fair bit of discussion ongoing in the
sci.virtual-worlds newsgroup (check the Sept./Oct. 93
archives) about this and some other studies. One
contributor, Dipl.-Ing. Olaf H. Kelle, University of
Wuppertal, Germany, reported only 10% of his users showing
eye strain. His system is setup with a focal depth of 3m
which seems to be a better, more comfortable viewing
distance. Others have noted that long duration monitor use
often leads to the user staring or not blinking. It is
common for VDT users to be cautioned to look away from the
screen occasionally to adjust their focal depth and to
blink. Another contributor, John Nagle provided the
following list of other potential problems with HMDs:
electrical safety, Falling/tripping over real world objects,
simulator sickness (disorientation due to conflicting motion
signals from eyes and inner ear), Eye Strain, Induced post-
HMD accidents ("some flight simulators some flight
simulators, usually those for military fighter aircraft,
it's been found necessary to forbid simulator users to fly
or drive for a period of time after flying the simulator".).
I.3. Levels of VR Hardware Systems
The following defines a number of levels of VR hardware
systems. These are not hard levels, especially towards the
more advanced systems.
I.3.1. Entry VR (EVR)
The 'Entry Level' VR system takes a stock personal
computer or workstation and implements a WoW system. The
system may be based on an IBM clone (MS-DOS/Windows) machine
or an Apple Macintosh, or perhaps a Commodore Amiga. The DOS
type machines (IBM PC clones) are the most prevalent. There
are Mac based systems, but few very fast rendering ones.
Whatever the base computer it includes a graphic display, a
2D input device like a mouse, trackball or joystick, the
keyboard, hard disk & memory.
I.3.2. Basic VR (BVR)
The next step up from an EVR system adds some basic
interaction and display enhancements. Such enhancements
would include a stereographic viewer (LCD Shutter glasses)
and a input/control device such as the Mattel PowerGlove
and/or a multidimensional (3D or 6D) mouse or joystick.
I.3.3. Advanced VR (AVR)
The next step up the VR technology ladder is to add a
rendering accelerator and/or frame buffer and possibly other
parallel processors for input handling, etc. The simplest
enhancement in this area is a faster display card. For the
PC class machines, there are a number of new fast VGA and
SVGA accelerator cards. These can make a dramatic
improvement in the rendering performance of a desktop VR
system. Other more sophisticated image processors based on
the Texas Instruments TI34020 or Intel i860 processor can
make even more dramatic improvements in rendering
capabilities. The i860 in particular is in many of the high
end professional systems. The Silicon Graphics Reality
Engine uses a number of i860 processors in addition to the
usual SGI workstation hardware to achieve stunning levels of
realism in real time animation.
An AVR system might also add a sound card to provide mono,
stereo or true 3D audio output. Some sound cards also
provide voice recognition. This would be an excellent
additional input device for VR applications.
I.3.4. Immersion VR (IVR)
An Immersion VR system adds some type of immersive display
system: a HMD, a Boom, or multiple large projection type
displays (Cave).
An IVR system might also add some form of tactile, haptic
and touch feedback interaction mechanisms. The area of Touch
or Force Feedback (known collectively as Haptics) is a very
new research arena.
I.3.5. Cockpit Simulators
A common variation on VR is to use a Cockpit or Cab
compartment to enclose the user. The virtual world is viewed
through some sort of view screen and is usually either
projected imagery or a conventional monitor. The cockpit
simulation is very well known in aircraft simulators, with a
history dating back to the early Link Flight Trainers
(1929?). The cockpit is often mounted on a motion platform
that can give the illusion of a much larger range of motion.
Cabs are also used in driving simulators for ships, trucks,
tanks and 'battle mechs'. The latter are fictional walking
robotic devices (i.e. the Star Wars films). The BattleTech
location based entertainment (LBE) centers use this type of
system.
I.3.6. SIMNET, Defense Simulation Internet
One of the biggest VR projects is the Defense Simulation
Internet. This project is a standardization being pushed by
the USA Defense Department to enable diverse simulators to
be interconnected into a vast network. It is an outgrowth of
the Defense Advanced Research Projects Administration
(DARPA) SIMNET project of the later 1980s. SIMNET was/is a
collection of tank simulators (Cab type) that are networked
together to allow unit tactical training. Simulators in
Germany can operate in the same virtual world as simulators
in the USA, partaking of the same battle exercise.
The basic Distributed Interactive Simulation (DIS)
protocol has been defined by the Orlando Institute for
Simulation & Training. It is the basis for the next
generation of SIMNET, the Defense Simulation Internet (DSI).
(love those acronyms!) An accessible, if somewhat dark,
treatment of SIMNET and DSI can be found in the premier
issue of WIRED magazine (January 1993) entitled "War is
Virtual Hell" by Bruce Sterling.
The basic DIS protocol has been adopted as a standard for
communication between distributed simulations by the IEEE.
Basic information on DIS and SIMNET, including a C library
to support the communication protocol is available via FTP
from the Internet site taurus.cs.nps.navy.mil
(pub/warbreaker/NPS_DIS...). Other contact points for DIS
include:
Danette Haworth Institute for Simulation & Training 12424
Research Parkway, Suite 300 Orlando, Florida 32826 (407)658-
5000
Defense Modeling and Simulation Office (DMSO) has an
Internet site to support Advanced Distributed Simulation
Technology (ADST). The IP address is 137.249.32.17
Administrative Contact: Kevin Mullally 407.382.4580,
Technical Contact: Brad Mohning 408.473.4962
I.4. Available VR Software Systems
There are currently quite a number of different efforts to
develop VR technology. Each of these projects have different
goals and approaches to the overall VR technology. Large and
small University labs have projects underway (UNC, Cornell,
U.Rochester, etc.). ARPA , NIST, National Science Foundation
and other branches of the US Government are investing
heavily in VR and other simulation technologies. There are
industry supported laboratories too, like the Human
Interface Technologies Laboratory (HITL) in Seattle and the
Japanese NTT project. Many existing and startup companies
are also building and selling world building tools
(Autodesk, IBM', Sense8, VREAM).
There are two major categories for the available VR
software: toolkits and authoring systems. Toolkits are
programming libraries, generally for C or C++ that provide a
set of functions with which a skilled programmer can create
VR applications. Authoring systems are complete programs
with graphical interfaces for creating worlds without
resorting to detailed programming. These usually include
some sort of scripting language in which to describe complex
actions, so they are not really non-programming, just much
simpler programming. The programming libraries are
generally more flexible and have faster renders than the
authoring systems, but you must be a very skilled programmer
to use them. (Note to developers: if i fail to mention your
system below, please let me know and I will try to remember
to include it when, and if, i update this document again)
I.4.1. Freeware VR Programs
At the low end of the VR spectrum are the freeware products
and garage or home-brew VR hackers (like me!). There are
currently a few fast rendering programs that have been
released with source code and no charge. These programs are
generally copyrighted freeware, which means that the
original creators retain the copyright and commercial use is
restricted. They are not polished commercial programs, and
are often written by students. However, these programs exist
to give people a very low cost entry into the VR world.
Rend386 is one such freeware library and world player
written for 386/486 DOS systems. It was written by Dave
Stampe and Bernie Roehl at the University of Waterloo,
Canada. It creates images at a resolution of 320x200x256 and
supports various extra devices such as the Mattel
PowerGlove, LC shutter glasses, Split Screen stereo viewers
etc. Rend386 is provided both as a complete world player
and as a C source code. It does not provide a full authoring
environment for world and object building. Dave and Bernie
co-authored the book "Virtual Reality Creations" with John
Eagan. It serves as the primary user documentation for
Rend386 Version 5. There is also an electronic mail list for
Rend386. Rend386 is available on the via ftp
(sunee.uwaterloo.ca), CompuServe's CyberForum, and also from
a large number of BBSes.
ACK3D is a freeware C programming library developed by
Lary Meyer that provides a fast 'raycasting' renderer for PC
systems. This technique restricts the user motion somewhat,
but allows textures to be drawn at very impressive rates.
The technique gained a fair bit of exposure with the
Wolfenstein 3D series of shareware games. ACK3D can be
found on the CompuServe Gamer's forum and also via ftp from
ftp.u.washington.edu in the pub/virtual-worlds/cheap-vr
area.
Gossamer, a freeware VR package for the Apple Macintosh
system, written by Jon Blossom. Source code has not been
released yet, but Jon has released a demo and a Think C
library. Jon is currently working on a new version that will
support file compatibility with Rend386 V5 and a more
extensive user program. The current version is available on
via ftp from ftp.apple.com in the directory pub/VR, and also
on CompuServe's CyberForum.
Multiverse is a freeware UNIX based client/server system
written by Robert Grant. It is a multi-user, non-immersive,
X-Windows based Virtual Reality system, primarily focused on
entertainment/research. It includes capabilities for setting
up multi-person worlds and a client/server type world
simulation over a local or long haul network. Multiverse
source and binaries for several flavors of UNIX are
available via anonymous ftp from medg.lcs.mit.edu in the
directory pub/multiverse
The MRToolkit is a programming library for UNIX systems
that is available at no cost from the University of Alberta,
but the licensing agreement stipulates no commercial
products may be made with it.
VEOS is another programming toolkit that provides a basis
for VR development on networked UNIX machines. Source code
is available from the Human Interface Technology Lab (HITL)
at University of Washington. (ftp.u.washington.edu)
I.4.2. VR Programs for under $200
There are a number of commercial VR programs that sell for
under $200. Many computer games that can be considered in
this category, such as Wolfenstein 3D, but these are often
closed systems that do not allow much customizing or world
building by the user.
Virtual Reality Studio (aka VR Studio, VRS) is a very low
cost VR authoring system that does allow the user to define
their own virtual worlds. This program is also known as "3D
Construction Kit" in Europe. The program has a fairly nice
graphical interface and includes a simple scripting
language. It is available for about $100 from Domark for PC
and Amiga systems. Worlds created with the program can be
freely distributed with a player program. There are a quite
number of these worlds available from the BBSes, and other
sources. Compuserve's Cyberforum has several in its
libraries, like the company provided demo VRSDMO.ZIP
(VRS.TXT gives a solution to the demo game). Version 2 of VR
Studio was released in early 1993. It has many new features
including a much enhanced scripting language and editor, but
also an annoying number of bugs. The developers of VRS
(Dimension International) are working hard to correct these.
Another entrant into the low cost market is the Lepton VR
Data Modeling Toolkit. This package is a collection of C
programming libraries for real-time 3d data modeling on DOS
systems. Version 1.0 is scheduled to be released in Fal1993
and will cost approximately $150.
For the Macintosh market there are the Qd3d, 3dPane, and
SmartPane C++ libraries from ViviStar Consulting ($192 for
full package). These provide a full suite of 3D graphics
functions for popular Macintosh C++ compilers as well as
Think C 6.0.
I.4.3. VR Packages under $1000
The next level of VR System is those costing between two
hundred and one thousand dollars. There are some very
excellent professional packages appearing in this price
range in the last year. Most of these systems do not require
any specialized hardware beyond the basic computer system.
VREAM is a complete VR authoring package for MS-DOS
systems for about $795 from VREAM, Inc.. It provides a nice
GUI environment for creation of objects and worlds, as well
as a fairly powerful scripting language. VREAM supports a
very wide variety of input and output devices, including
HMDs. Two versions of the runtime system are available at
a much lower cost to provide only the playback ability. The
lower cost runtime (under $50) will work only with standard
VGA display and mouse/joystick. The advanced runtime system
supports more devices.
Virtus Walkthrough, from Virtus Corp., is available for
both Mac and Windows systems. It provides a nice 3D modeling
package and the ability to interactively control the
viewpoint within the created worlds. However, it does not
allow for interaction with the objects. The latest version
Walkthrough Pro supports texture maps, including QuickTime
movies.
Sense 8 has announced a $795 programming library for
Windows called World Tool Kit for Windows. This will be
released late in 1993 as a DLL for Windows systems. It will
work directly with standard SVGA displays and show worlds
with texture mapping either within a window or allow full
screen display. The programming library will support DDE so
a virtual world can be controlled from a spreadsheet,
database or other program.
I.4.4. VR Software for over $1000
The heavy duty professional VR software packages begin at
about $1000 and can go up dramatically. The hardware
required to run these systems varies. Most support a DOS
environment with add in rendering cards like the i860 based
SPEA Fireboard. A few work on SGI and other workstation
system. There are also other packages available that run on
vendor specific hardware configurations. The really high
end packages require extremely expensive hardware "Image
Generators" such as those used in flight simulators.
The Sense8 World Tool Kit (WTK) is probably the most widely
used product of this type. It runs on a wide variety of
platforms from i860 assisted PCs to high end SGI boxes. It
has won several awards for excellence.
The Autodesk Cyberspace Development kit is another product
in this range. It is a C++ library for MSDOS systems using
the Metaware HighC/C++ compiler and Pharlap DOS 32bit
extender. It supports VESA displays as well as several
rendering accelerator boards (SPEA Fireboard, FVS Sapphire,
Division's dView). I used this system for a few months and
found it requires a strong background in C++ and a rendering
accelerator card. VESA speeds were about 4 frames per
second.
Straylight Corp. makes a package called PhotoVR that uses
special rendering boards (Intel ActionMedia cards) to
provide excellent texture mapped walkthrough environments.
Dimension International's Superscape VRT3 is a very
powerful authoring system for virtual worlds. It provides
both a graphical environment for object and world creation
and a lower level C library.
Division Ltd. sells a programming environment for VR
called dVS. This package runs on SGI systems, IBM RS/6000
workstations and a proprietary Division workstation. They
also sell a complete world authoring and simulation program
similar to VREAM and VRT3 called dVise.
Lightscape is a radiosity rendering package for creating
realistically shaded walkthroughs from Lightscape Graphics
Software. This product runs on high end workstations and is
aimed primarily at architects and lighting designers.
There have been a number of other packages introduced
recently for professional VR development. I do not have full
information on all of them and suggest the interested reader
follow up by reading either the AI Expert Special Report on
Virtual Reality or perhaps by purchasing Sophistech's VR
Sourcebook.
I.5. Aspects of A VR Program
Just what is required of a VR program? The basic parts of
the system can be broken down into an Input Processor, a
Simulation Processor, a Rendering Process, and a World
Database. All these parts must consider the time required
for processing. Every delay in response time degrades the
feeling of 'presence' and reality of the simulation.
I.5.1. Input Processes
The Input Processes of a VR program control the devices
used to input information to the computer. There are a wide
variety of possible input devices: keyboard, mouse,
trackball, joystick, 3D & 6D position trackers (glove, wand,
head tracker, body suit, etc.). A networked VR system would
add inputs received from net. A voice recognition system is
also a good augmentation for VR, especially if the user's
hands are being used for other tasks. Generally, the input
processing of a VR system is kept simple. The object is to
get the coordinate data to the rest of the system with
minimal lag time. Some position sensor systems add some
filtering and data smoothing processing. Some glove systems
add gesture recognition. This processing step examines the
glove inputs and determines when a specific gesture has been
made. Thus it can provide a higher level of input to the
simulation.
I.5.2. Simulation Process
The core of a VR program is the simulation system. This is
the process that knows about the objects and the various
inputs. It handles the interactions, the scripted object
actions, simulations of physical laws (real or imaginary)
and determines the world status. This simulation is
basically a discrete process that is iterated once for each
time step or frame. A networked VR application may have
multiple simulations running on different machines, each
with a different time step. Coordination of these can be a
complex task.
It is the simulation engine that takes the user inputs
along with any tasks programmed into the world such as
collision detection, scripts, etc. and determines the
actions that will take place in the virtual world.
I.5.3. Rendering Processes
The Rendering Processes of a VR program are those that
create the sensations that are output to the user. A network
VR program would also output data to other network
processes. There would be separate rendering processes for
visual, auditory, haptic (touch/force), and other sensory
systems. Each renderer would take a description of the world
state from the simulation process or derive it directly from
the World Database for each time step.
I.5.3.1. Visual Renderer
The visual renderer is the most common process and it has
a long history from the world of computer graphics and
animation. The reader is encouraged to become familiar with
various aspects of this technology.
The major consideration of a graphic renderer for VR
applications is the frame generation rate. It is necessary
to create a new frame every 1/20 of a second or faster. 20
frames per second (fps) is roughly the minimum rate at which
the human brain will merge a stream of still images and
perceive a smooth animation. 24fps is the standard rate for
film, 25fps is PAL TV, 30fps is NTSC TV. 60fps is Showscan
film rate. This requirement eliminates a number of rendering
techniques such as raytracing and radiosity. These
techniques can generate very realistic images but often take
hours to generate single frames.
Visual renderers for VR use other methods such as a
'painter's algorithm', a Z-Buffer, or other Scanline
oriented algorithm. There are many areas of visual rendering
that have been augmented with specialized hardware. The
Painter's algorithm is favored by many low end VR systems
since it is relatively fast, easy to implement and light on
memory resources. However, it has many visibility problems.
For a discussion of this and other rendering algorithms, see
one of the computer graphics reference books listed in a
later section.
The visual rendering process is often referred to as a
rendering pipeline. This refers to the series of sub-
processes that are invoked to create each frame. A sample
rendering pipeline starts with a description of the world,
the objects, lighting and camera (eye) location in world
space. A first step would be eliminate all objects that are
not visible by the camera. This can be quickly done by
clipping the object bounding box or sphere against the
viewing pyramid of the camera. Then the remaining objects
have their geometry's transformed into the eye coordinate
system (eye point at origin). Then the hidden surface
algorithm and actual pixel rendering is done.
The pixel rendering is also known as the 'lighting' or
'shading' algorithm. There are a number of different methods
that are possible depending on the realism and calculation
speed available. The simplest method is called flat shading
and simply fills the entire area with the same color. The
next step up provides some variation in color across a
single surface. Beyond that is the possibility of smooth
shading across surface boundaries, adding highlights,
reflections, etc.
An effective short cut for visual rendering is the use of
"texture" or "image" maps. These are pictures that are
mapped onto objects in the virtual world. Instead of
calculating lighting and shading for the object, the
renderer determines which part of the texture map is visible
at each visible point of the object. The resulting image
appears to have significantly more detail than is otherwise
possible. Some VR systems have special 'billboard' objects
that always face towards the user. By mapping a series of
different images onto the billboard, the user can get the
appearance of moving around the object.
I need to correct my earlier statement that radiosity
cannot be used for VR systems due to the time requirements.
There have recently been at least two radiosity renderers
announced for walkthrough type systems - Lightscape from
Lightscape Graphics Software of Canada and Real Light from
Atma Systems of Italy. These packages compute the radiosity
lighting in a long time consuming process before hand. The
user can interactively control the camera view but cannot
interact with the world. An executable demo of the Atma
product is available for SGI systems from ftp.iunet.it
(192.106.1.6) in the directory ftp/vendor/Atma.
I.5.3.2. Auditory Rendering
A VR system is greatly enhanced by the inclusion of an
audio component. This may produce mono, stereo or 3D audio.
The latter is a fairly difficult proposition. It is not
enough to do stereo-pan effects as the mind tends to locate
these sounds inside the head. Research into 3D audio has
shown that there are many aspects of our head and ear shape
that effect the recognition of 3D sounds. It is possible to
apply a rather complex mathematical function (called a Head
Related Transfer Function or HRTF) to a sound to produce
this effect. The HRTF is a very personal function that
depends on the individual's ear shape, etc. However, there
has been significant success in creating generalized HRTFs
that work for most people and most audio placement. There
remains a number of problems, such as the 'cone of
confusion' wherein sounds behind the head are perceived to
be in front of the head.
Sound has also been suggested as a means to convey other
information, such as surface roughness. Dragging your
virtual hand over sand would sound different than dragging
it through gravel.
I.5.3.3. Haptic Rendering
Haptics is the generation of touch and force feedback
information. This area is a very new science and there is
much to be learned. There have been very few studies done on
the rendering of true touch sense (such as liquid, fur,
etc.). Almost all systems to date have focused on force
feedback and kinesthetic senses. These systems can provide
good clues to the body regarding the touch sense, but are
considered distinct from it. Many of the haptic systems thus
far have been exo-skeletons that can be used for position
sensing as well as providing resistance to movement or
active force application.
I.5.3.4. Other Senses
The sense of balance and motion can be served to a fair
degree in a VR system by a motion platform. These are used
in flight simulators and some theaters to provide some
motion cues that the mind integrates with other cues to
perceive motion. It is not necessary to recreate the entire
motion perfectly to fool the mind into a willing suspension
of disbelief.
The sense of temperature has seen some technology
developments. There exist very small electrical heat pumps
that can produce the sensation of heat and cold in a
localized area. These system are fairly expensive.
Other senses such as taste, smell, pheromone, etc. are
beyond our ability to render rapidly and effectively.
Sometimes, we just don't know enough about the functioning
of these other senses.
I.6. World Space
The virtual world itself needs to be defined in a 'world
space'. By its nature as a computer simulation, this world
is necessarily limited. The computer must put a numeric
value on the locations of each point of each object within
the world. Usually these 'coordinates' are expressed in
Cartesian dimensions of X, Y, and Z (length, height, depth).
It is possible to use alternative coordinate systems such as
spherical but Cartesian coordinates are the norm for almost
all applications. Conversions between coordinate systems are
fairly simple (if time consuming).
I.6.1. World Coordinates
A major limitation on the world space is the type of
numbers used for the coordinates. Some worlds use floating
point coordinates. This allows a very large range of numbers
to be specified, with some precision lost on large numbers.
Other systems used fixed point coordinates, which provides
uniform precision on a more limited range of values. The
choice of fixed versus floating point is often based on
speed as well as the desire for a uniform coordinate field.
I.6.2. A World Divided: Separation of Environments
One method of dealing with the limitations on the world
coordinate space is to divide a virtual world up into
multiple worlds and provide a means of transiting between
the worlds. This allows fewer objects to be computed both
for scripts and for rendering. There should be multiple
stages (aka rooms, areas, zones, worlds, multiverses, etc.)
and a way to move between them (Portals).
I.7. World Database
The storage of information on objects and the world is a
major part of the design of a VR system. The primary things
that are stored in the World Database (or World Description
Files) are the objects that inhabit the world, scripts that
describe actions of those objects or the user (things that
happen to the user), lighting, program controls, and
hardware device support.
I.7.1. Storage Methods
There are a number of different ways the world information
may be stored: a single file, a collection of files, or a
database. The multiple file method is one of the more common
approaches for VR development packages. Each object has one
or more files (geometry, scripts, etc.) and there is some
overall 'world' file that causes the other files to be
loaded. Some systems also include a configuration file that
defines the hardware interface connections.
Sometimes the entire database is loaded during program
startup, other systems only read the currently needed files.
A real database system helps tremendously with the latter
approach. An Object Oriented Database would be a great fit
for a VR system, but I am not aware of any projects
currently using one.
The data files are most often stored as ASCII (human
readable) text files. However, in many systems these are
replaced by binary computer files. Some systems have all the
world information compiled directly into the application.
I.7.2. Objects
Objects in the virtual world can have geometry, hierarchy,
scripts, and other attributes. The capabilities of objects
has a tremendous impact on the structure and design of the
system. In order to retain flexibility, a list of named
attribute/values pairs is often used. Thus attributes can be
added to the system without requiring changes to the object
data structures.
These attribute lists would be addressable by name (i.e.
cube.mass => mass of the cube object). They may be a scalar,
vector, or expression value. They may be addressable from
within the scripts of their object. They might be accessible
from scripts in other objects.
I.7.2.1. Position/Orientable
An object is positionable and orientable. That is, it has
a location and orientation in space. Most objects can have
these attributes modified by applying translation and
rotation operations. These operations are often implemented
using methods from vector and matrix algebra.
I.7.2.2. Hierarchy
An object may be part of an object part HIERARCHY with a
parent, sibling, and child objects. Such an object would
inherit the transformations applied to it's parent object
and pass these on to it's siblings and children. Hierarchies
are used to create jointed figures such as robots and
animals. They can also be used to model other things like
the sun, planets and moons in a solar system.
I.7.2.3. Bounding Volume
Additionally, an object should include a BOUNDING VOLUME.
The simplest bounding volume is the Bounding Sphere,
specified by a center and radius. Another simple alternative
is the Bounding Cube. This data can be used for rapid object
culling during rendering and trigger analysis. Objects whose
bounding volume is completely outside the viewing area need
not be transformed or considered further during rendering.
Collision detection with bounding spheres is very rapid. It
could be used alone, or as a method for culling objects
before more rigorous collision detection algorithms are
applied.
I.7.3. Object Geometry
The modeling of object shape and geometry is a large and
diverse field. Some approaches seek to very carefully model
the exact geometry of real world objects. Other methods seek
to create simplified representations. Most VR systems
sacrifice detail and exactness for simplicity for the sake
of rendering speed.
The simplest objects are single dimensional points. Next
come the two dimensional vectors. Many CAD systems create
and exchange data as 2D views. This information is not very
useful for VR systems, except for display on a 2D surface
within the virtual world. There are some programs that can
reconstruct a 3D model of an object, given a number of 2D
views.
The sections below discuss a number of common geometric
modeling methods. The choice of method used is closely tied
to the rendering process used. Some renderers can handle
multiple types of models, but most use only one, especially
for VR use. The modeling complexity is generally inversely
proportional to the rendering speed. As the model gets more
complex and detailed, the frame rate drops.
I.7.3.1. 3D PolyLines & PolyPoints
The simplest 3D objects are known as PolyPoints and
PolyLines. A PolyPoint is simply a collection of points in
space. A Polyline is a set of vectors that form a continuous
line.
I.7.3.2. Polygons
The most common form of objects used in VR systems are
based on flat polygons. A polygon is a planar, closed multi-
sided figure. They maybe convex or concave, but some systems
require convex polygons. The use of polygons often gives
objects a faceted look. This can be offset by more advanced
rendering techniques such as the use of smooth shading and
texture mapping.
Some systems use simple triangles or quadrilaterals
instead of more general polygons. This can simplify the
rendering process, as all surfaces have a known shape.
However, it can also increase the number of surfaces that
need to be rendered.
Polygon Mesh Format (aka Vertex Join Set) is a useful form
of polygonal object. For each object in a Mesh, there is a
common pool of Points that are referenced by the polygons
for that object. Transforming these shared points reduces
the calculations needed to render the object. A point at the
edge of a cube is only processed once, rather once for each
of the three edge/polygons that reference it. The PLG format
used by REND386 is an example of a Polygonal Mesh, as is the
BYU format used by the 'ancient' MOVIE.BYU program.)
. The geometry format can support precomputed polygon and
vertex normals. Both Polygons and vertices should be allowed
a color attribute. Different renderers may use or ignore
these and possibly more advanced surface characteristics.
Precomputed polygon normals are very helpful for backface
polygon removal. Vertices may also have texture coordinates
assigned to support texture or other image mapping
techniques.
I.7.3.3. Primitives
Some systems provide only Primitive Objects, such as
cubes, cones, and spheres. Sometimes, these objects can be
slightly deformed by the modeling package to provide more
interesting objects.
I.7.3.4. Solid Modeling & Boolean Operations
Solid Modeling (aka Computer Solid Geometry, CSG) is one
form of geometric modeling that uses primitive objects. It
extends the concept by allowing various addition,
subtraction, Boolean and other operations between these
primitives. This can be very useful in modeling objects when
you are concerned with doing physical calculations, such as
center of mass, etc. However, this method does incur some
significant calculations and is not very useful for VR
applications. It is possible to convert a CSG model into
polygons. Various complexity polygonal models (# polygons)
could be made from a single high resolution ''metaobject" of
a CSG type.
I.7.3.5. Curves & Patches
Another advanced form of geometric modeling is the use of
curves and curved surfaces (aka patches). These can be very
effective in representing complex shapes, like the curved
surface of an automobile, ship or beer bottle. However,
there is significant calculation involved in determining the
surface location at each pixel, thus curve based modeling is
not used directly in VR systems. It is possible, however, to
design an object using curves and then compute a polygonal
representation of those curved patches. Various complexity
polygonal models could be made from a single high resolution
'metaobject'.
I.7.3.6. Dynamic Geometry (aka morphing)
It is sometimes desirable to have an object that can
change shape. The shape might simply be deformed, such a
bouncing ball or the squash/stretch used in classical
animation ('toons'), or it might actually undergo
metamorphosis into a completely different geometry. The
latter effect is commonly known as 'morphing' and has been
extensively used in films, commercials and television shows.
Morphing can be done in the image domain (2D morph) or in
the geometry domain (3D morph). The latter is applicable to
VR systems. The simplest method of doing a 3D morph is to
precompute the various geometry's and step through them as
needed. A system with significant processing power can
handle real time object morphing.
I.7.3.7. Swept Objects & Surface of Revolution
A common method for creating objects is known as Sweeping
and Surfaces of Revolution. These methods use an outline or
template curve and a backbone. The template is swept along
the backbone creating the object surface (or rotated about a
single axis to create a surface of revolution). This method
may be used to create either curve surfaces or polygonal
objects. For VR applications, the sweeping would most
likely be performed during the object modeling (creation)
phase, and the resulting polygonal object stored for real
time use.
I.7.3.8. Texture Maps & Billboard Objects
As mentioned in the section on rendering, texture maps
(images) can be used to provide the appearance of more
geometric complexity without the geometric calculations.
Using flat polygonal objects that maintain an orientation
towards the eye/camera (billboards) and multiple texture
maps can extend this trick even further. Texture maps, even
without billboard objects, are an excellent way to increase
apparent scene complexity. Variations on the image mapping
concept are also used to simulate reflections, etc.
I.7.4. Lights
Lighting is a very important part of a virtual world (if
it is visually rendered). Lights can be ambient
(everywhere), or located. Located lights have position and
may have orientation, color, intensity and a cone of
illumination. The more complex the light source, the more
computation is required to simulate its effect on objects.
I.7.5. Cameras
Cameras or viewpoints may be described in the World
Database. Generally, each user has only one viewpoint at a
time (ok, two closely spaced viewpoints for stereoscopic
systems). However, it may be useful to define alternative
cameras that can be used as needed. An example might be an
overhead camera that shows a schematic map of the virtual
world and the user's location within it (You Are Here.)
I.7.6. Scripts and Object Behavior
A virtual world consisting only of static objects is only
of mild interest. Many researchers and enthusiasts of VR
have remarked that interaction is the key to a successful
and interesting virtual world. This requires some means of
defining the actions that objects take on their own and when
the user (or other objects) interact with them. This i refer
to generically as the World Scripting. I divide the scripts
into three basic types: Motion Scripts, Trigger Scripts and
Connection Scripts
Scripts may be textual or they might be actually compiled
into the program structure. The use of visual programming
languages for world design was pioneered by VPL Research
with their Body Electric system. This Macintosh based
language used 2d blocks on the screen to represent inputs,
objects and functions. The programmer would connect the
boxes to indicate data flow.
There is no common scripting language used in today's VR
products. The commercial authoring packages, such as VR
Studio, VREAM and Superscape all contain some form of
scripting language. Autodesk's CDK has the "Cyberspace
Description Format" (CDF) and the Distributed Shared
Cyberspace Virtual Representation (DSCVR) database. These
are only partially implemented in the current release. They
are derived from the Linda distributed programming
language/database system. ("Coordiantation Languages and
their Significance", David Gelernter and Nicholas Carriero,
Communications of the ACM, Feb 1992 V35N2). On the
homebrew/freeware side, some people are experimenting with
several Object Oriented interpretive languages such as BOB
("Your own tiny Object-Oriented Language", David Betz,
DrDobbs Journal Sept 1991). Object Orientation, although
perhaps not in the conventional class-inheritance mechanism,
is very nicely suited to world scripting. Interpretive
langauges are faster for development, and often more
accessible to 'non-programmers'.
I.7.6.1. Motion Scripts
Motion scripts modify the position, orientation or other
attributes of an object, light or camera based on the
current system tick. A 'tick' is one advancement of the
simulation clock. Generally, this is equivalent to a single
frame of visual animation. (VR generally uses Discrete
Simulation methods)
For simplicity and speed, only one motion script should be
active for an object at any one instant. Motion scripting
is a potentially powerful feature, depending on how complex
we allow these scripts to become. Care must be exercised
since the interpretation of these scripts will require time,
which impacts the frame and delay rates.
Additionally, a script might be used to attach or detach
an object from a hierarchy. For example, a script might
attach the user to a CAR object when he wishes to drive
around the virtual world. Alternatively, the user might
'pick up' or attach an object to himself.
I.7.6.2. Physical or Procedural Modeling and Simulation
A complex simulation could be used that models the
interactions of the real physical world. This is sometimes
referred to as Procedural Modeling. It can be a very complex
and time consuming application. The mathematics required to
solve the physical interaction equations can also be fairly
complex. However, this method can provide a very realistic
interaction mechanism. (for more on Physical Simulation, see
the book by Ronen Barzel listed in the Computer Graphics
Books section)
I.7.6.3. Simple Animation
A simpler method of animation is to use simple formulas
for the motion of objects. A very simple example would be
"Rotate about Z axis once every 4 seconds". This might also
be represented as "Rotate about Z 10 radians each frame".
A slightly more advanced method of animation is to provide
a 'path' for the object with controls on its speed at
various points. These controls are sometimes referred to as
"slow in-out". They provide a much more realistic motion
than simple linear motion.
If the motion is fixed, some systems can precompute the
motion and provide a 'channel' of data that is evaluated at
each time instance. This may be a simple lookup table with
exact values for each frame, or it may require some sort of
simple interpolation.
I.7.6.4. Trigger Scripts
Trigger Scripts are invoked when some trigger event
occurs, such as collision, proximity or selection. The VR
system needs to evaluate the trigger parameters at each
TICK. For proximity detectors, this may be a simple distance
check from the object to the 3D eye or effector object (aka
virtual human) Collision detection is a more involved
process. It is desirable but may not be practical without
off loading the rendering and some UI tasks from the main
processor.
I.7.6.5. Connection Scripts
Connection scripts control the connection of input and
output devices to various objects. For example a connection
script may be used to connect a glove device to a virtual
hand object. The glove movements and position information is
used to control the position and actions of the hand object
in the virtual world. Some systems build this function
directly into the program. Other systems are designed such
that the VR program is almost entirely a connection script.
I.7.7. Interaction Feedback
The user must be given some indication of interaction
feedback when the virtual cursor selects or touches an
object. Crude systems have only the visual feedback of
seeing the cursor (virtual hand) penetrate an object. The
user can then grasp or otherwise select the object. The
selected object is then highlighted in some manner.
Alternatively, an audio signal could be generated to
indicate a collision. Some systems use simple touch
feedback, such as a vibration in the joystick, to indicate
collision, etc.
I.7.8. Graphical User Interface/Control Panels
A VR system often needs to have some sort of control
panels available to the user. The world database may contain
information on these panels and how they are integrated into
the application. Alternatively, they may be a part of the
program code.
There are several ways to create these panels. There could
be 2D menus that surround a WoW display, or are overlaid
onto the image. An alternative is to place control devices
inside the virtual world. The simulation system must then
note user interaction with these devices as providing
control over the world.
One primary area of user control is control of the
viewpoint (moving around within the virtual world). Some
systems use the joystick or similar device to move. Others
use gestures from a glove, such as pointing, to indicate a
motion command.
The user interface to the VW might be restricted to direct
interaction in the 3D world. However, this is extremely
limiting and requires lots of 3D calculations. Thus it is
desirable to have some form of 2D Graphical user interface
to assist in controlling the virtual world. These 'control
panels' of the would appear to occlude portions of the 3D
world, or perhaps the 3D world would appear as a window or
viewport set in a 2D screen interface. The 2D interactions
could also be represented as a flat panel floating in 3D
space, with a 3D effector controlling them.
I.7.8.1. Two Dimensional Controls
There are four primary types of 2D controls and displays.
(controls cause changes in the virtual world, displays show
some measurement on the VW.) Buttons, Sliders, Gauges and
Text. Buttons may be menu items with either icons or text
identifiers. Sliders are used for more analog control over
various attributes. A variation of a slider is the dial, but
these are harder to implement as 2D controls. Gauges are
graphical depiction's of the value of some attribute(s) of
the world. Text may be used for both control and display.
The user might enter text commands to some command parser.
The system may use text displays to show the various
attributes of the virtual world.
An additional type of 2D display might be a map or locator
display. This would provide a point of reference for
navigating the virtual world.
The VR system needs a definition for how the 2D cursor
effects these areas. It may be desirable to have a notion of
a 'current control' that is the focus of the activity
(button pressed, etc.) for the 2D effector. Perhaps the
arrow keys on the keyboard could be used to change the
current control, instead of using the mouse (which might be
part of the 3D effector at present).
I.7.8.2. Three Dimensional Controls
Some systems place the controls inside the virtual world.
These are often implemented as a floating control panel
object. This panel contains the usual 2D buttons, gauges,
menu items, etc. perhaps with a 3D representation and
interaction style.
There have also been some published articles on 3D control
Widgets. These are interaction methods for directly
controlling the 3D objects. One method implemented at Brown
University attaches control handles to the objects. These
handles can be grasped, moved, twisted, etc. to cause
various effects on an object. For example, twisting one
handle might rotate the object, while a 'rack' widget would
provide a number of handles that can be used to deform the
object by twisting its geometry.
I.7.9. Hardware Control & Connections
The world database may contain information on the hardware
controls and how they are integrated into the application.
Alternatively, they may be a part of the program code. Some
VR systems put this information into a configuration file. I
consider this extra file simply another part of the world
database.
The hardware mapping section would define the input/output
ports, data speeds, and other parameters for each device. It
would also provide for the logical connection of that device
to some part of the virtual world. For example a position
tracker might be associated with the viewer's head or hand.
I.7.10. Room/Stage/Area Descriptions
If the system supports the division of the virtual world
into different areas, the world database would need
multiple scene descriptions. Each area description would
give the names of objects in scene, stage description (i.e.
size, backgrounds, lighting, etc.). There would also be some
method of moving between the worlds, such as entering a
doorway, etc., that would most likely be expressed in object
scripts.
I.8. World Authoring versus Playback
A virtual world can be created, modified and experienced.
Some VR systems may not distinguish between the creation and
experiencing aspects. However, there is currently a much
larger body of experience to draw upon for designing the
world from the outside. This method may use techniques
borrowed from architectural and other forms of Computer
Aided Design (CAD) systems. Also the current technologies
for immersive VR systems are fairly limiting in resolution,
latency, etc. They are not nearly as well developed as those
for more conventional computer graphics and interfaces.
For many VR systems, it makes a great deal of sense to
have a Authoring mode and a Playback mode. The authoring
mode may be a standard text editor and compiler system, or
it may include 3D graphic and other tools. Such a split mode
system makes it easier to create a stand alone application
that can be delivered as a product.
An immersive authoring ability may be desirable for some
applications and some users. For example, an architect might
have the ability to move walls, etc. when immersed, while
the clients with him, who are not as familiar with the
system, are limited to player status. That way they can't
accidentally rearrange the house by leaning on a wall.
II. VR Information Resources
The following information is provided to direct the
interested reader to more information on virtual reality. It
is not a complete listing of all sources. Many of the VR
reference books listed below contain resource listings that
have more complete descriptions of some of the products and
services offered.
Toni Emerson of the HITL has put together a more extensive
list of resources. Her list can be found on the ftp site
ftp.u.washington.edu in the directory public/Virtual-
Reality/HITL/reports. Look for irvr.txt and any emerson....
documents. At this writing the most current is
emerson.B.93.2.txt. I have borrowed liberally from Toni's
list. I hope she will forgive me. Toni's report is far more
likely to be updated in the future than this document.
Bill Cockayne maintains an very good listing of on-line
services, newsgroups, etc. as vr_sites.txt on ftp.apple.com.
There are several commercial services that provide much
more extensive listings of VR resources. The one that I have
found to be the most extensive is Sophistech's VR
Sourcebook. This is available both in printed and electronic
form.
II.1. NewsGroups and Mailing Lists
There are two different styles of group communication on.
First there are the News Groups, which were originally part
of Usenet. These are distributed to news repositories on
the various host systems and are browsed and replyed to via
a news reader. Details of news access vary between systems.
Contact your local system administrators for information on
methods available to you. Second, there are the mail lists
services automatically by 'list servers' (aka listserv).
These distribute their contents via email directly to the
mailbox of the individual subscribers.
Subscribing to a mail list requires sending an email
message to either an individual or an automated list-server
service. Generally, the list-servers note your email address
from the mail header and read the body of the message for
special commands. The one you want is "subscibe <listname>
<your full name>". Replacing <listname> with the name of the
newslist you want and <your full name> with your *real*
name, not your login name.
II.1.1. Some recommended Usenet groups:
comp.graphics
comp.graphics.visualization
comp.graphics.digest
comp.research.japan
comp.robotics
comp.simulation
alt.cyberpunk and alt.cyberpunk.tech often concerns topics
related to VR,
though that is not the focus of the discussions
themselves.
alt.cyberspace has pretty light-hearted discussions on the
present and
future implementation of cyberspace in the world.
II.1.2. VR News Groups with Mail List Echos
The following two news groups are directly aimed at the VR
community and are also available as mail list echos.
Sci.virutal-worlds (aka: virtu-l) Moderated by Toni Emerson,
Aaron Pulkka and Michael Almquist (Human Interface
Technology Lab Moderating Group). Send a mail message to
listserv@uiucvmd.bitnet
with a body of
subscribe virtu-l <full_name>
Moderator: gbnewby@alexia.lis.uiuc.edu.(Greg Newby)
Sci.virtual-worlds.apps (aka: vrapp-l) co-moderated by Bob
Jacobson and Mark DeLoura. Send a mail message to:
listserv@uiucvmd.bitnet
with a body of
subscribe vrapp-l <full_name>
II.1.3. Mailing Lists
Glove-list: Subscribe by sending an email message to
listserv@boxer.nas.nasa.gov
with a body of
subscribe glove-list <your full name, not login id>
Post to: glove-list@winn30.nas.nasa.gov
Moderator: jet@boxer.nas.nasa.gov
Head-Trackers mailing list: Subscribe by sending e-mail to
trackers-request@qucis.queensu.ca
with an informal request (not handled by automated system)
post to: trackers@qucis.queensu.ca
REND386 : two mail lists, one for announcements and one for
general discussions. Subscribe by sending an email message
to
Majordomo@sunee.uwaterloo.ca
with a body of either or both of the following lines:
subscribe rend386-announce
subscribe rend386-discuss
Moderated by the creators of REND386 - Dave Stampe and
Bernie Roehl
Iris On-Line: based on the SGI monthly news magazine. To
subscribe, email:
list-manager@sgi.comm
with a body of
subscribe nyn-emag
VIGIS-L: discussion of uses of VR interfacces for Geographic
Information Systems (GIS) and spatial information support
systems. Moderator: Thomas Edwards. To subscribe email:
listserv@uwavm.bitnet
with a body of
Subscribe VIGIS-L (yourname)
Amiga VR list: Administerd by Ethan Dicks
<erd@kumiss.cmhnet.org> To subscribe send a message to
listserv@kumiss.cmhnet.org
with a body of
"subscribe amigavr-list <your first name> <your
last name>".
DIS-List: information on the Distributed Interactive
Simulation protocol and NPS software impementation. Send an
mail message requesting to be added to the list to:
dis-maint@taurus.cs.nps.navy.mil
II.2. Internet FTP Sites
II.2.1. Sites in the North America
ftp.u.washingon.edu public/virtual-worlds (home of
sci.virtual-worlds) and public/Virtual-Reality (HITLab
archives)
stein.u.washingon.edu - alternative to ftp.u.washingon.edu
sunee.uwaterloo.ca (129.97.50.50) (home of REND386 (freeware
VR library/package)
ftp.apple.com (130.43.2.3) (sites list, Macintosh VR, CAD
projects info)
taurus.cs.nps.navy.mil: (Info on DIS and NPSNET, including C
library)
avalon.chinalake.navy.mil (129.131.31.11) (lots of geometry
files)
wuarchive.wustl.edu (128.252.135.4) mirror stein VR, usenet
archive
sunsite.unc.edu (152.2.22.81) /pub/academic/computer-
science/virtual-reality (virtual reality demos, iris info,
glasses, mirrors some of stein.u.washington.edu, uforce
info )
world.std.com bcs/vr (Boston Computer Society's VR area)
ftp.ncsa.uiuc.edu (USA, supercomputer center really high
end VR) in the ./VR area
src.doc.ic.ac.uk (146.169.2.1) (usenet archive /usenet...)
mom.spie.org International Society for Optical Engineering
conf4.darpa.mil (192.160.51.7) info on ALSP a high level
battle simulation protocol in alsp/doc
II.2.2. Overseas FTP Sites
ftp.ipa.fhg.de (Germany)
wench.eco.jcu.edu.au /pub/sega - LC glasses info
tauon.ph.uimelb.edu.au pub/papers/galilean (real time
rendering hardware)
ftp.iunet.it ftp/vender/Atma Real Light radiosity
renderer demo & info
eta.lut.ac.uk (158.125.96.29) UK-VR-SIG ftp archive. check
out public/pc/swoopvr.zip
II.3. On-line Services & BBS
There are many computer bulletin boards and on-line
services that support VR discussion and development. I am
personally involved on several. My email address is given at
the beginning of this paper.
I am the sysop of the CompuServe CyberForum (Go CyberF).
This is one of the most active online discussions and the
libraries contain a large number of VR programs, demos,
concept papers, and an (incomplete) echo of the sci.virtual-
worlds news group. For information on CompuServe, call
(800)848-8990 or (614) 457-8650
The WELL (Whole Earth 'Lectronic Link) has a VR discussion
area (GO VR). For information on joining The WELL,
call(415) 332-4335 or modem (415)332-6106. You can also
telnet into the well as 'well.sf.ca.us' and sign on as
newuser.
The Byte Information Exchange (BIX) has a conference on
VR: join virtual.world. To join BIX, call 1-800-695-4882
(2400 Baud, No Parity, 8 data, 1 stop bit). BIX is also
available via telnet as 'x25.bix.com', and enter "BIX" at
the first user name prompt.
America On-line reportedly also has a VR section. "VIRTUS"
- virtual reality conference hosted by Virtus Corp. To find
contact AOL, call 1-800-827-6364. They might ask for an
extension #, try 5894
GENIE has a VR discussion and partial echos of sci.virtual-
worlds on the Space and Science Roundtable and also the
Radio and Electronics Round Table. Contact J Randall Severy
- (GEnie: RSEVERY, CompuServe: 76166,3477, Internet:
ge!severy@uunet.uu.net) (Info on joining GENIE???)
The Diaspar VR Network is a BBS dedicated to VR. Diaspar
includes a number of 'VNET' or virtual BBS subsystems that
are run by other individuals. Sense8 has one VNET on Diaspar
that is used for their customer support. There are also some
interactive multiperson 3D programs available on Diaspar,
most notably the chess game "Mate" from VRontier Worlds.
Diaspar can be reached at (714) 831-1776 (voice), 9600 Baud:
714-376-1234, 1200 Baud: 714-376-1200. Diaspar is available
from Internet sites via Telnet as diaspar.com
(192.215.11.1) It is also available from the PC Pursuit long
distance network - 800.736.1130. On first login use the name
"Diaspar" (be sure to use capital D and lowercase iaspar.)
This gets you to the BBS login area and you can get set up
with your username and password.
The AMULET BBS (Santa Monica, CA). Data access: (310)453-
7705.
SENSE/NET (801) 364-6227 (Salt Lake City, Utah) (I have
not been able to successfully connect with this BBS)
Zarno BBS at (706) 860-2927 (Atlanta GA), carries RIME,
an international mail system that is used on many BBS's and
which has recently started a VR conference. (also threads in
C and CAD rime networks)
Colton, CA BBS with the RIME echo...The number is (909)
783-7802
Toronto Virtual Reality SIG BBS(416) 631-6625, 16.8K baud.
I
Virtual Space Driver [MD] (301) 424-9133
VRontier Worlds BBS [WI] 608-873-8523 (6pm-7am CST
weekdays, 24hrs on weekends) Includes the electronic home of
PCVR magazine. Note that this is a business voice line
during the day.
Houston Game Designer BBS [TX]713-251-0734
Hacker-Art (Italy) 39-55-485997
II.4. Local VR Interest Groups
This section provides a listing of local and (some) national
VR interest groups. Many of these have regular meetings with
invited speakers and presentations. They are one of the best
ways to get to know other people involved in VR in your
area.
II.4.1. Groups in USA
Los Angeles VRSIG: contact Virtual Ventures/Dave
Blackburn, 1300 The Strand, Suite A, Manhattan Beach, CA
90266 Voice:(310) 545-0369 email: breeder@well.sf.ca.us
(I am a member of this group, which meets at the Electronic
Cafe International on 18th Street, Santa Monica, CA)
Chicago VRSIG: c/o Nina Adams, 3952 Western Ave, Western
Springs, Chicago, IL 60558, Voice: (708)246-0766 email:
71052.1373@compuserve.com
San Francisco VR Group, Contact Linda Jacobson, Verge
(Virtual Reality Group), 16050 Kings Creek Rd., Boulder
Creek, CA 95006; Voice: 415-826-4716.
email:lindaj@well.sf.ca.us
Houston TX: CyberSociety, 3336 Richmond Ave. #226,
Houston, TX 77098-3022, Voice: 713/520-5020, FAX: 713/520-
7395, NETt: specdyn@well.sf.ca.us
Stoughton WI: Andrew's VEE-AR Club, c/o Andrew or Tom
Hayward, 624 Jackson Street, Stoughton, WI 53589
Boston Computer Society VR Group, c/o Paul Matthews -
Director, Building 1400, One Kendal Square, Cambridge, MA
02139, Voice: 508 921 6846 24hr, Voice: 617 252 0600,
email:pgm@world.std.com
Louisville, Kentucky: VRSIG, c/o Andrew Prell, PO Box
43003, Louisville, KY 40253, Voice:502 495-7186, email:
andrewp@well.sf.ca.us
Norman Oklahoma:VR Awarness Consotium: 405-447-3276,
email: gsullivan@aardvark.ucs.uokno.edu or gas@well.sf.ca.us
Redondo Beach Virtual Reality Group, Contact Mike Heim
2104 Bataan Road #2 Redondo Beach CA 310.542.1199
The Virtual Worlds Society, 4739 University Way, Suite
1628, Seattle, WA 98105. Contact: Joel Orr , email:
JOEL_ORR@mcimail.com./tel: 1-800-vws-7711
Distributed Simulations Applications Research Consortium,
1320 18th Street, San Francisco, CA 94107. Tel: 415-861-
1317/Fax: 415-431-9368. Tom Hargadon - Managing Director,
Carl Eugene Loeffler - President.
VR Alliance for Students and Professionals (VRASP), PO Box
4139, Highland Park, New Jersey 08904-4139. Email:
kaugust@caip.rutgers.edu or 71033.702@compuserve.com.
II.4.2. Groups in Other Coutntries
Belgium: Genootschap voor Virtuele Realiteit (Society for
Virtual Reality), Philippe Van Nedervelde,
Lichtaartsesteenweg 55, B-2275 Poederlee - Lille, Belgium
Canada: Univ. of Waterloo VR Group, c/o Rick Kazman (or
c/o Bernie Roehl), Dept of Computer Science, Univ. of
Waterloo, Waterloo, Ontario, N2L 3G1, Voice: (519) 888-4870
(R.Kazman), (519) 885-1211 x2607 (B.Roehl), email:
broehl@sunee.uwaterloo.ca
Toronto Canada: Toronto VRSIG, c/o Caius Tenche, (416) 242-
3119, email: caius.tenche@canrem.com
Vancouver BC: Canadian Virtual Worlds Society . Contact
Derek Dowden 604.739.8080 or Andrew Moreno
<amoreno@unixg.ubc.ca>
England: UK-VRSIG, R.Hollands@Sheffield.ac.uk Robin
Hollands A&CSE Dept.Sheffield University Mappin Street
Sheffield S1 3JD -- UK -- voice +44 (0)742 730066 fax
+44 (0)742 731729 or S.M.Clark@lut.ac.uk
France: Les Virtualistes, 90 Avenue de Paris, 92320
Chatillon, France, Voice: 1/47 35 65 48, FAX: 1/47 35 85 88
Germany: Fraunhofer Institute for Computer Graphics &
German Working Group on Virtual Reality (Related to
Technical University in Darmstadt, and to the Computer
Graphics Centre (ZGDV) in Darmstadt), Mr. Wolfgang Felger,
Wilhelminenstr. 7, W-6100 Darmstadt, F.R.G., Voice ++49-
6151-155122, Fax.: ++49-6151-155199, email:
felger@igd.fhg.de, email list: vr@igd.fhg.de
South Africa VRSIG c/o Roger Layton, Chairman, PO Box
72267, PARKVIEW, 2122, South Africa, TEL: +27-11-788-5938,
FAX: +27-11-442-5529, email: 74660.2154@compuserve.com
II.5. Journals & Newsletters
CyberEdge Journal. Excellent professional newsletter, Ben
Delaney, Editor, #1 Gate Six Road, Suite G, Sausalito, CA
94965, Voice: 415 331-EDGE (3343), FAX: 415 331-3643, email:
76217.3074@compuserve.com, email:bdel@well.sf.ca.us., ISSN#
1061-3099. CyberEdge Journal also produces a series of
special industry reports on specific sub areas and
application domains of VR.
PCVR Magazine. For the home-brew enthusiast. includes Code
Disks, Editor: Joseph Gradecki, PO Box 475, Stoughton, WI
53589, VOICE/FAX: (608) 877-0909, email:
70711.257@compuserve.com or PCVR@fullfeed.com.
Presence: Teleoperators & Virtual Environments.
Professional Tech Papers and Journal., MIT Press Journals,
55 Hayward St, Cambridge MA 02142, (800) 356-0343, (617)
628-8569, (617) 253-2889 (9-5 EST), Fax: (617) 258-6779,
email: hiscox@mitvma.mit.edu, ISSN 1054-7460
Real Time Graphics, 2483 Old Middlefield Way #140, Mt.
View, CA 94043-2330, Tel: 415-903-4924, Fax: 415-967-5252, e-
mail: roy_w_latham@cup.portal.com newsletter, 10/yr., mid-
to-high end technology, in-depth product coverage, tutorials
VR Monitor: Frank Dunn, Editor, Matrix Information
Services, 18560 Bungalow Drive, Lathrup Village, MI 48076,
Voice: (313) 559-1526, email: matrix@well.sf.ca.us, email:
70117.2546@compuserve.com
PixElation, VRASP c/o Karin August P. O. Box 4139 Highland
Park, NJ 08904-4139 USA, kaugust@caip.rutgers.edu
Virtural Reality News, Brian Lareau, Editor, Magellan
Marketing Inc. 32969 Hamilton Courts Suite 215, Farmington
Hills Mich. 48334 313-488-0330, email: larryv@msen,com
VR-NEWS (The Virtual Reality Newsletter), Cydata Publishing
Limited, P.O. Box 2515, London N4 4JW, England, Tel. & Fax:
+44 (0)81-292-1498, Managing Editor: Mike Beavan (email:
100024.1425@compuserve.com)
Virtual Reality Report, Meckler Publishing, Sandra Helsel,
Editor in Chief, Meckler Corporation, 11 Ferry Lane,
Westport CT 06880, Voice: (203)226-6967 (Meckler also
produces a number of conferences and various other VR and
computer publications)
VR Systems, SIG-Advanced Applications, Inc.,1562 First
Avenue, Suite 286, New York, NY 10028, Tel: 212-717-1318,
Fax: 212-861-0588/89.
INTERTECH (German language), published in Vienna, Austria
by IDG and ICON, fax: +43 1 802 21 76 or e-mail:
100276,1277
IRIS Universe: The Magazine of Visual Computing.
Published quarterly by Silicon Graphics, Inc., 2011 North
Shoreline Boulevard, Mail Stop 415, Mountain View, CA 94039-
7311. Subscriptions are available to qualified users. ISSN
1061-6608
Pixel Vision. Subscription information: Pixel Vision, Box
1138, Madison Square Station, New York, NY 10159. This
magazine was new in 1992. It is published in French and
English.
Realta' Virtuale. Via Rombon 11, 20134 Milano, Italy. 6
issues/year. Voice +39 02-26412898 Fax: +39 02-26413279.
Diego Montefusco, editor. Email:
montefus@ghost.dsi.unimi.it.
II.6. Professional Societies
There are several major professional computer associations
that publish respected journals related to Virtual Reality.
II.6.1. ACM
The Association for Computing Machinery (ACM) has a number
of special interest groups whose journals and newsletters
often have VR related articles. SIGGRAPH is the SIG for
Computer Graphics. Their national convention is The Event
for Computer Graphics each year. The '93 conference will be
in Anahiem CA, August 1-6. SIGCHI is the SIG for Computers
and Human Interaction. This group has published a lot of
research on new methods of interacting with computers,
including a number of new VR applications. Contact info:
Association for Computing Machinery, 1515 Broadway, 17th
Floor, New York, NY 10036, (212) 869-7440, email:
info.Membership@siggraph.org (for membership info), email:
info.Siggraph93@siggraph.org (for conference info)
II.6.2. IEEE
The Institute of Electrical and Electronics Engineers
(IEEE) has a computer graphics SIG that publishes an
execellent journal called "IEEE Computer Graphics and
Applications". Subscriptions are $26/year for society
members, $47 for ACM or other society members, (six issues).
(The Jan 1994 issue will have a concentration on Virtual
Reality!) The IEEE also publishes a large number of books
and conference proceedings. Contact info:
IEEE Computer Society, PO Box 3014, Los Alamitos, CA
90720-9804, (714) 821-8380, (800) 272-6657 (Publication
orders), email: membership@compmail.com
IEEE Engineering in Medicine and Biology Magazine : the
quarterly magazine of the Engineering in Medicine & Biology
Society. ISSN 0739-5175.
II.6.3. Other professional Societies and Journals
Computer Graphics Forum: Journal of the European
Association for Computer Graphics. Amsterdam : North
Holland. ISSN 0167-7055.
Human Factors. Journal of the Human Factors Society.
ISSN 0018-7208.
Optical Engineering. Published monthly by the Society of
Photo-optical nstrumentation Engineers (Bellingham, WA:
SPIE). ISSN 0091-3286.
Simulation. Published monthly by Simulation Councils,
Inc. Editorial and Circulation: Society for Computer
Simulation (SCS) P.O. Box 17900, San Diego, California
92177. Tel:619-277-3888. ISSN 0037-5497.
II.7. Books
This section provides a bibliography of some books on VR,
Computer Graphics and some related subjects. It also provids
a listing of science fiction books that deal in part with VR
and Cyberspace.
II.7.1. VR Reference Books
Most of these are aimed at the less technical reader, but
some will include lots of good technical details. Many will
include executable programs on disk, some with source code.
Some of the intro books contain bibliographies and listings
of companies with VR products, including pictures.
"Adventures in Virtual Reality", Tom Hayward, Que Books,
1993, ISBN 1-56529-208-1 (includes PC disk with VREAM world
and other demos)
"Artificial Reality II", Myron Krueger, Addison-Wesley,
1991, ISBN: 0-201-52260-8
"Computers as Theatre", Brenda Laurel, Addison-Wesley, 1991
"CYBERARTS: Exploring Art & Technology" Edited by Linda
Jacobson, Miller Freeman, Inc ISBN 0-87930-253-4
"Cyberspace - First Steps", MIT Press, 1992 (collection of
essays on VR), ISBN 0-262-52177-6
"Flights of Fantasy, Programming 3-D Video Games in C++",
Chris Lampton, Waite Group, 1993, ISBN 1-878739-18-2 (intro
to flight simulators, includes excellent intro to fast
polygon rendering techniques, etc, incl PC Disk w/source
code)
"Garage Virtual Reality", Linda Jacobson, SAMS, (to be
published Oct 1993) ISBN 0-672-30389-2 (A how-to book for
the home brew enthusiast) (incl PC Disk)
"Silicon Mirage: The Art and Science of Virtual Reality",
Steve Aukstakalnis & David Blatner, Peach Pit Press
1992,ISBN 0-938151-82-7
"The Metaphysics of Virtual Reality " , Heim, Michael,
Oxford University Press, 1993. ISBN 0-19-508178-1
"Virtual Reality", Howard Rheingold, Summit Books, 1991,
ISBN 0-671-69363-8 (one of the first books on VR published.
a bit dated now.)
"Virtual Reality and the Exploration of Cyberspace", Francis
Hamit, Sams Publishing, ISBN 0-672-30361-2. (incl PC disk
and a very extensive bibliography)
"Virtual Reality : Applications and Explorations" ed. Alan
Wexelblat, Academic Publishers, c1993. ISBN 0-12-745045-9
"Virtual Reality Creations", Dave Stampe Bernie Roehl & John
Eagan, Waite Group Press, 1993 ISBN 1-878739-39-5 (*the*
book on Rend386)
"Virtual Reality - En bog om den kunstige virkelighe"
(Danish Language) Christian Schade and Morten Steiniche.
Borgens Forlag A/S, Denmark, march 1993. ISBN 87-418-6751-3
"Virtual Reality Playhouse", Nicholas Lavroff, Waite Group
Press, 1992 ISBN 1-878739-19-0 (includes PC disk, apps are
at most WoW interactive animations)
"Virtual Reality Systems", ed R.A.Earnshaw, M.A.Gigante,
H.Jones.ISBN: 0 12 227748 Published April 1993.
"Virtual Reality: Theory, Practice, and Promise", Sandra
Heisle & Judith Roth, Meckler Corp, 1990 LC Call number
BD331 .V57 1991
"Virtual Reality: Through the New Looking Glass", Ken
Pimentel & Kevin Teixeira, Intel/Windcrest/McGraw-Hill, 1993
ISBN 0-8306-4064-9
"Virtual Worlds and Multimedia" ed. N. Magnenat Thanlmann
& D. Thanlmann Wiley, c1993.
"Virtual Worlds : A Journey in Hype and Hyperreality ",
Woolley, Benjamin. Blackwell, 1992. LC CALL NUMBER: BD331
.W866 1992
II.7.2. VR Directories and Conference Proceedings
"Virtual Reality Sourcebook", Panos, Gregory (ed.).
(1992). SophisTech Research, 6936 Seaborn St., Lakewood, CA
90713-2832. Telephone: 310-421-7295. (probably the most
complete and extensive commercial directory available)
VR Bibliographic Index. Updated quarterly since 1989.
Matrix Information Services, 18560 Bungalow Drive, Lathrup
Village, MI Email: matrix@well.sf.ca.us.
Virtual Reality Handbook. Available for $248 from Pasha
Publications, Inc. 1616 N. Ft. Myer Dr., Suite 1000. Tel:
703-528-1244/Fax: 703-528-1253.
Virtual World Builder: Virtual Reality and Synthetic Digital
Environment Products Catalogue and Resource Guide. Spectrum
Dynamics, 2 Greenway Plaza, Suite 640, Houston, TX 77046-
0203. Tel:713-520-50020/Fax:713-871-1196. Internet:
specdyn@well.sf.ca.us/Compuserve: 70761,1647.
"Virtual worlds : real challenges : papers from SRI's 1991
Conference on Virtual Reality" Meckler, c1992. LC CALL
NUMBER: QA76.9.H85 C445 1991
Emerging markets for virtual reality. Boston, MA (214
Harvard Ave., Boston 02134) : IGI Consulting, LC CALL
NUMBER: HD9696.C62 E583 1992
Conference on Virtual Reality, Artificial Reality, and
Cyberspace (2nd : 1991 : San Francisco, Calif.) Beyond the
vision : the technology, research, and business of virtual
reality : proceedings of Virtual Reality '91, the Second
Annual Conference on Virtual Reality, Artificial Reality,
and Cyberspace, San Francisco, September 23-25, 1991 ;
Westport, CT : Meckler, c1992. 237 p. : ill. ; 28 cm.
LC CALL NUMBER: QA76.9.H85 C67 1991
"Virtual reality : an International Directory of Research
Projects" Meckler, 1993.
"Virtual reality : a selected bibliography", McLellan,
Hilary. Educational Technology Publications, 1992. LC CALL
NUMBER: Z5643.I57 M4 1992
II.7.3. Government Papers
Durlach, N. I., Aviles, W. A., Pew, R. W., et. al. (eds.).
(1992, March). Virtual Environment Technology for Training
(VETT). (BBN Report No. 7661.). Cambridge, MA: Bolt
Beranek and Newman, Inc.
Molendi, Gloria and Patriarca, Matteo. (1992). Virtual
Reality: Medical Researches. Technical Report Number 1/92.
Milano, Italy: Universita' degli Studi di Milano. Available
via anonymous ftp from ghost.dsi.unimi.it, in the directory
: pub2/papers/patriarca/medVR.txt.
United States Congress. (1992). Virtual Reality : Hearing
Before the
Subcommittee on Science, Technology, and Space of the
Committee on
Commerce, Science, and Transportation, and United States
Senate.
New Developments in Computer Technology. Washington, DC:
U.S.
GPO. (United States. Congress. Senate Hearing; 102-553).
LC CALL NUMBER: KF26 .C697 1991e
Defense Science and Technology Strategy, Director of
Defence Research and Engieneering July 1992 FOFT 02.nov.
003558
National Academy of Sciences, National Research Council,
Committee on Virtual Reality Research & Development,
Computer Generation Technology Group. (1993). Report on
the State-of-the-Art in Computer Technology for the
Generation of Virtual Environment. Report is yet
unpublished.
II.7.4. Computer Graphics Books
"Computer Graphics (Principles and Applications)", Foley,
Van Dam, Feiner & Hughes, 2nd Edition, Addison Wesley, 1990
ISBN 0-201-12110-7 (This is The Bible of Computer Graphics.
The classic text book.)
"Visualization Graphics in C", Lee Adams, Windcrest/McGraw-
Hill, 1991, ISBN 0-8306-3487-8
"Fundamentals of Three Dimensional Computer Graphics", Alan
Watt, Addison Wesley, 1989, ISBN 0-201-15442-0
"New Trends in Animation and Visualization", Thalmann &
Thalmann, John Wiley & Sons, 1991, ISBN 0-471-93020-2
"Physically-Based Modeling for Computer Graphics", Ronen
Barzel, Academic Press, 1992, ISBN 0-12-079880-8
"3-D Computer Animation", John Vince, Addison-Wesley ISBN #0-
201-62756-6.
"3D Computer Graphics: A User's Guide for Artists and
Designers", Andrew Glassner.
"Making Them Move; Mechanics, Control and Animation of
Articulated Figures", (Book and Video Package) Edited by
Norman I. Badler (U Pennsylvania), Brian A. Barsky (U
CalBerkeley) and David Zeltzer (Media Lab, MIT),Morgan
Kaufmann Publishers, ISBN Book/Video Package: 1-55860-155-4
Book only: 1-55860-106-6 Tape only: 1-55860-154-6
"Virtual humans and simulated agents", Badler, Norman I.
Oxford University Press, 1993.
"Simulating Humans: Computer Graphic, Animation and
Control.", Badler, Norman I. May 1993, Oxford University
Press
Virtual Worlds and Multimedia, Edited by Nadia Magnenat
Thalmann and Daniel Thalmann, pub John Wiley & Sons, 1993,
$59.95
"True Three-Dimensional Graphics", Michael Hyman, Brady
Press, 1985
"Programmin in 3 Dimensions: 3-D Graphics, Ray tracing and
Animation": Christopher Watkins & Larry Sharp, M&T Books
1992
II.7.5. Related Books
The following books, while not directly about VR
technology, can provide some background ideas and concepts
for VR.
"Pictorial Communication in Virtual and Real Environments",
Stephen R Ellis (ed), Taylor & Francis, 1991, ISBN: 0-74840-
008-7
Visual data interpretation : 10-11 February 1992, San Jose,
California / Bellingham, Wash. : SPIE, c1992. vii, 159 p.
: ill. ; LC CALL NUMBER: QA76.575 .V57 1992
"Eccentric Spaces", by Robert Harbison. Boston: David R.
Godine, 1988. $10.95, Subtitled, "A voyage through real and
imagined worlds."
"The Design and Analysis of Spatial Data Structures", Haman
Samet, Addison Wesley. 1990, ISBN: 0-201-50255-0
"Applications of Spatial data Structures", Hanan Samet,
1990, ISBN: 0-201-50300-X
"The Visual Display of Quantitative Information", Edward
Tufte, Graphic Press, 1983
"Envisioning Information", Edward Tufte, Graphic Press 1990
"Virtual Worlds, A Journey in Hype and Hyperreality", by
Benjamin Woolley, published by Blackwell, Oxford, 1992.
"Eye and Brain. The psychology of seeing (4th edn)",
Gregory, R. L., Weidenfeld and Nicholson, 1990, ISBN: 297-
82042-7 (pbk)
"Mirror Worlds" by David Gelernter Oxford Univ. Press 1992
ISBN 0-19-507906-2
"The craft of text editing", Craig Finseth (Interface
Design)
"The Society of text", Edward Barrett. (Interface Design)
II.7.6. Fiction Books Related to VR
The following list of Cyberpunk and other VR related books
was collected from posts to Sci.virtual-worlds and
CompuServe's CyberForum. I cannot vouch that they are all
truely VR related.
Piers Anthony's "Killobyte."
Stephen Barnes- Street-Lethal, Gorgan's Child
Greg Bear - Blood Music
David Brin - Earth
John Brunner - Shockwave Rider, The Sheep Look Up, Jagged
Orbit
William S. Burroughs Naked Lunch, Nova Express, The Ticket
that Expoloded
Pat Cadigan - Mindplayers, Synners, etc.
Orson Scott Card's Ender's Game
Samuel Delany Nova
Philip K. Dick - Do Androids Dream of Electric Sheep, Flow
My Tears, the Policeman Said The Game-Players of Titan Ubik
VALIS The Divine Invasion The Transmigration of Timothy
Archer
William Gibson - Neuromancer, Count Zero, Mona Lisa
Overdrive, Burning Chrome, Virtual Light
Stanislav Lem.
Mark Leyner - My Cousin, My Gastroenterologist
Larua Mixon - Glass Houses
Tom Maddox: Halo
Larry Niven's Known Space series of books - really enjoyable
stuff.
Marge Piercy, "He, She and It"
Thomas Pynchon: Gravity's Rainbow, V, The Crying of Lot 49,
Vineland
Kim Stanley Robinson The Gold Coast
Frank Robinson - The Dark Beyond the Stars
Rudy Rucker - Wetware, Software
Lucius Shepard - Life During Wartime
John Shirley -The Eclipse triology, Freezone
Bruce Sterling - Islands in the Net, The Artificial Kid,
Globalhead, Mirrorshades: The Cyberpunk Anthology
Neal Stephenson - Snow Crash
Amy Thompson - Virtual Girl
James Tiptree, Jr. - The Girl who was Plugged In
Vernor Vinge - True Names and Other Dangers, A Fire Upon
the Deep
Walter John Williams - Hard-Wired, Voice of the Whirlwind
David Wingrove - Chung-Kuo (series)
Zelaney & Saberhaven - Coils
"Simulations - 15 tales of virtual reality", edited by Karie
Jacobson, Citadel Twilight Press. ISBN 0-8065-1406-X
includes: The Crying of Lot 49
1. "The Veldt" (1950) by Ray Bradbury
2. "Overdrawn at the Memory Bank" (1976) by John Varley
3. "Walking the Moons" (1990) by Jonathan Letham
4. "Virtual Reality" (1993) by Michael Kandel
5. "Dogfight" (1985) by Michael Swanwick and Willian Gibson
6. "The Shining Dream Road Out" (1993) by M. Shayne Bell
7. "The Total Perspective Vortex" (1980) by Douglas Adams
8. "Plug-in Yosemite" (1985) by Marc Laidlaw
9. "This Life and Later Ones" (1987) by George Zebrowski
10. "Steelcollar Worker" (1992) by Vonda McIntyre
11. "I Hope I shall Arrive Soon" (1980) by Philip K. Dick
12. "From Here to Eternitape" (1992) by Daniel Pearlman
13. "Pretty Boy Crossover" (1986) by Pat Cadigan
14. "A Guide to Virtual Death" (1992) by J.G. Ballard
15. "The Happy Man" (1963) by Gerald Page
16. Bibliography of VR in fiction
II.8. VR Research Labs & Academia
This list is woefully incomplete. There is a much more
extensive one available on ftp.u.washington.edu in the
virtual-worlds FAQ area. It was neglected for a long time
and became very dated. Toni Emerson and others at HITL are
endeavoring to correct this deficiency.
CAD Institute, 4100 E. Broadway, Suite 180, Phoenix, AZ
85040, (800) 658-5744, Dean: John Morrison
76307.1552@compuserve.com
HITL (Human Interface Technology Laboratory), University of
Washington, FJ-15, Seattle, WA 98195, (206) 543-5075,
Director: Dr. Thomas A. Furness III (publishes HITLab
Review, contact Alden Jones at above address or
alden@hitl.washington.edu)
Visual Systems Laboratory, Institute for Simulation and
Training Laboratory, University of Central Florida, 12424
Research Parkway, Suite 300, Orlando, FL 32826, Director:
Dr. Michael Moshell
UNC Laboratory, Univerisity of North Carolina, Chapel Hill,
Computer Science Department, Chapel Hill, NC 27599-3175,
Director: Fredrick Brooks
US Navy - Cyberview, David Sarnoff Research Center, Mark
Long, CN5300, Princeton NJ 08543-5300
Naval Postgraduate School, Graphics and Video Lab,
Department of Computer Science, Naval Postgraduate School,
Monterey, CA 93943-5100, Contacts: Dave Pratt,
pratt@cs.nps.navy.mil, Prof. Mike Zyda,
zyda@trouble.cs.navy.mil
Computer Graphics Laboratory, University of Alberta,
Edmonton, Canada, Mark Green, Associate Professor
(mark@cs.ualberta.ca) (403) 492-4584
National Center for Supercomputing Applications (NCSA) at
the University of Illinois at Urbana-Champaign. Contact:
Gregory B. Newby, Assistant Professor, Graduate School of
Library and Information Science. Room 417 DKH, 1407 W.
Gregory Drive, Urbana, IL, 61801.
gbnewby@alexia.lis.uiuc.edu
Networked Virtual Art Museum, Studio for Creative Inquiery,
Carnigie Mellon University, Pittsburgh PA 15213, Carl
Loeffler, (412) 268 3452, cel+@andrew.cmu.edu
II.9. Companies Involved with Virtual Reality
Companies involved with or producing VR products. The
following is a composite of several lists i have found on
Internet and CompuServe. It is by no way an exhaustive list.
There are commercial companies that sell such lists (and
more info). Some of these are included in the list below.
1-900-VIRTUAL (yes a 1-900 number for VR) cost $1.25/minute
3D Imagetek , 4525-B San Fernando Rd., Glendale, CA 91204,
Phone: (818) 507-1269 Fax: (818) 507-8537, Helmet Mounted
Displays (HMDs)
3DTV Corporation, P.O. Box Q, San Francisco, CA 94913-4316,
Voice (415) 479-3516, Fax 415 479 3316 (LCD shutter glasses,
other homebrew products)
Advanced Gravis Computer Technology Ltd. 7400 MacPherson
Ave. #111, Burnaby, B.C. V5J 5B6 Canada. 604-434-7274.
MouseStick (optical joystick for AT bus card) , 3D Sound
Card.
Ascension Technology Corporation. P.O. Box 527, Burlington,
VT 05402. P.O.Box 527, Burlington, VE 05402, (802) 655-7879.
"Bird" family of magnetic position sensors.
Autodesk, Inc. 2320 Marinship Way, Sausalito, CA 94965.
(800) 525-2763 Cyberspace Developers Kit
Avatar Partners,13090 Central Avenue, Suite 3, Boulder
Creek, CA 95006 USA Tel: (408) 338-6464 Fax: (408) 338-6462
Email: avatarp@well.sf.ca.us (Amber C++ programming package
and VR Trader application)
CAE Electronics Ltd. C.P. 1800 Saint-Laurent, Quebec, H4L
4X4 Canada. 514-341-6780. Head-mount displays.
CiS. 285 Littleton Rd., Ste. 3, Westford, MA 01886. 603-894-
5999, 508 692-2600 (fax). Geometry Ball Jr. (6D joystick).
Clarity, Nelson Lane, Garrison, NY 10524, Phone: (914) 424-
4071 Fax: (914) 424-3467,Auditory display products
Covox, Inc. 675 Conger Street, Eugene, Oregon 97402,
Phone: (503) 342-1271 Fax: (503) 342-1283, "Voicemaster Key
System" - PC voice interface $150 and other sound related
products
Crystal River Engineering. 12350 Wards Ferry Rd., Groveland,
CA 95321. 209-962-6382. Convolvotron (4 channel 3D audio
card for PC).
Dimension International, Zephyr One Calleva Park,
Aldermaston, Berkshire RG7 4QZ , Phone: 07 34 810 077 Fax:
816 940, "Superscape" PC-based VR, uses 34020 graphics card
to speed things up.
Dimension Technologies, Inc., 176 Anderson Avenue,
Rochester, NY 14607, vox: 716-442-7450, fax: 716-442-7589,
DTI 100M, projection video stereoviewing system.
Division Ltd. Quarry Rd., Chipping Sodbury, Bristol B517 6AX
England. 44-0454-324527. 80860-based VR. "Vision VR" hi-end
system with multiple 80860s. PC-based, lo-end system with
one 80860 and one Sharp HSSP per eye.
Division Inc, (US branch of Division Ltd) Dave Bonini,
Voice: (415) 364 6067 Fax: (415) 364 4663 Email:
daveb@division.com
Domark Software, 1900 South Norfolk St #202 San Mateo CA
94402 voice 415.513.8929, VR Studio package
Exos 8. Blanchard Road, Burlington, MA 01803. 617229-2075.
(617) 229-2075, Hand-worn interface devices.
Fake Space Labs. 935 Hamilton Ave., Menlo Park, CA 94025.
415-688-1940. BOOM (stereo viewer on articulated arm).
Focal Point Audio 1402 Pine Ave. Suite 127, Niagara Falls,
NY 14301. 415-963-9188. 3D audio boards for Mac and PC.
Future Vision Technologies, Inc., 701 Devonshire Drive,
Champaign, IL 61820, (217) 355-3030, Fax: (217) 355-3031,
Sapphire Multimedia card
Global Devices, 6630 Arabian Circle, Granite Bay CA 95661,
(915)791-2558, fax:915-791-4358. 6D controller & navigator -
joystick/ball devices.
Gyration, Inc. 12930 Saratoga Ave., Bldg. C, Saratoga, CA
95070. 408-255-3016. GyroPoint (optically sensed gyroscopic
sensors).
Haitex Resources, Inc., Charleston, South Carolina, 803-881-
7518, Haitex X-Specs 3D for the Amiga line. (glasses should
work with PC circuit)
Horizon Entertainment, P.O. Box 14020, St. Louis MO 63178-
4020, (800) ILLUSION (455-8746), Virtuality Entertainment
Games
Iwerks, Burbank CA, 818-841-7766, Reactor and other LBE
systems
Leep Systems, 241 Crescent St., Waltham, MA 02154,, Phone:
(617) 647-1395 Fax: (617) 899-9602"Cyberface" HMDs, optics
for HMDs.
Lego Education Systems 800-527-8339, Lego Dacta computerized
Lego sets
Lepton Graphics Systems, 2118 Central SE, Suite
45.Albuquerque, NM 87106, voice: (505) 843-6719 email:
scott@lepton.yenta.abq.nm.us "Lepton Virtual Reality
Toolkit", C and assembler library for creating interactive
3d graphic applications.
Lightscape Graphics Software, 2 Berkeley St, Suite 600,
Toronto ON M5A 2W3 Canada 416.862.2528 fax 416.862.5508
email rrecker@attmail.com
Logitech Inc. 6505 Kaiser Drive, Fremont, CA 94555. 415-795-
8500. (Cyberman, 6D mouse and head tracker).
Magic 3-D, PO Box 1377, Alexander City, Alabama, 35010, 205-
329-3767, 3D and garage VR stuff. (Ray Bolt), VR HowTo
booklet
Media Magic, Phone: (415) 662-2426, P.O. Box 507 Nicasio, CA
94946, Superb catalog of books and videos on VR, Chaos,
Fractals, etc.
MegageM, 1093 Adria, Santa Maria CA 93454, 805-349-1104,
email: Daniel Wolf 70250.626@compuserve.com. garage VR and
stereoscopic products for Amiga
Mira Imaging, Inc. , 2257 South 1100 East, Suite 1A, Salt
Lake City, Utah 84106, (800) 950-6472, Phone: (801) 466-
4641 Fax: (801) 466-4699"Hyperspace" - 3D digitizing and
modeling software
Myron Krueger, Artificial Reality, 55 Edith, Vernon, CA
06066, Phone: (203) 871-1375,Custom-designed virtual world
environments
Pasha Publication, P.O. Box 9188, Arlington, VA 22219,
Voice 800-424-2908, VIRTUAL REALITY HANDBOOK: Products,
Services and Resources
The University of Pensylvania,Center for Technology
Transfer, 3700 Market St., Suite 300, Philadelphia, PA
19104, Phone: (215) 898-9585 Fax: (215) 898-9519, "Jack" -
full body sensor positioning system
Polhelmus, Inc. 1 Hercules Drive, P.O. Box560, Colchester,
VT 05446. 802-655-3159. Polhemus (3Space 6D magnetic
tracker).
Pop-Optix Labs. 241 Crescent Street, Waltham, MA 02154. 617-
647-1395. Specialized optics for headmount displays.
The Quest Company 3117 W. Holland Ave. Fresno, CA (209) 222-
5301NorthCad Pro 3d V 9.8 - CAD package that can output
files for REND386.
Reel-3D Enterprises, Inc, PO BOX 2368, Culver City CA 90231,
(310) 837-2368, Toshiba LCD Shutter glasses
Real World Graphics, Phone: 0992 554 442 Fax: 554 827, 5
Bluecoats Ave., Hertford SG14 1PB. 80860-based VR systems.
"SuperReality" with multiple 80860s and texturing ASICs on
VME cards. Lo-end "Reality PC" has a four-processor PC card
with stereo framebuffer. Specialising in flight simulation.
Reflection Technology, 230 Second Ave., Waltham, MA 02154,
Phone: (617) 890-5905 Fax: (617) 890-5918, "Private Eye"
LED-based monochrome HMD.
RPI Advanced Technology Group, POB 14607 San Francisco, CA
94114, Phone: (415) 777-3226, "The Personal Simulator" and
"HMSI" (Head Mounted Sensory Interface device) VGA2x dual
channel VGA card, and other products.
Sense8 Corporation. 1001 Bridgeway, P.O. Box 477, Sausalito
CA 94965. 415-331-6318, 415-331-9148 (fax). VR software and
systems (for PC, Sun & Silicon Graphics) .
SimGraphics Engineering Corp. 1137 Huntington Drive, South
Pasadena, CA 91030. 213-255-0900. Systems configuration
house/OEM VR equipment supplier.
Simsalabim Systems, Inc. PO Box 4446; Berkeley CA 94704-
0446; (800) 3D TODAY
Internet: scope@well.sf.ca.us, Fax: 1 800 922 FAXX,
Cyberscope stereoscopic viewer.
Shooting Star Technology ,1921 Holdom Ave., Burnaby, BC, V5B
3W4, Phone: (604) 298-8574 Fax: (604) 298-8580,Mechanical
position sensor (approx $1499)
SophisTech Research, 6936 Seaborn Street, Lakewood, CA
90713-2832, (310) 421-7295, (800) 4VR SOURCE (orders
only), Virtual Reality Sourcebook
Spaceball Technologies, Inc. 2063 Landings, Sunnyvale, CA
94043. 408-745- 0330. Spaceball (6D joystick).
Spectrum Dynamics, 3336 Richmond Ave. #226, Houston, TX
77098-3022, Voice: 713/520-5020, Fax : 713/520-7395, email:
specdyn@well.sf.ca.us, VR equipment distributers, VAR, etc
StereoGraphics. 21 71-H East Francisco Blvd., San Rafael, CA
94901. 415- 459-4500. Stereoscopic displays & LCD Shutter
Systems.
StereoCAD, 655 S. Fair Oaks Ave, Suite A-117, Sunnyvale CA
94086 408.245.5201, fax 408.245.5202. RT Texture VR program.
Straylight. 150 Mount Bethel Road, Warren, NJ 07050. 908-580-
0086. VR authoring systems, CyberTron game system.
Subjective Technologies. 1106 Second Street, Suite 103,
Encinitas, CA 92024. 619-942-0928. Tools for controlling
virtual environments.
TiNi Alloy Co. 1144 65th Street, Unit A, Oakland, CA 94608.
510-658-3172. Tactile feedback systems.
Transfinite Systems Co, Inc PO Box N, MIT Branch Post
Office, Cambridge MA 02139-0903, voc 617-969-9570, Gold
Brick device - connects Nintendo controllers to Macintosh.
Transition State, 497 S El Molino Ave, Suite 304, Pasadena
CA 91101 818/568.8640
Virtual Research 1313 Socorro Ave., Sunnyvale, CA 94089. 408-
739-7114. Flight Helmet (head mounted display).
Virtual Presence, 25 Corsham St, London, N1 6DR England, 071
253 9699 fax 071 490 8968, denise@presence.demon.co.uk
TCAS Dataware. Lycra bodysuit with sensors.
Virtual Technologies. P.O. Box 5984, Stanford, CA 94309. 415-
599-2331. Instrumented gloves and clothing.
Virtual Worlds, 5201 Great America Parkway Suite 320, Santa
Clara CA 95054 - design studio.
Virtuality Group, 3 Oswin Rd., Brailsford Industrial Park,
Leicester LE3 1HR, Phone: 0533 542 127 Fax: 548 222,
"Virtuality" arcade system
Vision Research Graphics, 99 Madbury Road, Durham, NH
03824, vox: 603-868-2270, fax: 603-868-1352, Resellers of
Haitex LCD glasses w/PC driver & software
The Vivid Group. 317 Adelaide Street, W., Suite 302,
Toronto, Ontario, M5V IP9 Canada. 416-340-9290. 416-348-
98()9 (fax). Mandala (VR authoring systems).
ViviStar Consulting, 7015 E Aster Dr; Scottsdale Az 85254;
(602) 483 3123, AppleLink: ViviStar CompuServe: 73067,542
Internet: ViviStar@ACM.org 3D graphics library for
Macintosh
VREAM. 2568 N. Clark Street, #250, Chicago, IL. 60614. 312-
477-0425 VR authoring systems.
VRontier Worlds of Stoughton, Inc. 809 E. South Street,
Stoughton, WI. 53589 (608) 873-8523 FAX: (608) 877-0575
Sales: 800 VR TIER1, Tier1 HMD, MATE game, etc
World Design Inc. 5348 1/2 Ballard Ave. Seattle, WA 98107,
Phone: (206) 782-8630, Robert Jacobson - VR consultants,
Information Designers
Xtensory Inc. 140 Sunridge Drive, Scolls Valley, CA 95066.
408-439-0600. Tactile feedback systems.