integrating motion perception with view-dependent rendering for dynamic environments

11
Computers & Graphics 26 (2002) 721–731 Integrating motion perception with view-dependent rendering for dynamic environments Jihad El-Sana a, *, Nir Asis a , Ofer Hadar b a Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva 84105, Israel b Department 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:S0097-8493(02)00127-9

Upload: jihad-el-sana

Post on 15-Sep-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Integrating motion perception with view-dependent rendering for dynamic environments

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

Page 2: Integrating motion perception with view-dependent rendering for dynamic environments

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

Page 3: Integrating motion perception with view-dependent rendering for dynamic environments

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

Page 4: Integrating motion perception with view-dependent rendering for dynamic environments

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

Page 5: Integrating motion perception with view-dependent rendering for dynamic environments

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

Page 6: Integrating motion perception with view-dependent rendering for dynamic environments

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

Page 7: Integrating motion perception with view-dependent rendering for dynamic environments

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

Page 8: Integrating motion perception with view-dependent rendering for dynamic environments

* 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

Page 9: Integrating motion perception with view-dependent rendering for dynamic environments

* 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

Page 10: Integrating motion perception with view-dependent rendering for dynamic environments

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

Page 11: Integrating motion perception with view-dependent rendering for dynamic environments

[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