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
This NURBS rendering method has been extended to cover most of
the parametric surfaces.
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.
An efficient method for detecting inter-collisions as well as self-collisions
of deforming NURBS surfaces has also been developed.
here for a gzip'ed demo video (5MB in size) of interactive editing a
human face model.
here for a demo video (3.7MB in size) on detecting inter-collisions of
two NURBS surfaces.
Recently, we have extended the NURBS rendering method for efficient rendering
of trimmed NURBS surfaces.
here for a demo video (3.2MB in size) on detecting self-collisions of
a NURBS surface.
here for a demo video (5.3MB in size) on trimming and deformation of a
here for a demo video (6.6MB in size) on deformation of a trimmed head
Rynson Lau, and
Rendering of Deformable Trimmed NURBS Surfaces,"
Proceedings of ACM
VRST, pp. 48-55, Oct. 2003.
Oliver Chan, Mo Luk,
Collision Detection Framework for Deformable Objects,"
Proceedings of ACM
VRST, pp. 113-120, Nov. 2002.
Polygonization of Deforming NURBS Surfaces,"
Journal of Graphics Tools,
A.K. Peters, 4(4), pp. 37-50, 1999.
Rendering of Deformable Parametric Free-Form Surfaces,"
Proceedings of ACM VRST,
pp. 131-138, December 1999.
Interactive Rendering of Deforming NURBS Surfaces,"
Computer Graphics Forum (special issue on
Eurographics '97), 16(3), pp. 47-56, September
Last updated on 21st August, 2003.