The newest research results appear under Publications .
As an alternative to mesh refinement, a quaddominant control mesh is
converted directly to polynomial patches that join smoothly. Our
twopass GPU algorithm addresses meshes with adjacent extraordinary
vertices, triangles, pentagons, and polar configurations. The first pass
constructs the Bezier patches of the final surface using the vertex and
geometry shader, and the second pass evaluates and renders these patches
after sending in a pretessellated domain. The source code is freely
available for educational purposes and has been tested on the following.
(pdf) (movie 9.2MB) (source code, updated 20090224) 
By organizing the control mesh of subdivision in texture memory so that irregularities occur strictly inside independently refinable fragment mesh, all major features of subdivision algorithms can be realized in the framework of highly parallel stream processing. Our implementation of CatmullClark subdivision as a GPU kernel in programmable graphics hardware can model features like semismooth creases and global boundaries; and a simplified version achieves nearrealtime depthfive reevaluation of moderatesized subdivision meshes. The approach is easily adapted to other refinement patterns, such as Loop, DooSabin or sqrt3 and it allows for postprocessing with additional shaders. (pdf) (quicktime movie) 
43 subdivision is an alternative to CatmullClark subdivision on quadrilateral nets and a modification of Loop's scheme for triangulations, plus a simple transition rule. In regular mesh regions, 43 surfaces are C2 (otherwise C1) and generalize two closelyrelated quartic boxsplines. The quadcomponent of 43 has a smaller stencil than CatmullClark and is the unique scheme with a 3 x 3 stencil that can model constant features, aligned with the quad grid or diagonal to it, without ripples. (pdf) 
Subdividable linear efficient function enclosures (Slefes) provide, at low cost, a piecewise linear pair of upper and lower bounds f^+, f^, that sandwich a function f on a given interval: f^ <= f <= f^+. These bounds are observed to be very tight. See papers: [Univariate B\'ezier], [Multivariate], [uniform BSpline], [Optimality] and download the SubLiME package for [Linux/Unix], [Windows] (Version 1.1, updated June 22th 2003) 
We show how a future graphics or visual processor unit, enhanced with random read and write to video memory, can represent, refine and adjust complex meshes arising in modeling, simulation and animation. To leverage SIMD parallelism, a general model based on the mesh atlas is developed and a particular implementation without pointers is proposed in which primal, binary refinement of, possibly mixed, quadrilateral and triangular meshes of arbitrary topological genus, as well as their traversal is supported by usertransparent programmable graphics hardware. Adjustment, such as subdivision smoothing rules, is realized as userprogrammable mesh shader routines. Attributes are generic and can be defined in the graphics application by binding them to one of several general addressing mechanisms. (pdf) 
PCCM transformation creates maximally large, smoothly joining Nurbs patches of order 4 from CatmullClark subdivision meshes. It can be applied after any of the first subdivision steps and creates patches that are maximally large in the sense that one patch corresponds to one quadrilateral facet of the initial, coarsest quadrilateral mesh before subdivision. The patches join $C^2$ almost everywhere and with tangent continuity in the immediate neighborhood of extraordinary mesh nodes, matching the global smoothness of CatmullClark limit surfaces. More... 
C^{1} surface splines represent smooth manifolds that can be
embedded smoothly or nonsmoothly into R^{n}. The connectivity
allows for arbitrary patch layout and the blend ratios for local control
over the distribution of curvature. In particular, sharp features can be
modeled in the same framework by local, intuitive choice of these blend
ratios.
More... The GMOD title page shows a surface spline. We implemented a minimal, portable Cimplementation of Surface splines without major data structure overhead (Read the papers in particular Pcp2Nurb): OpenGL code and VRML output 
To blend implicitly defined constructive solid geometry surfaces, we
are using the zero set of a spline in three variables. The resulting blend
surface is generically curvature continuous, of algebraic degree four independent
of the number of surfaces joined, and supports both point classification
and efficient rendering.
More... 
Artesano provides an intuitive interface to modeling complex
surfaces. It is based on deforming surfaces with virtual tools rather than
by modifying mathematical quantities such as control points or blend ratios.
The virtual tools mimic the tools a designer uses for modeling in clay.
It is primarily intended for the first steps in a design process, where
creativity is more important than exactness in the mathematical sense.
Even though, the models produced are guaranteed to be smooth and can be
easily exported into general CADpackages.
It uses the SurfLab's geometry library using an Open Inventor frontend. A port to WIN32 platforms exists. 

Objects and images created with Artesano 
Efficient and exact calculation of the moments of objects enclosed
by a freeform surface for animation or design. Since the moments, like
the volume, can be computed rapidly, it is possible to solve inverse problems
as, for example, determining the fillheight of a given volume of liquid
in a container in realtime.
Show me the movie QuickTime movie (260k bytes) 
Homotopy illustrating a piecewise linear immersion of the sphere in
3space such that its complement is connected. The representation interpolating
the sphere and the final house has to be capable of continuously increasing
the curvature, resulting in sharp edges in the limit.
Semitransparent
(Draft version, QuickTime 3 Mb)
Bing's house with two rooms
see
wiki

The library consists of a collection of data structures, routines, and
programs to define and manipulate the geometry of Surface Splines
and other parametric representations.
The geometry library is composed of several modules of C++, Maple, and Matlab code. The C++ modules work for SGI IRIX 5.3 and Windows NT. BezierView A small program to visualize Bezier patches and their curvatures. 