integrating motion perception with view-dependent rendering for dynamic environments
TRANSCRIPT
Computers & Graphics 26 (2002) 721–731
Integrating motion perception with view-dependent renderingfor dynamic environments
Jihad El-Sanaa,*, Nir Asisa, Ofer Hadarb
aDepartment of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva 84105, IsraelbDepartment of Communication Systems Engineering, Ben-Gurion University of the Negev, Beer-Sheva 84105, Israel
Abstract
In this paper, we are presenting a novel approach that allows rendering of a dynamic scene in a view-dependent
manner. We shall refer to such scene as a view-dependent scene. View-dependence scene is a scene graph which stores
the objects of the scene in a hierarchical structure. The objects are stored in the leaves of the graph in a form of view-
dependence trees. Our approach does not only allow objects to change position and orientation with respect to each
other, but it also allow the change of resolution based on the speed of motion of each individual object. To support
level-of-detail rendering of objects in motion, we have developed an algorithm that determines the appropriate level-of-
detail for objects in motion based on the degree of blurriness of the rendered images of these objects. r 2002 Elsevier
Science Ltd. All rights reserved.
Keywords: Geometric simplification; Perception; Multi-resolution hierarchies; View-dependent rendering; Dynamic virtual environ-
ments
1. Introduction
In an era of electronic and dynamic media three-
dimension representation of objects plays a major role in
delivering rapidly evolving media. Objects in three-
dimension space could be represented in different forms
such as parametric surfaces, polygonal meshes, and
volumetric representations. Present hardware graphics
can represent and render polygonal representation faster
than other forms. Therefore, polygonal representation is
a major approach to represent three-dimensional mod-
els. In addition, recent advances in three-dimensional
acquisition, simulation, and design technologies have led
to generation of polygonal datasets that exceed the
interactive rendering capabilities of current graphics
hardware. Several approaches have been developed to
bridge the increasing gap between hardware capabilities
and the complexity of the graphics datasets. These
include level-of-detail rendering with multi-resolution
hierarchies, occlusion culling, and image-based render-
ing.
Recently, level-of-detail rendering research has lead to
the development of progressive meshes [1] and view-
dependent rendering. View-dependent rendering enables
fine-grained changes to multiresolution hierarchies that
depend on view parameters such as view location and
illumination. Such approach changes the mesh structure
at every frame to adapt to just the right level of detail
necessary to faithfully represent the visual realism.
However, current view-dependent rendering schemes
usually handle the whole scene as one bulky structure
which prevents dynamic changes of the internal struc-
ture of the scene. This, unfortunately, is a serious
drawback, because it limits the applicability of these
rendering approaches to static datasets only.
In this paper, we have developed an algorithm that
efficiently supports view-dependent rendering for dy-
namic datasets. Our approach is based on the idea of
view-dependence scene graph which uses the view-
dependence trees [2] as the basic building unit.
Since motion is a fundamental aspect of dynamic
scenes, we have developed an algorithm that determine*Corresponding author. Fax: +972-8647-2909.
E-mail address: [email protected] (J. El-Sana).
0097-8493/02/$ - see front matter r 2002 Elsevier Science Ltd. All rights reserved.
PII: S 0 0 9 7 - 8 4 9 3 ( 0 2 ) 0 0 1 2 7 - 9
the level-of-detail appropriate for objects in motion. Our
algorithm is based on the observation that moving
objects appear blurred as result of the motion-blur
effect.
In the rest of the paper, we shall first discuss previous
work on multiresolution hierarchies and dynamic
environments techniques. Then we describe our ap-
proach followed by implementation details and empiri-
cal results. Finally, we draw some conclusions and
suggest directions for future work.
2. Previous work
In this section, we shall overview previous work in the
areas of view-dependent rendering and dynamic envir-
onments techniques.
2.1. View-dependent rendering
Most of the previous work on generating multi-
resolution hierarchies for level-of-detail-based rendering
has concentrated on computing a fixed set of view-
independent levels of detail. At runtime an appropriate
level of detail is selected based on viewing parameters.
Such methods are overly restrictive and do not take into
account finer image-space feedback such as light
position, visual acuity, silhouettes, and view direction.
Recent advances to address some of these issues in a
view-dependent manner take advantage of the temporal
coherence to adaptively refine or simplify the polygonal
environment from one frame to the next. In particular,
adaptive levels of detail have been used in terrains by
Gross et al. [3], Lindstrom et al. [4], and Duchaineau
et al. [5]. A number of techniques for conducting view-
dependent rendering of generalized polygonal meshes
rely on the primitive operations of vertex-split and edge
collapse as shown in Fig. 1. The edge Na;Nb in the mesh
on the left collapses to the vertex Np and the resulting
mesh is shown on the right. Conversely, the vertex Np in
the mesh on the right can split to the edge Na;Nb to
generate the mesh on the left. We refer to vertex Np as
the parent of vertices Na and Nb: The operation of vertex
split and edge collapse were proposed in the context of
progressive meshes [1].
Progressive meshes have been introduced by Hoppe
[1] to provide a continuous resolution representation of
polygonal meshes. Progressive meshes are based upon
two fundamental operators—edge collapse and its dual,
the vertex split, as shown in Fig. 1. Merge trees have
been introduced by Xia et al. [6] as a data structure built
upon progressive meshes to enable real-time view-
dependent rendering of an object. Hoppe [7] has
developed a view-dependent simplification algorithm
that works with progressive meshes. This algorithm uses
the screen-space projection and orientation of the
polygons to guide the run-time view-dependent simpli-
fications. Luebke and Erikson [8] define a tight octree
over the vertices of the given model to generate
hierarchical view-dependent simplifications. De Floriani
et al. [9] have introduced multi-triangulation (MT).
Decimation and refinement in MT are achieved through
a set of local operators that affect fragments of the
mesh. Gu!eziec et al. [10] demonstrate a surface partition
scheme for a progressive encoding scheme for surfaces in
the form of a directed acyclic graph (DAG). Klein et al.
[11] have developed an illumination-dependent refine-
ment algorithm for multiresolution meshes. Schilling
and Klein [12] have introduced a refinement algorithm
that is texture dependent. Kim and Lee [13] have
managed to remove the dependency limitation of the
split and merge operation. In their refinement scheme
each vertex split or edge collapse can be performed
without incurring additional vertex split and/or edge
collapse operations. El-Sana et al. [14] have developed
skip strip: a data-structure that efficiently maintains
triangle strips during view-dependent rendering. View-
dependent rendering schemes require the existence of the
entire dataset in main memory. To overcome the
memory size drawback El-Sana and Chiang [15] have
developed an external memory view-dependent simpli-
fication.
View-dependent simplifications using the edge-col-
lapse/vertex-split primitives include work by Xia et al.
[6], Hoppe [7], Gu!eziec et al. [16], and El-Sana and
Varshney [17]. View-dependent simplifications by
Luebke and Erikson [8], and De Floriani et al. [9] do
not rely on the edge-collapse primitive. Our work is
most directly applicable to view-dependent simplifica-
tions that are based upon the vertex-split/edge-collapse
primitive.
Shamir et al. [18] have developed a view-dependent
approach that handles dynamic environments with
arbitrary internal deformation. They have also intro-
duced the T-DAG data structure to support their
algorithm. However, it seems that their algorithm is
too complicated to support large datasets at interactive
rates.
Considering motion in determining the appropriate
level of detail for rendering is closely related to
perception. A perceptual framework for managing level
Na Nb Np
b
d
e
f
g
h
i
a
c
b
d
e
f
g
h
i
Collapse
Split
(a) (a)
Fig. 1. Edge collapse and vertex split.
J. El-Sana et al. / Computers & Graphics 26 (2002) 721–731722
of detail in virtual environments was developed by
Reddy et al. [19]. Watson et al. [20] have presented an
evaluation of level of detail degradation in head-
mounted display peripheries based on perception
aspects.
2.2. View-dependence tree
View-dependence trees were introduced by El-Sana
and Varshney [2] as a compact multiresolution hier-
archical data-structure that supports view-dependent
rendering. Since our technique extends the view-depen-
dence tree, we review this structure here in more detail.
This tree differs from other previous work [6,7] in that it
enables topology simplification, does not store explicit
dependencies, and handles non-manifold cases. At run-
time the view-dependence tree is used to guide the
selection of the appropriate level of detail based on
factors such as view and illumination parameters.
To enable topology simplification, pair of vertices that
are not connected by an edge are allowed to collapse.
Such vertex-pair collapse allows merging of unconnected
components. A vertex pair which are not connected by
an edge in the original dataset are said to be connected
by a virtual edge, while the original model edges are
referred to as real edges. To generate the virtual edges,
they compute the 3D Voronoi diagram whose sites are
the dataset vertices, and connect every pair of vertices by
a virtual edge if they are not connected via a real edge
and their corresponding Voronoi cells share a Voronoi
face.
To handle non-manifold cases, a more general scheme
is used so that when a vertex split occurs, more than two
new adjacent triangles can be added that share the newly
created edge. Implicit dependencies are used to prevent
undesirable foldovers in real-time.
2.3. Dynamic three-dimensional scenes
Computer graphics has been playing an important
role in animation and simulation fields. Several
approaches have been used to produce animated images.
3D computer graphics interested in approaches that
generate objects and then render them. In an off-line
rendering, the generated animation can later be either
saved as a movie file or output to video. In such
animation, interactivity does not play a major role.
However, in some animation and simulation applica-
tions where interactivity is crucial off-line rendering is
not possible.
Several three-dimensional graphics systems have been
developed to simulate various stages in different
processes of inspecting, testing, verifying, or exploring
three-dimensional datasets. These systems range from
platform independent languages such as VRML [21] and
Java3D [22] to high-end virtual environments system
such as DIVISION Reality Toolkit [23] which are used
in design and simulate large scale industrial CAD
models. In the spectrum between these two ends there
are an increasing number of systems/toolkits. Next we
shall overview some of these systems.
DIVE [24] is a fully distributed heterogeneous virtual
reality system, where users can navigate and interact in
3D space. Maverik [25] is a system for managing display
and interaction in virtual reality applications. It is
designed to addresses the challenges of virtual environ-
ments where many objects have real geometry and
therefore afford interaction. MR (Minimal Reality)
Toolkit [26] is a set of software tools for the production
of virtual reality systems and other forms of three-
dimensional user interfaces.
Other virtual environments systems emphasize colla-
boration and distribution aspects. VEOS [27] is a
distributed virtual environment which maintains con-
sistency among all workstations by sending point-to-
point messages. Anupam and Bajaj [28] have developed
the Shastra, an extensible and programmable system
that supports large scale, geographically dispersed
collaboration amongst multi-users environment.
NPSNET [29] uses a broadcast approach to maintain
a large distributed battle field simulation over the
Internet.
Industrial CAD/CAM [30,31] has always been an
imperative tool in the industry. In automobile design,
CAD could be used to model cars which later could be
rendered using 3D graphics techniques. In addition,
automobile industry could utilize interactive 3D gra-
phics to animate the motion and test internal dynamics
of the various components. In such application objects
may change position and/or orientation with respect to
each other. Recently, industrial software companies
have been developing applications to generate and
manage rich-dynamic virtual environments [32].
Some of these systems have implemented limited
number of discrete levels of detail and switch between
them based on distance from the viewer. But none of
these systems has provided a continuous level-of-detail
in a view-dependent fashion.
3. Our approach
Our approach suggests a framework that enables fast
rendering of dynamic environments through the use of
view-dependent rendering techniques. The suggested
framework relies heavily on two novel ideas. First, we
allow sub-tree of the view-dependence tree to act as
independent unit hence to change position and orienta-
tion. Second, we compute the level of detail for objects
based on their motion behavior with respect to the
viewing parameters.
J. El-Sana et al. / Computers & Graphics 26 (2002) 721–731 723
In our view-dependence scene, objects are represented
by sub-trees of the entire scene’s view-dependence trees.
By allowing sub-trees to change position and orientation
independent of the rest of the view-dependence trees.
Practically, we permit objects to change position and
orientation with respect to each other. Such changes
alter the scene from static (where objects do not change
with respect to each other) to dynamic.
One of the main advantages of view-dependent
rendering is the ability to change level-of-detail seam-
lessly and smoothly in real-time. For static scene, view-
dependent algorithms use distance-from-camera and
view-direction to determine the appropriate level of
detail. In dynamic scene, objects in motion also have to
take into account the speed of motion. For example,
object A that moves faster than object B can afford to
appear in lower resolution than B’s resolution.
4. Dynamic view-dependence scene
Three-dimensional graphics scenes are defined as set
of three-dimensional objects which are often represented
by a polygonal mesh. Within a graphics scene objects
may change shape, position, and orientation with
respect to each other. We shall refer to such scenes as
dynamic scenes. In contrast, objects in static scenes do
not change position or orientation with respect to each
other. We distinguish between two families of operation
that can be applied to objects in dynamic scenes.
* Transformations that change the position and/or
orientation of objects with respect to other objects in
the same scene.* Deformations that change the shape of an object with
respect to its internal structure.
It is often the case that deformations are not applied to
polygonal datasets. Therefore, in this work we shall deal
with the first class which is very common and form a
practical problem in CAD simulations.
As in view-dependent rendering we generate the view-
dependence tree for each object using the same process
that have been developed in [2]. Then based on position
and orientation of the object in the original one-
resolution-level scene we determine the initial structure
of the view-dependence scene graphs (Fig. 2). View-
dependence scene is a scene graph which stores the
objects of the scene in a hierarchical fashion. It also
keeps scale, rotation, and transformation matrices for
each object to determine its current position and
orientation. Within the framework of the view-depen-
dence scene graph object can change position and
orientation in an animated manner. In addition, we
store the velocity information for each object in order to
consider the speed of motion when determining the
appropriate level of detail.
Internal nodes of the scene graph hold information
that is shared with the nodes of the sub-graph rooted at
that node. Leaf nodes are view-dependence trees for the
various objects that together form the scene. At each
frame we need to scan the view-dependence scene graph
and perform three main procedures—transformation,
adapt, and display. First we need to apply the
transformation matrices to the objects, and then we
select the appropriate level of detail for each object, and
finally we send the selected level of detail to the graphics
hardware for rendering.
Since view-dependence scenes composed of multiple
objects, we use transformation and rotation matrices at
each internal nodes to position objects at their initial
position. In addition, our approach supports dynamic
scene in which objects can change position and
orientation in run-time. We chose to handle dynamic
behavior of objects by allowing the scene manager
to alter the transformation matrices at each internal
node.
5. Perception and motion
We should point out that, in general, the motion of
interest here is not the actual relative motion between
object and viewer, but rather the relative motion
between viewer and image plane. The latter motion is
that observed in the image plane. Both of these motions
are related to each other by the image system
magnification according to the similar triangles shown
in Fig. 3. If V is actual relative velocity between object
plane and image sensor, and if v is relative velocity
Fig. 2. A view-dependence scene graph: hatched leaves repre-
sent view-dependence meshes and internal white nodes repre-
sent transformation nodes.
J. El-Sana et al. / Computers & Graphics 26 (2002) 721–731724
between image sensor and image plane, then
V
s¼ �
v
s0or v ¼ �
s0
s
� �V ð1Þ
where s is the distance between the object and the viewer
and s0 is the image distance from the viewer. The
expression in parentheses is lateral magnification, which
derives from the same similar triangles (see Fig. 3). For
long-range imaging, the image distance s0 is approxi-
mated by optics focal length fl : In this case the
conversion constant K between the object velocity and
the image velocity is given by,
K ¼fl
sð2Þ
We will use the factor K in Section 6.1 in order to specify
the resolution of the triangles, which defines the
appropriate level of detail for moving object.
5.1. Visual acuity
Visual acuity is a measure for the ability to recognize
small and fine details. It is defined and measured in
terms of the angular size of the smallest size of the
character that can be recognized. For example the letter
E has three bars and two spaces. Visual acuity is then
reciprocal of the angular size in minutes of arc of one
element of the letter. If each element of the letter E
subtends 1 min of arc then visual acuity is unity. The
height of the whole letter would then subtend 5 min of
arc [33].
Acuity is often expressed as the ratio between target
distance (usually 20 ft) and the distance at which one
target element would subtend 1 min of arc. Therefore, a
visual acuity of 2040
indicates one element of a letter of
minimum recognizable size subtends 2 min while the
letter itself subtends 10 min:Normal acuity of 1 min; or 20/20, is the value of
resolution for the human visual system conventionally
assumed for design of optical instruments. This is
equivalent to 0:291 mrad resolution. However, this value
pertains only to that part of the field of view which
corresponds to the fovea. Outside the fovea acuity drops
rapidly. For example, a displacement of 101 reduces
acuity to only 20% of that with zero displacement.
A displacement of only 2:51 is enough to reduce acuity
by 50%.
It is important to note that dynamic visual acuity
differs from static visual acuity. The human visual
system is capable of detecting angular motion to the
order of 10 s or arc. The slowest motion normally
detectable is 1–2 min of arc per second. At the other
extreme, motion faster than 2001 appears as a blurred
streak [34]. However, the wavelength dependence of
dynamic visual acuity does not resemble that of static
visual acuity. In dark-adapted viewing conditions and in
the transition from photopic to scotopic vision moving
blue targets are much more easily resolved than are
other colors of equivalent photopic brightness. How-
ever, under dynamic photopic viewing conditions there
is no clear dependence on target wavelength [35].
5.2. Motion blur
The idea of using lower resolution of images on
motion has been used in video systems for decades. If we
take a look at isolated frames from a clear (in terms of
visual appearance) video segment they would not look
as clear as the running segment. They appear in low
resolution and often blurred, but the human eye can fill
the missing information and conceive a clear video
segment when running these images sequentially and in
the appropriate speed.
To determine the resolution of object in motion we
follow similar analogy of blurring images to convey
motion speed and direction. Motion blur is the effect
that one would see in photographs, taken by an analog
camera of scenes where objects are moving. Analog
camera technology works by exposing a sheet of light
sensitive film to a scene, for a short period of time. The
light reflected from the scene, which hits the film, causes
the film to change chemically, and eventually results in a
picture representation of the scene (see Fig. 4). This
s s'
V
v
Fig. 3. Relationship between actual relative velocity V and
apparent relative velocity v:
Fig. 4. Edge collapse and vertex split.
J. El-Sana et al. / Computers & Graphics 26 (2002) 721–731 725
procedure is known as an exposure. If the scene changes
during that exposure, a blurred image will result.
The motion blur principle stems from the cinema.
Because of the non-zero camera shutter speed, the fast
moving objects became blurred on the film. However, it
proved to be an advantage rather than otherwise when
the film was played at a low frame rate (24 frames
per second) since the viewer could not see the jerks.
When computer 3D graphics merged with the cinema,
the blurred motion began to be resorted to fill a specific
purpose of making a viewer believe the created image
was virtually not different from the real one.
If the motion is linear at a constant velocity v0 in the
image plane, the resulting displacement in that direction
is given by X ¼ v0t where v0 is uniform relative velocity
between object and viewer. The smearing function in the
spatial domain, which is the line spread function (LSF)
of linear motion is given by [33].
fxðxÞ ¼1
ðv0teÞ¼
1
dð3Þ
where d is the spatial extent of the blur and is equal to
v0te: The smearing function at the spatial frequency
domain, which is the modulation transfer function
(MTF) of linear motion is given by,
MTFL ¼1
d
Z d
0
expð�j2pfxÞ dx
�������� ð4Þ
¼��sinðcpfxdÞ expð�jpfxdÞ
�� ð5Þ
¼jsinðcðpfxdÞÞj; fxpd�1
0; otherwise:
(ð6Þ
Note that from Eq. (6) the smaller the blur extent d the
wider the spatial frequency bandwidth. This means it is
desirable to decrease image plane velocity and exposure
time to improve resolution. Since detail of size smaller
than blur radius d is unresolvable and undergoes black–
white phase or color reversal, MTF at frequencies higher
than 1=d is labeled false or spurious resolution.
6. Level of detail selection
It is well known that human visual system does not
require high resolution for objects or pictures in motion.
By taking advantage of this fact we can gain further
reduction on the number of triangles to represent objects
on motion. In this sub-section, we shall describe how we
compute the appropriate level of detail for objects on
motion.
View-dependence rendering provide the ability to
select an appropriate level of detail for rendering at
each frame. Since view-dependence scene supports view-
dependent rendering, it determine the level of detail for
each object at each frame. At each frame we execute the
adapt procedure that scan the view-dependence scene
graph and for each object it adapt the active-nodes to
match the current speed of motion, illumination, and
view parameters.
The fact that each object has its own view-dependence
tree makes it possible to speed up the level-of-detail
selection by avoiding unnecessary scanning of active-
nodes. Therefore, we store the bounding box of the
entire object (it is also the bounding box of the view-
dependence tree) in the leaves of the view-dependence
scene graph. It is important to note that the bounding
box of each object keeps the center and dimensions of
the bounding box. To determine the selected level of
detail for each object we take into account view frustum,
the distance from viewpoint (camera position), the angle
between the view-direction and the normal at each active
node, and the speed of motion.
For objects that are close to the viewpoint; including
the case where the viewpoint is inside the bounding box
of the object; the level-of-detail varies over the surface of
the object with respect to the distance from the
viewpoint and the view-direction. High resolution is
selected for regions that are close to the viewpoint and
gradually coarsening resolution as the regions become
far from the viewpoint. We also select high resolution
for regions that are directly facing the view-direction
(the normal and the view-direction facing each other)
and very coarse resolution for the back-facing regions.
Note that we handle the silhouette as a separate case
that we assign higher resolution. We select the coarsest
resolution possible for objects that are out of the view
frustum.
For objects that are far from the viewpoint with
respect to the dimension of their bounding box, we use a
uniform resolution over the front-facing region of the
object and very coarse resolution over the back-facing
regions. Usually these objects are assigned low resolu-
tions and the reduction on the number of triangle over
the same surface would be very little that does not justify
the need for computing the appropriate level of detail
for each node.
6.1. Level of detail and speed of motion
Objects in motion are known to attract the attention
of the human eye much more than still objects.
However, the human eye finds it very hard to conceive
the fine detail of the moving objects. The human-eye
physiology and the motion blur effect lead to the fact
that lower level of details are required for moving
objects. In addition, fast moving objects cannot be
rendered at low frame rates and hence must be
represented by relatively small number of triangles.
Several previous works in level-of-detail rendering have
mentioned the need to use lower level of detail for
moving objects. Nevertheless, no algorithm has been
J. El-Sana et al. / Computers & Graphics 26 (2002) 721–731726
proposed to determine the relation between selected
level of detail and the motion behavior of the rendered
object.
We have seen that motion influence the level-of-detail
selection. The degree of blurriness determines the level-
of-detail rendering of moving objects. Blur effect is
computed based on pixels while level-of-detail is
computed based on triangulated meshes. Therefore, we
would like to estimate the blurriness required to increase
or reduce the resolution on different regions of a given
surface. To determine the relation between the velocity
of the moving object and its resolution (in terms of
triangles count), let us consider one triangle Tm of the
moving object. The size of the image of the triangle Tm
on the 2D screen space (image plane) is determined by
the distance form the camera and the angle between the
view-direction and the normal of the triangle Tm: For
simplicity, we assume that the triangle faces the camera
and the size of the triangle depends only on the distance
from the camera position. Let us also assume that this
triangle is the object plane is moving with velocity V :According to Eq. (1) the velocity in the image plane is
v ¼ �KV :If we were to compute the blur effect we would need
to interpolate consecutive frames. Applying such tech-
nique to Figs. 5a–c would result in three images (one for
each figure). The result of the slow-moving triangle
appears much more clear that the result of the fast-
moving triangle. Hence, the speed of a moving-object
determines the degree of blurriness of the rendered
image of the object (refer to Fig. 7 as an example).
Now let us assume that the radius of bounding sphere
of the moving triangle is Rbound : Using the results from
Section 5 we could estimate the reduction in the triangle
resolution in the image plane (as result of the motion).
The resolution reduction can be expressed as an increase
in the radius of the bounding sphere Rbound (or the
triangle dimension) by a factor DR as shown in Fig. 6.
DR depends on the time between consecutive frames t;the object velocity V ; and the K factor (as in Eq. (1)).
Therefore, the new radius Rnewbound can be expressed as
follow:
Rnewbound ¼ Rbound þ KVt: ð7Þ
It is important to notice that the K factor takes into
account the distance of the moving object from the
viewer. For far-from-view objects, the K factor is
smaller than that of the close-to-viewer objects. There-
fore, it affects the level-of-detail proportional to the
distance from the viewer.
We incorporate this approach in view-dependence
trees by performing merge operations for nodes that
have expanded more than its switch value (Recall that
switch value is a view-dependence node attribute that is
used to determine when a node need to split or merge).
In a similar way, we allow slowing down objects to
retain their appropriate resolution by performing split
operation.
7. Implementation detail
We have implemented our approach using C/C++,
OpenGL graphics API for the rendering, and FLTK
toolkit [36] for the graphics user interface. We have
adopt the view-dependence trees data structure [17]
including implicit dependencies. In addition we have
introduced few improvements.
* We separate the geometry information, such as
vertex and triangle attributes, from the view-depen-
dence trees data-structure. This separation has made
it possible to run the adapt process and the display
process in parallel in two different processors.* We add motion information to the terminal nodes of
view-dependence scene. Since each terminal node is a
view-dependence tree of one generic object and we
have assumed that objects have rigid behavior, it is
enough to store the motion attributes only once.
At time T 0 frame
(a)
(c)
At time T At time T 0 frame
(b)
At time T
Tframe Tframe
At time T 0 frameAt time T
Tframe
Fig. 5. Edge collapse and vertex split.
R + ∆RR
V
Fig. 6. Relation between velocity and triangle resolution.
J. El-Sana et al. / Computers & Graphics 26 (2002) 721–731 727
* The parent node on a view-dependence tree is
assigned the position of one of its children. This
change does not seem to harm the visual appear-
ance of objects in view-dependent rendering, but
it dramatically compacts the view-dependence
trees.
In graphics application, where objects change position
and orientation with respect to each other, the
coordinates of these objects have to be transformed
separately. Often, these transformations are not part of
the transformation step of graphics-engine’s pipeline.
The time it take to perform such transformations is
proportional to the number of vertices in each object. In
our current implementation, we perform these transfor-
mations on a fraction of the vertices that form the
selected level-of-detail of each dynamic object. This
improvement become critical for large datasets where
considerable percentage of the scene objects are dy-
namic.
View-dependent rendering tries to converge to the
appropriate level-of-detail with respect to a given view-
parameters. This procedure requires scanning the active-
nodes list of all objects in the scene at each frame. We
could avoid traversing the active nodes list of an object if
none of its active nodes needs to split or merge. Such
case occurs for objects that have already converged to
the current view-parameters and have not changed
position or orientation with respect to the current
view-parameters. We could often save some of these
unnecessary traversals by tracking changes in the view-
parameters and skip scanning the active nodes list of an
object if these change are less than an object-dependent
threshold.
In our current implementation, for each object in the
scene we store the previous position and orientation of
its center. Then at each frame we traverse the active
nodes list of an object if it has changed its position or
orientation by more than the object-dependent threshold
from the last traversal. In such category we only
consider objects that have already converged to it
appropriate level of detail. For objects that are very
far from the viewer position, we do not need to traverse
the active nodes at each frame.
8. Results
We have tested our implementation on various
datasets and have received encouraging results. Table 1
includes some of these results that we shall analyze in
this section.
Because view-dependent rendering algorithms utilize
coherence between consecutive frames, their perfor-
mance should be tested over a sequence of frames and
not over one isolated frame. Therefore, we chose to
report results that we acquired over sequences of
frames.
In Table 1 we report the average number of split/
merge operations, number of triangles at each frame, the
total percentage of motion for all objects (each object
with respect to its bounding box), and the average time
for a frame. We have conducted these tests on Pentium-
III machine with 512 MB of memory and GeForce
graphics hardware. As can be seen from Table 1 we have
achieved interactive frame rates even for large dynamic
datasets. These results are much faster than the results
reported by Shamir et al. [18], but again we do not
support deformation at all while their approach can
handle arbitrary deformation.
The dynamic behavior of a scene by itself may not
have direct influence on the frame rates. However,
incorporating scene graph structure and independent
dynamic behavior for the scene’s objects in view-
dependent rendering framework is very appreciated by
the CAD simulation community. Nevertheless, we can
evaluate the improvement of the frame rates resulting of
considering the influence of motion (in addition to view-
parameters) on the selected level of detail. Integrating
motion can only reduce the resolution (in terms of
triangles count) and hence improves the frame rates. But
we have to compute the contribution of motion to the
selected level of detail. Table 2 shows that by average
the gained frame rates worth the invest on computing
the motion contribution. This behavior results of the
following two reasons:
* We are computing the motion contribution in an
incremental fashion as result of the temporal
coherence between consecutive frames.
Table 1
Run time over a sequence of frames for various polygonal datasets
Dataset Original Average/frame
Vertices (k) Triangles (k) Triangles (k) Split/merge (k) Motion (%) Time (ms)
Moving gears 42 81 30 1.2 6 34
Geometry objects 66 124 45 1.4 12 47
Engine assembly 71 140 60 1.5 10 52
Tricycle on Terrain 280 600 94 1.7 12 83
J. El-Sana et al. / Computers & Graphics 26 (2002) 721–731728
* The motion contribution is computed per object and
then used for all its view-dependence nodes. That is
possible because we consider rigid objects (no
deformations).
Fig. 7 depicts the perceived images after a motion blur
effect. The figure shows different motion blur values. In
these examples we used the image space and hence the
motion blur values are given in pixels. Fig. 8 show four
images of a spinning Torus. In the Fig. 8(a) the image
was taken before the Torus starts spinning. The
Figs. 8(b)–(d) show increasing angular velocity of the
Torus and hence we see reduction on the resolution of
the selected level of detail.
Fig. 9 shows how parts of an engine can be assembled
while accelerating rendering by using view-dependent
rendering. Note that this scene consists of several objects
that are represented by the view-dependence scene graph
in a hierarchical structure.
Fig. 10 shows a view-dependence scene in which all
the objects are static except the tricycle that drives on
top of the torus. In the Fig. 10(b) we added wire-frame
and zoomed closer to the Tricycle to depict the
reduction on its resolution. Note that the static parts
are nearly in full resolution (the front facing regions).
Table 2
The run time for dynamic view-dependent for different datasets with and without considering motion for selecting level of detail
Dataset Original Average time (ms)/frame
Vertices (k) Triangles (k) Motion not considered Motion considered
Moving gears 42 81 40 30
Geometry objects 66 124 50 36
Engine assembly 71 140 64 46
Tricycle on terrain 280 600 110 73
Fig. 7. Motion blur for a sphere with a wire-frame using different motion blur values.
Fig. 8. Spinning Torus: the angular velocity is inversely proportional to the resolution of the selected level of detail.
Fig. 9. Scene Graph consists of parts of an engine.
J. El-Sana et al. / Computers & Graphics 26 (2002) 721–731 729
9. Conclusions and future work
We have presented the concept of dynamic view-
dependence trees as a tool to perform geometry and
topology simplification for large polygonal datasets in a
dynamic environment. Our concept is based on view-
dependence scene which is a scene graph that stores
view-dependent representation of the scene’s objects in a
hierarchical structure. Objects in the scene can change
position and ordination with respect to each other in an
animated manner. We have also presented an algorithm
that determines the level-of-detail appropriate for
objects in motion based on view-parameters and motion
behavior. Our algorithm is based on the observation
that moving objects appear blurred as result of the
motion-blur effect.
We see the scope for future work in increasing the
dynamic behavior to include more than independent
motion of rigid objects while keeping the efficiency of
adaptive view-dependent rendering. Such algorithms can
expand the use of the view-dependent rendering frame-
work.
Acknowledgements
We would like to acknowledge the Weiler Family
Fund which helped in purchasing some of the equipment
used in this project.
References
[1] Hoppe H. Progressive meshes. In: Proceedings of SIG-
GRAPH ’96 (New Orleans, LA, August 4–9, 1996). ACM
SIGGRAPH, ACM Press: New York, August 1996.
p. 99–108.
[2] El-Sana J, Varshney A. View-dependent topology simpli-
fication. Virtual Environments ’99 May 1999. p. 11–22.
[3] Gross MH, Gatti R, Staadt O. Fast multiresolution
surface meshing. In: Nielson GM, Silver D, editors. IEEE
Visualization ’95 Proceedings. 1995. p. 135–42.
[4] Lindstrom P, Koller D, Ribarsky W, Hughes L, Faust N,
Turner G. Real-Time, continuous level of detail rendering
of height fields. In: Holly R, editor. SIGGRAPH 96
Conference Proceedings, Annual Conference Series. ACM
SIGGRAPH, Addison-Wesley: Reading, MA, August
1996. p. 109–18.
[5] Duchaineau M, Wolinsky M, Sigeti D, Miller M, Aldrich
C, Mineev-Weinstein M. Roaming:real-time optimally
adapting mesh. In: IEEE Visualization ’97 Proceedings.
ACM/SIGGRAPH Press: New York, USA, October 1997.
p. 81–8.
[6] Xia J, El-Sana J, Varshney A. Adaptive real-time level-of-
detail-based rendering for polygonal models. IEEE Trans-
actions on Visualization and Computer Graphics 1997;
3(2):171–83.
[7] Hoppe H. View-dependent refinement of progressive
meshes. In: Proceedings of SIGGRAPH ’97 (Los Angeles,
CA). ACM Press: New York, August 1996. p. 189–97.
[8] Luebke D, Erikson C. View-dependent simplification of
arbitrary polygonal environments. In: Proceedings of
SIGGRAPH ’97 (Los Angeles, CA). ACM SIGGRAPH,
ACM Press: New York, August 1997. p. 198–208.
[9] De Floriani L, Magillo P, Puppo E. Efficient implementa-
tion of multitriangulation. In: Rushmeier H, Elbert D,
Hagen H, editors. Proceedings Visualization ’98. October
1998. p. 43–50.
[10] Gu!eziec A, Lazarus F, Taubin G, Horn W. Surface
partitions for progressive transmission and display, and
dynamic simplification of polygonal surfaces. In: Proceed-
ings VRML 98, Monterey, California, February 16–19,
1998. p. 25–32.
[11] Klein R, Schilling A, Stra�er W. Illumination dependent
refinement of multiresolution meshes. In: Computer
Graphics Intl, June 1998. p. 680–7.
[12] Schilling A, Klein R. Graphics in/for digital libraries—
rendering of multiresolution models with texture. Compu-
ters and Graphics 1998;22(6):667–79.
[13] Kim J, Lee S. Truly selective refinement of progressive
meshes. In: Proceedings of Graphics Interface 2001, 2001.
p. 101–10.
Fig. 10. Tricycle on a track: Lower resolution for the running tricycle.
J. El-Sana et al. / Computers & Graphics 26 (2002) 721–731730
[14] El-Sana J, Azanli E, Varshney A. Skip strips: Maintaining
triangle strips for view-dependent rendering. In: IEEE
Visualization ’99 Proceedings. ACM/SIGGRAPH Press,
October 1999.
[15] El-Sana J, Chiang Y. External memory view-dependent
simplification. In: Computer Graphics Forum, vol. 19.
Eurographics Association and Blackwell Publishers Ltd
200, 2000. p. C139–150.
[16] Gu!eziec A, Taubin G, Horn B, Lazarus F. A framework
for streaming geometry in VRML. IEEE CG&A
1999;19(2):68–78.
[17] El-Sana J, Varshney A. Generalized view-dependent
simplification. In: Computer Graphics Forum, vol. 18.
Eurographics Association and Blackwell Publishers Ltd,
1999. p. C83–94.
[18] Shamir A, Pascucci V, Bajaj C. Multi-resolution dynamic
meshes with arbitrary deformation. In: IEEE Visualization
’2000 Proceedings, 2000. p. 423–30.
[19] Reddy M, Watson BA, Walker N, Hodges LF. Managing
level of detail in virtual environments: a perceptual
framework. Presence 1997;6(6):658–66.
[20] Watson BA, Walker N, Hodges LF, Reddy M. An
evaluation of level of detail degradation in head-mounted
display peripheries. Presence 1997;6(6):630–7.
[21] I. IEC. The virtual reality modeling language, 1997.
[22] Sun Micosystems Ltd. Java3d, 1999. http://www.java.-
sun.com/products/java-media/3D.
[23] Parametric Technology Corp. Division reality, 1999.
http://www.ptc.com/products/division/reality.html.
[24] Carlsson C, Hagsand O, Dive—a multi-user virtual reality
system. In: Proceedings of the IEEE Virtual Reality
Annual International Symposium, 1993.
[25] Hubbold R, Xiao D, Gibson S. Maverik—the manchester
virtual environment interface kernel, 1996.
[26] Shaw C, Green M, Liang J, Sun Y. Decoupled simulation
in virtual reality with the mr toolkit. ACM Transactions
on Information Systems 1993;11(3):287–317.
[27] Bricken W, Coco G. The veos project. Tech-report
FJ-15, University of Washington, Seattle 98195, WA,
1993.
[28] Anupam V, Bajaj C. Shastra: An architecture for devel-
opment of collaborative applications. International Jour-
nal of Intelligent and Cooperative Information Systems
1994;3(2):155–72.
[29] Macedonia M. Brutzmann D, Zyda M, Pratt D,
Barham P, Falby J, and Locke J, Npsnet: A multi-player
3d virtual environment over the internet. In: ACM
SIGGRAPH Special Issue on 1995 Symposium on
Interactive 3D Graphics. ACM Press: New York, 1995.
p. 93–4.
[30] CATIA Solutions. Cad/cam, 2001. http://www.catia.com.
[31] Autodesk. Cad/cam design, 2001. http://www.autodesk.-
com.
[32] MetaCreations: Creating virtual environments, 2001.
http://www.metacreations.com.
[33] Kopeika NS. A system Engineering Approach to Imaging.
SPIE Optical Engineering Press: Bellingham WA, 1998.
p. 517–24.
[34] Smith WJ. Modern Optical Engineering, 2nd ed. New
York: McGraw-Hill, 1991.
[35] Long GM, Garvey PM. The effects of target wavelength
on dynamic visual acuity under photopic and scopotic
viewing. Human Factors 1988;30:3–13.
[36] Spitzak B. Fltk 1.0.6, 1999. http://www.fltk.org.
J. El-Sana et al. / Computers & Graphics 26 (2002) 721–731 731