I implemented two subdivision schemes for closed surfaces. I chose
Catmull and Clark's scheme [CC78], which
is widely known as Catmull-Clark surfaces and was one of the first subdivision
schemes, as well as Peters and Reif's scheme [PR97],
which was developed recently. Both yield C1 continuity in the
limit. I extended Catmull-Clark surfaces with additional sharp subdivision
rules (constant integer sharpness) proposed by DeRose et al. [DKT98]
to allow the generation of sharp and semi-sharp creases.
My program allows to edit a closed surface and then subdivide it with either method. It has the following basic features:
As you can see in Figure 1 the Catmull-Clark subdivision scheme gives the nicer results. It also seems to converge faster than Peter's scheme. The drawback is that Catmull-Clark subdivision is more complicated to compute. On the other hand the crease extension proposed by DeRose et al. makes it a very powerful method to model curved surfaces.
I think there are two major drawbacks of subdivision surfaces. First it is hard to guess what the subdivided model will look like. Adding a new mode that allows you to edit the original model while the program shows you a subdivided model (2-3 steps should be enough) would probably solve this problem. Secondly there is no ``given'' parameterization of the surface, which makes texture mapping complicated.