Frederic I. Parke, Ph.D.
Visualization Sciences
College of Architecture
Texas A&M University
College Station, Texas, USA, 77843-3137
Phone: (+1.979.845.3465)
Fax:
(+1.979.845.4491)
E-mail: parke@viz.tamu.edu
Visualization Sciences
216A Langford, 3137 TAMU
College of Architecture
Texas A&M University
Access
to computer simulation and computer based visualization has dramatically
impacted our ability to design complex human environments. Immersive visualization, with its ability to
present high quality interactive three-dimensional representations of
environments, is the next step in this evolution. This paper explores the development of lower cost modular
immersive visualization systems as a way to extend and augment our ability to
plan, design and evaluate human environments.
Technology now available enables spatially immersive
visualization systems created using off the shelf components including high
performance, relatively inexpensive, commodity computers, inexpensive commodity
projectors an open source software.
Flexible modular configurations utilizing polyhedral display surfaces
with many identical modular components and networked visual computer clusters
is one approach to such systems.
Work is underway at the Texas A&M College of
Architecture focused on developing and evaluating several prototypes of this
new class of systems to determine their practicality and effectiveness.
Underlying concepts, issues and trade-offs related to the design and
development of these systems are presented.
Initial applications using these systems in human environment planning,
design and evaluation are discussed.
Keywords – modular visualization systems, spatially immersive visualization, visualizing human
environments, virtual environments, parallel visual computing.
This
paper explores the characteristics and potential of lower cost modular
immersive visualization systems. We see
the development and use of these systems as one way to extend and augment our
ability to plan, design and evaluate human environments.
Computer
simulation and computer based visualization are now common techniques that we
use in the planning, design and evaluation of human environments. Access to these methods has dramatically
impacted our ability to deal with these complex environments. Immersive visualization, which allows us to
explore and interact with high quality three-dimensional representations of
environments, is the next step in this evolution. While standard visualization
techniques provide ‘windows’ into virtual environments, immersive visualization
provides the sense of being ‘within’ and experiencing these environments.
Immersive
visualization has, until quite recently, been associated with very expensive
specialized systems used in applications such as scientific visualization,
flight training and petroleum exploration where the benefits justified the
expense.
Impediments
to the broad use of immersive visualization have been
1)
high
initial system cost – these systems, both hardware and software, have been
expensive
2)
high cost
of operation – specialist support staff and ongoing maintenance are required
3)
accessibility
– only a few systems are in place for a relative small number of users
4)
software
complexity – there are only a few ‘off-the-shelf’ applications, custom
application software development is required for most new applications
5)
ease of
use issues – special effort is needed
to use these systems, they are not well integrated into workflows except for a
few specialized problem domains
6)
human
factors issues – user fatigue, ‘simulator sickness,’ and the need to wear
special viewing apparatus are a few of these issues.
One
goal, aimed at mitigating high system costs and accessibility, has been to
develop very capable lower cost immersive visualization systems that are
useful, cost effective and widely accessible.
Such lower cost systems promise to enable much broader use in many
disciplines including the development and evaluation of human environments.
Immersive
visualization systems fall into two categories - head mounted displays (HMDs)
and spatially immersive displays (SIDs) such as the CAVE concept developed at
the University of Illinois at Chicago (Cruz-Neira, 1993). Head mounted displays are designed to
present two separate views of the virtual environment to the user - one view
for the right eye and another view for the left eye. These two stereo views are
fused by the viewer's perceptual system in the same way as right and left eye
views of natural scenes. These systems
have typically required the user to wear a helmet-like apparatus that holds the
left and right eye display devices. HUD
systems must, in addition to computing the synthetic views, track the viewer's
location and viewing orientation in the virtual world to create the correct
right and left eye views (3Space, 1987).
Specific
challenges for HUD systems include the need for fast, accurate sensing of user
head position and orientation and the need for rapid image updates with minimum
latency between head motions and the corresponding image update. If the displayed images lag behind head motions,
user disorientation and a form of motion sickness can result. Another challenge
has been to develop miniature high-resolution display devices and display
optics that allow natural wide field of view images.
In
this discussion we are focused on spatially immersive systems. In fully immersive
systems, the viewer is surrounded by projected images. In CAVE installations,
for example, the immersive environment consists of multiple large
rear-projected display screens that form the walls of a presentation
environment cube similar to a small room. Fully immersive CAVEs have six planar
image surfaces forming the walls, floor, and ceiling of the environment. Each
image presents a large portion of the possible field of view.
In
addition, there are semi-immersive systems that provide partially surrounding
images. In one form, these make use of
a large curved screen or wall that provides a wrap-around image with a wide
horizontal field of view – up to 180 degrees.
These systems support significant horizontal peripheral vision, a
limited vertical field of view but no rear images. An alternative form is to use two or more abutted flat screens to
approximate the curved screen.
Most
CAVE installations are in fact semi-immersive; having fewer than the maximum
six display surfaces. Many use only three display surfaces - front, left, and
right - and three image projectors. A
fourth display surface and a fourth projector utilizing a reflecting
mirror is sometimes added for the floor or ceiling.
Specific
challenges of immersive systems include the need for relatively large, usually
high ceiling spaces to accommodate the display surfaces and placement of the
display projectors. For fully immersive
systems there is usually the need to suspend the system above the actual floor
to accommodate projection onto the lower display surfaces.
Major Components
A
spatially immersive visualization system consists of three major elements; the
computational infrastructure, the surrounding display surfaces and projectors,
and the viewer tracking and interaction devices. We are exploring new
approaches to both the computational infrastructure and the display surface
geometries used.
Until
recently, the computational infrastructure of these systems was the province of
specialized graphics supercomputers and proprietary software. These systems were specifically configured
to meet the very demanding requirements of immersive visualization. These requirements include rapidly
presenting multiple synchronized high-resolution images based on large sets of
complex three-dimensional data. For
some applications, these images need to be updated at rates of up to 60 new
images per second. These systems also need to support interactive manipulation
of the three-dimensional environment data.
Spatially
immersive systems make use of projected images. The images may either be front projected or rear projected. Some semi-immersive systems use front
projected images. Many immersive
systems make use of rear-projected images.
Until recently the projected images have been created using expensive
projectors driven from specialized, expensive, high-end graphics systems.
Since
the display surfaces of these systems have often been curved and often required
blending multiple projected images, expensive high light output CRT based
projectors coupled with specialized optical image blending techniques have been
the norm. These projectors allow
electronic warping of the projected images to compensate for various optical
distortions. Also, the stereo imaging techniques usually employed required very
high frame rates that only these expensive projection systems could support.
Since
the primary reason for using immersive systems is to explore and manipulate
elements within virtual environments, special three-dimensional position and
orientation measuring devices and supporting software are used. In addition to user position tracking, these
allow users to navigate within the environments and to select and manipulate
elements of the displayed environments.
Stereo
Presentation
In
spatially immersive systems, as in the head mounted display systems, true
stereographic images are often desired.
These have usually been presented as time sequential stereo images. The right eye and left eye images are
projected alternately at a high frame rate. The viewer is required to wear
special glasses that have liquid crystal shutters whose operation is
synchronized to the display frame rate.
The shutter glasses allow the right eye to only see right eye images and
the left eye to see only left eye images. The human visual system integrates
these views into perceived three-dimensional views. As with the head mounted
display version, the position and perhaps orientation of the viewer must be
tracked if correct stereo views are to be projected. For systems with multiple
projected images, the update rate and frame rate of all the images must be
carefully synchronized.
An
alternative stereo display approach is one that uses two projectors for each
display screen – one for the right eye view and one for the left eye view. Polarized filters are placed in front of
each projector lens. The projectors are paired with filters of opposite
polarizations. The viewer also wears glasses with correspondingly polarized
filters. These viewing filters are
oriented so that the right eye sees only the right eye image while the left eye
sees only the left eye image.
Yet
another approach, which we have found to be quite effective, is to separate the
right and left eye views based on color.
Most computed images have three color channels – red, green and blue. In
the anaglyphic color based approach, only the red color channel is computed for
the right eye view while the green and blue channels are computed for the left
eye view. When viewed through red and cyan filters, the right eye sees the
right image and the left eye sees the left images. Amazingly, the human visual system does a good job of merging
these views into a perceived three-dimensional representation. An advantage of this approach is that the
two views coexist in the same graphics image and requires only one projector
per display surface.
Modular
Systems
Current and near future technologies
and computational economics allow the development of better and more
cost effective spatially immersive visualization systems. In
recent years, low cost commodity projectors have been replacing the expensive
projectors and commodity PC based graphics systems have been replacing
expensive graphics system.
A
very compelling concept is collections or clusters of commodity computers networked
to form powerful inexpensive distributed parallel computing engines.
Implementations of this concept often make use of extensions to the Linux
operating system (Hekman, 1997). One
example of this is the Beowolf cluster concept (Sterling, 1999).
This
very compelling concept has been extended into visual computing with the
development ‘tiled’ display systems, primarily through work done at Princeton,
Stanford and the Argonne National Laboratory (Hereld, 2000). Tiled displays are
formed by dividing a two-dimensional display area into an array of adjacent
regions or tiles. Each of these regions is projected by one of an array of
image projectors. These systems make use of multiple computers, some with
commodity graphics cards to drive the projector array, organized by software
such as WireGL and its successor Chromium, to support large, very
high aggregate resolution displays (Humphreys, 2001)(Humphreys 2002).
Based
on published performance benchmark results, collections of relatively low cost
commodity visual systems compare very favorably in both cost and aggregate
performance with the expensive high-end graphics systems that have typically
been used to support immersive systems. In recent years the advancement in
commodity graphics workstation performance has been phenomenal (Viewperf,
2002). From a purely raw performance viewpoint the former high-end systems have
clearly been overshadowed. The high-end systems do, however, still hold some
advantages in terms of internal data bandwidth, the ability to handle extremely
large image data sets and their ability to carefully synchronize multiple
display images.
Having
the visual computing distributed over a collection of processors allows
innovation in the structure of the display surfaces. The aggregate display surface may be composed of many planar
display faces or facets. In such
configurations, each facet need only display a relatively small portion of the
total virtual environment. The graphics computation needed for each display
facet falls within the capacity of today's, and certainly tomorrow's, high-end
commodity graphics systems.
Spatially
immersive systems are created by arranging the display tiles or facets
into a surrounding three-dimensional display surface and creating a commodity
based computational architecture optimized to support such fully immersive
systems. The computational infrastructure used is, as in the tiled display
concept, a visual computing extension of the commodity computer cluster concept.
In
recent years, several open source software development environments have been
created to support the development of immersive visualization systems. These include VR Juggler (Bierbaum, 2001)
(VR Juggler, 2004), Syzygy (Schaeffer, 2003), and OpenSG (OpenSG, 2004). These are not application packages, but
rather, provide the basic utility services and system support software upon
which specific applications can be built.
The Ideal System
It
can be argued that the ideal spatially immersive environment
would be one where the user is surrounded by a seamless spherical display
surface that provides very high resolution, high update rate, 360-degree
panoramic stereo views of extremely complex data. Spherical domed display surfaces, requiring specialized optics,
have been used for many years in flight training simulators (Reno, 1989) and
dodecahedron approximations to spherical projections have been developed
(McCutchen, 1991).
One
concept has been to develop immersive visualization systems utilizing modular
polyhedral display surface structures that are good approximations to the ideal
sphere. In this case, a high
performance commodity graphics processor is included in each of the
computational nodes. There is at least
one computational node for each display facet. The result is a powerful
spatially immersive visualization system.
The
faceted display elements may be arranged in a number of possible
configurations. In fact, the display
facet configurations can be tailored to meet specific application needs. There are a number of polyhedral
configurations whose faceted surfaces are good approximations to the ideal
spherical display surface. Several of
these are formed using many instances of a single planar shape. These polyhedra
require from 12 up to 60 or more planar faces (Holden, 1971) (Wenninger, 1971).
Examples
of such systems include the GarnetVision prototype developed by Iwata
(Iwara, 1996) which used a 12 facet rhombic dodecahedron to form a fully
immersive system. The image quality and
image resolution of this prototype was limited since only one graphics computer
was used to created multiple image windows that were distributed to the facets
using video techniques.
Another,
commercial system, has been developed by Link Simulation Systems (Dugdale,
1999). This system, called SimuSphere,
is based on a pentagonal dodecahedron facet structure. Systems using 3, 5, 7, or 9 of the 12
possible display facets, have been incorporated into fighter aircraft training
simulators. In these systems, the
display images are computed using the graphics supercomputer approach.
Our
approach is focused on the 24 facet Trapezoidal Icositetrahedra (Parke, 2002).
An illustration of how such a 24 facet system might be located within a high
ceiling space is shown in Figure 1. The
human figure shows the scale of this 5 meter diameter display structure. The
building entrance shown is approximately 6 meters wide. The array of projectors
needed for such a system is illustrated in Figure 2. Each of these projectors is driven from its own graphics computational
node. The set of these 24 network
connected computational nodes would form a visually extended cluster system as
discussed above. A simulated
cross-section view through this proposed 24 facet structure is shown in Figure
3. The human figure is included to
provide scale and to show where the viewer would be located relative to the
display surfaces. Simulated molecular
images are shown projected on the display surfaces.
Our overarching goal is to help enable the effective use
of immersive visualization in a much wider range of applications and
disciplines. The development of
effective lower cost systems is key to this goal. We are concerned with determining whether these visualization
environments are practical and effective.
The objectives in this work can be summarized as follows:
1)
Explore
and evaluate, at the conceptual level, possible geometric display structures
and their implications for modular immersive environments.
2)
Construct,
apply, and evaluate operational prototype systems for the most promising
configurations.
3)
Develop
or adapt the software and software libraries needed to support the operational
prototypes. Some of the issues to be addressed include; effective distribution
of the graphic computation, data formats, dynamic data partitioning,
synchronization of the displays, the required non-standard image projection
algorithms, user interaction and image compensation. Image compensation is
required because of the image distortions inherent in commodity projectors.
4)
Develop
applications to test and evaluate these systems.
5)
Develop
valid experimental designs to measure the effectiveness of the systems.
6)
Develop
a deeper understanding of the technical trade-offs and effectiveness issues of
these systems.
7)
Investigate
the feasibility of mass replicated, modular implementations of these systems.
In addition to the design, development and application
of these prototypes systems, we are concerned with the effectiveness of the
immerse experiences they will provide. That is, do they empower the participant
by affording new insights and deeper understandings, as well as facilitating
performance generally? Evaluation includes both technical evaluations of the
systems and effectiveness evaluations. Technical evaluation addresses issues
such as computational complexity, computational loading, dynamic performance,
and cost/performance measures.
We are currently in the operational prototype and
initial application development phases of this project. Development of the
prototypes has involved detailed simulation, physical structure design,
physical fabrication and assembly, supporting software design, and software
implementation.
We
selected for our initial immersive display surface structure the 24 facet polyhedra
described above and illustrated in Figures 2.
To gain a good understanding of this structure, a series of increasingly
larger scale structure prototypes were constructed. The initial versions were small-scale paper and cardboard
models. Next was a one-quarter scale
wood frame model. This was followed by
a three-quarter scale prototype with fabric projection screens. This non-operational 3.5 meter diameter
prototype is shown in Figure 4. A
full-scale surrounding display structure for this configuration is expected to
be about 5 meters in diameter.
The structural members are milled wood with a specific cross section that allows the display screen facets, which are interior to the frame, to fit together with minimal seams. The frame members also act as partial light baffles between the adjacent screens. While specialized expensive screen materials are available, we simply used fabric screens in our development prototypes. We have found that a densely woven synthetic fabric such as white taffeta works quite well as a rear projection screen material. This fabric would not work if the polarized stereo approach were used. Special polarization preserving screen materials would be required
Standard
visualization software generally assumes single rectangular display screens
driven from single computers. The software we have developed allows the images
to be computed for display on an arbitrary collection of convex polygonal
screens. The configuration of the screens is specified in run-time files that can
be easily changed as required. Since in these systems each screen facet is
driven from its own computational node, the software must coordinate and
synchronize the operation of multiple network connected computers. The software
must also enable interactive control of the system and distribute interactive
control across the network of computers in real-time. This software has been
developed for the Linux operating system (Hekman, 1997) using standard network
protocols and the OpenGL graphics environment (Woo, 1997).
We
are using 1024 x 768 resolution commodity LCD projectors. These projectors have fixed image geometry
and optics that are optimized for a completely different application. The relatively inexpensive projection optics
introduce some non-linear distortion into the projected images. These projectors, unlike their more
expensive CRT counterparts, do not allow electronic image warping. The computed images must be computationally
pre-warped to compensate for projection distortions. Raskar, et al. (Raskar, 1999) outlines an approach for doing this
that we have adapted.
Commodity
projectors also have significant light output variation across the images they
project. It is possible to compensate
for this variation by computationally adjusting brightness across the
images. We have not found this
necessary for our prototype systems.
To
date we have developed two operational prototypes. One is a three facet section of the 24 facet polyhedra. It is shown in its inactive state in Figure
5 and in operation in Figure 9. There
are actually four facets in this structure, but only 3 are active. The other prototype, shown in Figure 6, also
has three display facets. In this case
the facets are a section of a 10 facet surrounding cylindrical structure. These three facets provide a 108 degree
horizontal field of view. Five facets
would provide a 180 degree field of view.
The
hardware cost to replicate either of these three facet systems would now be
about $22,000. This corresponds to a cost
per facet of about $6,500 plus the cost of network connectivity, input control
devices, and miscellaneous peripheral costs.
The per facet cost breaks down as about $3,000 for the high performance
graphics computer, $3,000 for the projector, and $500 for the display screen
and support structure. Fortunately
computer and the projector costs, at a given performance point, continue to
decrease over time.
We are currently working on a seven facet operational prototype. The seven facets will be a slightly modified subset of the 24 facet polyhedra. This version will have a nearly 180 degree horizontal and about 60 degree vertical field of view. We expect this to provide a significant sense of immersion. The hardware cost of this prototype will be about $50,000 based on the component costs outlined above. We also expect to construct a 180 degree field of view, five facet subset of the surrounding cylindrical surface. Its cost will be about $35,000.
The projected costs for a 12 facet hemispherical surface would be about $85,000. A 24 facet fully surrounding spherical immersive system would cost about $170,000 using today’s prices. We expect that these systems will become significantly less expense over the next few years as computer and projector costs fall. Eventually we expect that the rear-projected screens will be replaced by flat panel displays.
The first real application for these prototypes has been
in the evaluation of preliminary designs for the Texas A&M College of
Architecture’s Architecture Ranch. The
Architecture Ranch is a recently acquired 12 acre off campus site intended to
be used by the College to develop innovative facilities, programs, and activities. An initial step in the development of this
site was a design charrette. Several
design teams created a range of development concepts. A site plan sketch from one of the teams is shown in Figure 7. This sketch along with aerial photographs
and survey data was used as the basis for two three-dimensional virtual site
models; one of the as is undeveloped site, the other of the site developed as
envisioned in the Figure 7 sketch. A
visualization of the developed site model is shown in Figure 8. An immersive visualization of the developed
site running on one of the three facet prototypes is shown in Figure 9. Using the immersive system, one can
interactively move through either the developed or undeveloped site and
experience it from any location and point of view. The visualization in Figure 8 and the immersive visualization in
Figure 9 both use the same software.
The difference is that in Figure 8 the system has been configured for
only one computer and one standard rectangular display screen while in Figure 9
the system is configured to use three computational nodes and the three
trapezoidal display screens.
Additional applications being developed include the
design of health care facilities, construction planning visualization and the
visualization of inaccessible historic sites including both their past and
current configurations.
The
development of commodity based lower cost systems may enable the wide spread
use of immersive visualization.
However, we see the need for dramatic improvements in ease of use. Availability of more off-the-shelf
applications and workflow integration into a broader range of domains are the
real enablers of this technology. Currently, except in a few specialized
domains, new uses of these systems requires too much effort in terms of application
software development and data preparation.
High cost and limited access have inhibited the integration of these systems into routine workflows. Now that the cost barriers are falling, the development of much better software support and workflow integration is needed for widespread adoption.
We
expect continued development directed toward more robust, lower cost
implementations. Incorporation of
higher performance visual computation, better display technologies, network
based collaborative visualization, and developing operational compatibility
with other immersive visualization systems and design software is anticipated.
In addition to the 12 and 24 facet polyhedra, there
are many other polyhedra formed from larger numbers of identical planar shapes. Two of these, with 60 facets each, are the
Deltoidal Hexecontahedron and the Pentagonal Hexecontahedron. These and
polyhedra with even larger numbers of facets could be the basis for future
modular immersive systems. In fact, the
larger the number of facets, the larger the number of visual computing nodes
used. This increases the overall
aggregate resolution and visual computational power of the system. It also decreases the size of each display
facet for an environment of given size.
More facets also result in better approximations to the ideal spherical
environment.
Faceted
display configurations hold the promise of truly modular systems where the
immersive environment is created by literally bolting together mass
replicated modules. Each module would
contain the required structural, computational, and display elements. The display elements of these modules might
eventually utilize flat panel display technology such as organic LEDs.
Our prototype development work
is supported by a grant from the Texas A&M University Telecommunications
and Informatics Initiative. Figures 1,
2, and 3 were created by Christina Garcia. The three-dimensional site model
used for figures 8 and 9 was developed by Kevin Singleton. Christopher Anderson and Kevin Singleton
developed the software for modular immersive visualization. Christina,
Christopher and Kevin are students in the Texas A&M Visualization Sciences
graduate program. The sketch shown in Figure 7 is by Marcel Erminy.
Figure
Captions
Figure 1 - How a 5 meter diameter 24-facet immersive display
structure might be located within a high ceiling room. The entrance shown is about 6 meters wide.
Figure
2 – Projector placement
for a 24-facet fully immersive system.
Figure 3 - A simulated cross-sectional view of a 5
meter diameter 24 facet immersive display.
Figure 4 – A three-quarter scale structural prototype for a 24
facet immersive visualization system.
The diameter of the prototype is about 3.5 meters.
Figure 5 – The structure for a three facet operational prototype
based on a four facet subset of the 24 facet polyhedra. Only the top three facets are used for
display.
Figure 6 – An operational prototype based on a three facet subset
of a ten facet surrounding cylindrical surface.
Figure 8 – Three-dimensional environment visualization based on the
charrette sketch.
Figure 9 – Environment visualized using the three facet immersive
prototype system.
References
_____, 1987. 3Space Isotrack Users
Manual. Polhemus Navigation Sciences, Colchester, VT.
Bierbaum, A., et al., 2001. VR Juggler: A
virtual platform for virtual reality application development. In: Proc. IEEE VR
2001. Yokohama, Japan.
Cruz-Neira, C., D. Sandin, T. DeFanti, 1993.
Surround-screen projection-based virtual reality: The design and implementation
of the CAVE. In: Proc. Siggraph 93. ACM, New York, pp. 135-142.
Dugdale, J., et al., 1999. Current
developments in visual display technology for fighter type simulators. In:
Proc. 21st IITSE Conf. Orlando, Florida.
Hekman, J. and Staff, 1997. Linux in A
Nutshell. O'Reilly & Associates, Cambridge, MA.
Hereld, M., I. R. Judson, R. L. Stevens,
2000. Introduction to building projection-based tiled display systems. IEEE
Computer Graphics and Applications, 20, 4: 22-28.
Holden, A., 1971. Shapes, Space and
Symmetry. Dover, New York.
Humphreys, G., et al., 2001. WireGL: a
scalable graphics system for clusters.
In: Proc. Siggraph 2001. ACM
Press, New York, pp.129-140.
Humphreys, G., et al., 2002. Chromium: A
stream processing framework for interactive rendering on clusters. ACM
Transactions on Graphics, 21, 3:693-702.
Iwata, H., 1996. Rear-projection-based
full solid angle display. In: Proc. ICAT ’96 Conf. Makuheri, Chiba, Japan.
McCutchen, D., 1991. Method and apparatus
for dodecahedral imaging system. U.S. Patent #5,023,725.
_____, 2004. http://www.opensg.org
Parke, F. I., 2002. Next Generation
Immersive Visualization Environments.
In: Proc. SIGraDi 2002 Conference. Caracas, pp. 162-166.
Rasker, R., et al., 1999. Multi-projector
displays using camera based registration. In: Proc. IEEE Visualization 99, San
Francisco, CA, pp. 161-168.
Reno, B. A., 1989. Full field of view
dome display system. In: Proc. AIAA/FSTC, pp. 390-394.
Schaeffer, B. and C. Goudeseune, 2003.
Syzygy: Native PC Cluster VR. In: Proc. IEEE VR 2003, Los Angeles, CA, pp. 15-22.
Sterling, T. L., J. Salmon, D. Becker, D.
Savarese, 1999. How to Build a Beowulf.
MIT Press, Cambridge, MA.
_____, 2002. Viewperf graphics
performance benchmark results, <http://www.specbench.org/gpc> (Aug. 2002).
_____, 2004. http://www.vrjuggler.org
Wenninger, M. J., 1971. Polyhedron Models. Cambridge University
Press, London.
Woo, M., J. Neider, T. Davis, 1997.
OpenGL Programming Guide, 2nd Ed. Addison Wesley, Reading, MA.