Efficient Handling of Deformable Surfaces
Deformable objects may be needed in many computer
graphics and virtual reality applications. They are particularly useful
in modeling clothes, facial expression, human and animal characters. A
common method to render these objects is by tessellation. However, the
tessellation process is computationally very expensive. As an object is
deforming, we need to retessellate the surfaces in every frame. This
computational burden poses a significant challenge to the real-time
rendering of deformable objects. Consequently, deformable objects are
seldom supported in existing virtual reality systems.
In this project, we are developing techniques to support real-time
rendering of deformable objects. Our earlier work focused on objects
represented by NURBS surfaces and we have developed a very efficient
method for rendering deforming NURBS surfaces. The basic idea of our
method is that we maintain two data structures of the deforming surface,
the surface model and a polygon model representing the surface
model. As the surface deforms, the polygon model is not
regenerated through polygonization. Instead, it is incrementally updated
to represent the deforming surface. Two techniques are fundamental to our
method: incremental polygon updating and resolution
refinement.
-
Incremental polygon updating: It is
based on the incremental property of NURBS surfaces. We first precompute a
polygon model to represent each NURBS surface and a set of coefficients
for each control point of the surface. During run-time, we compute the
displacement of each affected control point as the surface
deforms. Instead of retessellating the surface again, we update the
polygon model by the displacement of each control point and the
corresponding set of coefficient.
- Resolution refinement: When a
surface deforms, its curvature is also changed. If the curvature is
increased or decreased by a large amount during the deformation process,
the resolution of the corresponding polygon model may become too coarse or
higher than necessary to represent the deformed surface, respectively. To
overcome this problem, we have developed a method to refine
the resolution of the polygon model and to generate the corresponding
deformation coefficients incrementally according to the change in
local curvature of the surface.
This NURBS rendering method has been extended to cover most of
the parametric surfaces.
Click
here for a gzip'ed demo video (5MB in size) of interactive editing a
human face model.
An efficient method for detecting inter-collisions as well as self-collisions
of deforming NURBS surfaces has also been developed.
Click
here for a demo video (3.7MB in size) on detecting inter-collisions of
two NURBS surfaces.
Click
here for a demo video (3.2MB in size) on detecting self-collisions of
a NURBS surface.
Recently, we have extended the NURBS rendering method for efficient rendering
of trimmed NURBS surfaces.
Click
here for a demo video (5.3MB in size) on trimming and deformation of a
teapot model.
Click
here for a demo video (6.6MB in size) on deformation of a trimmed head
model.
Publications:
-
Gary Cheung,
Rynson Lau, and
Frederick Li,
"Incremental
Rendering of Deformable Trimmed NURBS Surfaces,"
Proceedings of ACM
VRST, pp. 48-55, Oct. 2003.
-
Rynson Lau,
Oliver Chan, Mo Luk,
and
Frederick Li,
"A
Collision Detection Framework for Deformable Objects,"
Proceedings of ACM
VRST, pp. 113-120, Nov. 2002.
-
Frederick Li
and
Rynson Lau,
"Incremental
Polygonization of Deforming NURBS Surfaces,"
Journal of Graphics Tools,
A.K. Peters, 4(4), pp. 37-50, 1999.
-
Frederick Li
and
Rynson Lau,
"Real-Time
Rendering of Deformable Parametric Free-Form Surfaces,"
Proceedings of ACM VRST,
pp. 131-138, December 1999.
-
Frederick Li,
Rynson Lau,
and
Mark Green,
"
Interactive Rendering of Deforming NURBS Surfaces,"
Computer Graphics Forum (special issue on
Eurographics '97), 16(3), pp. 47-56, September
1997.
Last updated on 21st August, 2003.