a unified subdivision scheme for polygonal modeling

10
EUROGRAPHICS 2001 / A. Chalmers and T.-M. Rhyne (Guest Editors) Volume 20 (2001), Number 3 A Unified Subdivision Scheme for Polygonal Modeling Jérôme Maillot Jos Stam Alias Wavefront Alias Wavefront 210 King St. E. 1218 Third Ave, Suite 800 Toronto, Ontario, Canada M5A 1J7 Seattle, WA 98101 [email protected] [email protected] Abstract Subdivision rules have traditionally been designed to generate smooth surfaces from polygonal meshes. In this paper we propose to employ subdivision rules as a polygonal modeling tool, specifically to add additional level of detail to meshes. However, existing subdivision schemes have several undesirable properties making them ill suited for polygonal modeling. In this paper we propose a general set of subdivision rules which provides users with more control over the subdivision process. Most existing subdivision schemes are special cases. In particular, we provide subdivision rules which blend approximating spline based schemes with interpolatory ones. Also, we generalize subdivision to allow any number of refinements to be performed in a single step. 1. Introduction Subdivision surfaces have recently emerged as the most pop- ular modeling tool in computer graphics. This is not surpris- ing since these surfaces combine the benefits of both polygo- nal and spline NURBS modeling. Subdivision surfaces, like NURBS, allow users to model smooth surfaces by manipu- lating a small set of control vertices. Unlike NURBS, how- ever, there is no constraint on the connectivity of the control vertices. The first subdivision schemes were proposed in the late seventies 13 , while later research has focused generally on the properties of the limit surface, such as smoothness 14 19 and evaluation 16 . Properties of subdivision surfaces are now well understood, making them attractive in design applica- tions. But, subdivision is rarely used as a polygonal model- ing tool. Very little attention has been devoted to the influ- ence of the first couple of subdivision steps on the final shape of the surface. However, in practice it turns out that the initial subdivision steps greatly influence the shape of the surface. In this paper we address this problem by adding more pa- rameters to the subdivision rules thus providing more user control. This is in contrast with previous research where the shape of the surface was improved by changing the initial control mesh, not the subdivision rules themselves 6 . An important application of our new subdivision rules is the generation of level of detail on arbitrary meshes. We will Fig. 1-a Fig. 1-b Fig. 1-c Figure 1: Each refinement step of the Catmull-Clark algo- rithm shrinks the convex areas. The difference between two levels is strongest along the silhouette of the models. demonstrate that our schemes can efficiently compress such models for transfers over small bandwidth networks. 2. Motivation Current subdivision rules applied to the problem of generat- ing level of detail suffer from two major limitations. Firstly, the most popular spline-based schemes 1 3 13 produce sur- faces that approximate the base mesh. The limit surface, especially in locally convex areas, is smaller than the base mesh. This is because the refined control meshes progres- sively shrink towards the limit surface. Consequently, no- ticeable “popping effects” occur when switching between meshes at different levels of resolution. c The Eurographics Association and Blackwell Publishers 2001. Published by Blackwell Publishers, 108 Cowley Road, Oxford OX4 1JF, UK and 350 Main Street, Malden, MA 02148, USA.

Upload: independent

Post on 11-Nov-2023

1 views

Category:

Documents


0 download

TRANSCRIPT

EUROGRAPHICS 2001 / A. Chalmers and T.-M. Rhyne(Guest Editors)

Volume 20(2001), Number 3

A Unified Subdivision Scheme for Polygonal Modeling

Jérôme Maillot Jos StamAliasjWavefront AliasjWavefront210 King St. E. 1218 Third Ave, Suite 800

Toronto, Ontario, Canada M5A 1J7 Seattle, WA [email protected] [email protected]

Abstract

Subdivision rules have traditionally been designed to generate smooth surfaces from polygonal meshes. In thispaper we propose to employ subdivision rules as a polygonal modeling tool, specifically to add additional levelof detail to meshes. However, existing subdivision schemeshave several undesirable properties making them illsuited for polygonal modeling. In this paper we propose a general set of subdivision rules which provides userswith more control over the subdivision process. Most existing subdivision schemes are special cases. In particular,we provide subdivision rules which blend approximating spline based schemes with interpolatory ones. Also, wegeneralize subdivision to allow any number of refinements tobe performed in a single step.

1. Introduction

Subdivision surfaces have recently emerged as the most pop-ular modeling tool in computer graphics. This is not surpris-ing since these surfaces combine the benefits of both polygo-nal and spline NURBS modeling. Subdivision surfaces, likeNURBS, allow users to model smooth surfaces by manipu-lating a small set of control vertices. Unlike NURBS, how-ever, there is no constraint on the connectivity of the controlvertices.

The first subdivision schemes were proposed in the lateseventies1; 3, while later research has focused generally onthe properties of the limit surface, such as smoothness14; 19

and evaluation16. Properties of subdivision surfaces are nowwell understood, making them attractive in design applica-tions. But, subdivision is rarely used as a polygonal model-ing tool. Very little attention has been devoted to the influ-ence of the first couple of subdivision steps on the final shapeof the surface. However, in practice it turns out that the initialsubdivision steps greatly influence the shape of the surface.In this paper we address this problem by adding more pa-rameters to the subdivision rules thus providing more usercontrol. This is in contrast with previous research where theshape of the surface was improved by changing the initialcontrol mesh, not the subdivision rules themselves6.

An important application of our new subdivision rules isthe generation of level of detail on arbitrary meshes. We will

Fig. 1-a Fig. 1-b Fig. 1-c

Figure 1: Each refinement step of the Catmull-Clark algo-rithm shrinks the convex areas. The difference between twolevels is strongest along the silhouette of the models.

demonstrate that our schemes can efficiently compress suchmodels for transfers over small bandwidth networks.

2. Motivation

Current subdivision rules applied to the problem of generat-ing level of detail suffer from two major limitations. Firstly,the most popular spline-based schemes1; 3; 13 produce sur-faces that approximate the base mesh. The limit surface,especially in locally convex areas, is smaller than the basemesh. This is because the refined control meshes progres-sively shrink towards the limit surface. Consequently, no-ticeable “popping effects” occur when switching betweenmeshes at different levels of resolution.

c The Eurographics Association and Blackwell Publishers 2001. Published by BlackwellPublishers, 108 Cowley Road, Oxford OX4 1JF, UK and 350 Main Street, Malden, MA02148, USA.

Maillot & Stam / A Unified Subdivision Scheme for Polygonal Modeling

Fig. 2-a Fig. 2-b Fig. 2-c

Figure 2: Each Catmull-Clark refinement increases thenumber of faces by four, thus making few levels of detailavailable in practice.

Figure 1 shows one (1-a) and two (1-b) Catmull-Clark re-finements applied to the same cube. Figure 1-c shows thedifference between these two meshes. Dark areas correspondto larger differences and are mainly concentrated near thesilhouette of the mesh. The difference is even larger if wecompare the initial cube with the first subdivision level (3-d). Although the differences are less important between finerlevels of subdivision, they remain substantial for the firstfewlevels.

Interpolatory schemes have also been proposed5; 9; 11, butthey suffer from the opposite problem. Limit surfaces tendto bulge out of the polygonal control mesh, and successivesubdivision steps converge to a surface that is too big. Theyalso introduce undesirable undulations in the refined meshes.

Another problem with current subdivision schemes is thatthe number of refined faces grows exponentially with thenumber of subdivisions. In many applications, we want toincrease the number of faces by an arbitrary number insteadof some power of four (Catmull-Clark) as shown in Figure 2.This problem was partially addressed with the introductionofp

3-subdivision schemes10; 11, where the number of trian-gles increases only by a factor of three at each subdivisionstep. However, in these schemes the number of triangles stillincreases exponentially by a power of three and they do notseem to extend to quadrilaterals or schemes of higher de-gree. Finally, these schemes do not preserve the initial tri-angle boundaries, which leads to a sudden change in coloror texture interpolation between two consecutive subdivisionlevels. In practice, this means that even a simple object canonly be refined three or four times before the level of detaildatabase becomes too large. It turns out that this constrainton the number of refinements is generally too small to effi-ciently control the geometry’s resolution in a real time ren-dering application.

3. From Approximation to Interpolation

In order to address the silhouette problem, we propose a sin-gle parameterized scheme which is a blend of an approxi-mating and an interpolating scheme. We will show that theseintermediaterules do a better job at preserving the silhouetteand the volume of the meshes.

Fig. 3-a Fig. 3-b Fig. 3-c

Fig. 3-d Fig. 3-e

Figure 3: Silhouette improvement using our new scheme.Figure 3-b was built using Catmull-Clark algorithm,while 3-b uses our method. The bottom row show the imagedifference is both cases.

Our work is based on subdivision rules built as a succes-sion of a linear subdivide operator followed by a numberof smoothingsteps17. This framework is general enough towork for both triangular and quadrilateral meshes, and pro-duces uniform B-splines of any odd degreep on the regularpart of the mesh. We introduce an extra vertex moving stepon the subdivided geometry to handle interpolation.

3.1. The Curve Case

As is usually the case in subdivision papers, we will firstdescribe our schemes in a curve setting and then generalizethem to surfaces.

3.1.1. Subdivision Into any Number of Pieces

Stam17 showed that B-splines of odd degreep could be sub-divided by first linearly subdividing the control mesh andthen performingm= p�1

2 smoothing steps. Each step in-volves averaging a vertex with its immediate neighbors us-ing the [ 1

412

14 ] weights. The novelty over the well known

Lane-Riesenfeld algorithm12 is that this scheme performstwo averaging steps at once and therefore leaves the controlvertices “in place.”

Stam’s result relies on the fact that the subdivision masksare related to the binomial coefficients2. The binomial coef-ficients are easily computed using Pascal’s triangle:

11 � 1 112 � 1 2 114 � 1 3 3 118 � 1 4 6 4 1

c The Eurographics Association and Blackwell Publishers 2001.

Maillot & Stam / A Unified Subdivision Scheme for Polygonal Modeling

α = 0 α = 12 α = 1

Figure 4: Refinement steps 1, 2, and limit curve of ourscheme, using degree three interpolation and differentα val-ues. A division value d= 2 was used for each step.

For example, from the last line we obtain the subdivisionmasks for B-spline curves of degree three. Every old vertexis updated using the[ 1

868

18 ] weights, while the new vertices

are inserted between the old vertices using the[ 48

48 ] masks.

The crucial observation is that these two masks are obtainedby simply applying the[ 1

412

14 ] mask to the second row, which

corresponds to the subdivision rules of linear subdivision. Infact, this construction is easily generalized to any numberofsubdivisionsd. In this case we generalize the Pascal trian-gle to take the average of thed elements in the row directlyabove it:

11 1

1 2 1

11 1 1

1 2 3 2 1

11:::1

1 2:::d:::2 1

This gives us a recipe similar to the one found inStam 17 to compute the corresponding masks for thesesubdivision schemes. First linearly subdivide each segmentinto d pieces, then smooth each vertex using the mask1d2 [1;2; :::;d; :::;2;1]. In the limit this process generates B-spline curves of degree 2m+1 if the smoothing is appliedmtimes. See Chui’s monograph2 for a rigorous proof.

3.1.2. Blending Interpolating and ApproximatingSchemes

In order to limit the amount of shrinking characteristic ofapproximating subdivision schemes, we propose to add anextra step which updates the position of the vertices aftersmoothing. We call this apush-backstep: each original ver-tex is moved back towards its original position by an amount

controlled by the user. Newly introduced vertices are alsoadjusted by linear interpolation of the adjusted original ver-tices. We denote byPj the new vertices obtained by subdi-viding the original verticesP0i . In the rest of the paper, “:=”denotes assignment, while “=” denotes a true equality oftwo quantities. In these notations, the first step is:

Pdi := P0i (1)

Pdi+k := d�kd

P0i + kd

P0i+1 ; 0< k < d (2)

This step is followed by a smoothing step that modifiesthe verticesPi :

Pi := 1d2

dPi + k<d

∑k=1

(d�k)(Pi�k+Pi+k)! (3)

Finally, the smoothing step is followed by a push-back ofthese new vertices:

∆i := α(P0i �Pdi) (4)

Pdi := Pdi +∆i (5)

Pdi+k := Pdi+k+ d�kd

∆i + kd

∆i+1 0< k< d (6)

All evaluations are done in parallel in a “Jacobi manner”to avoid any side effects. In practice this requires the useof an intermediate array to store the vertices’ positions. Thevolume parameterα controls the transition from approxima-tion to interpolation. Whenα = 0 there is no push-back stepand the subdivision scheme produces uniform B-splines inthe limit. On the other hand, whenα = 1 our schemes are in-terpolatory. Figure 4 shows the influence of the parameterαon the subdivided control vertices after several refinements.

When the degreep is greater than three, the smoothingand push-back steps are repeatedp�1

2 times. In particular,when p = 3 andd = 2, only one smoothing and one push-back step are performed. In this case we can explicitly writedown the subdivision matrix applied to five consecutive con-trol vertices:

M =0BBBB@ 2�2α 4(3+α) 2�2α 0 0�α 8+α 8+α �α 00 2�2α 4(3+α) 2�2α 00 �α 8+α 8+α �α0 0 2�2α 4(3+α) 2�2α

1CCCCA0BBBB@ P2i�2P2i�1P2i

P2i+1P2i+2

1CCCCA = 116

M:0BBBB@ P0i�2P0i�1P0i

P0i+1P0i+2

1CCCCA (7)

c The Eurographics Association and Blackwell Publishers 2001.

Maillot & Stam / A Unified Subdivision Scheme for Polygonal Modeling

V’0 V’1

V’2

V’3

V’4

V0 V1

V2

V3

V4

E1 E2

E3

E5E4

E0

F0

Fig. 5-a Fig. 5-b

Figure 5: Subdivision of quadrilaterals and triangles. Eachsubdivision produces V , E, and F vertex types. Faces with 5and more vertices use the quadrilateral subdivision rule.

In particular, whenα = 1, the P2i are moved back ex-actly to their original positionP0i , and we obtain the wellknown four point interpolation scheme, with[�1

16916

916�116 ]

weights4.

3.2. Generalization to Surfaces

The surface case is similar to the curve one: we perform onebilinear subdivision step followed by a smoothing step.

3.2.1. Binary Subdivisions

We first define our rules for binary subdivision schemeswhend= 2. We introduce the following notations. The num-ber of elements in a setA is denoted byA]. The vertices ofthe mesh before a subdivision step are denoted byV 0

i . Duringa subdivision step these vertices are transformed into newverticesVi . At the same time new verticesEi are introducedby splitting each edge, and new verticesFi are introducedfor each face as in Figure 5. LetP be a vertex of the mesh,thenE(P) is the set containing all the vertices sharing anedge withP. The setC(P) contains the “corner vertices:” thevertices sharing a face withP not inE(P). To illustrate thesedefinitions refer to Figure 5 whereE(V2) = fE2;E3;E5g, andC(E3) = fE1;E2g.

In the rest of this paper we will focus entirely on quadri-lateral schemes. However, triangular schemes can be treatedin a similar way, with the exception that there are nofaceverticesFi, andC(V) is always empty. In fact, our imageswere produced from meshes containing simultaneously tri-angles and quadrilaterals. Only the subdivision step mustdistinguish between those two types of faces.

Stam provides different smoothing rules for the verticesthat result in uniform B-spline surfaces in the limit on theregular part of the mesh17. The simplest smoothing algo-rithm which corresponds to “repeated averaging”20 replaceseach vertex by a weighted average of its direct neighbors:

Ni = E(Vi)] (8)

Fig. 6-a Fig. 6-b.α = 0 Fig. 6-c.α = :7Fig. 6-d.α = 0 Fig. 6-e.α = :7

Fig. 6-f Fig. 6-g

Figure 6: Influence of parameterα on silhouette changes.

Vi := 14

Vi + 12Ni

∑P2E(Vi)P+ 1

4Ni∑

P2C(Vi)P (9)

Catmull-Clark surfaces are obtained with a differentchoice for the weights:

Vi := Ni �3Ni

Vi + 2

N2i

∑P2E(Vi)P+ 1

N2i

∑P2C(Vi)P (10)

We observe that Formulae 9 and 10 are identical whenNi = 4. This comes as no surprise since both of theseschemes produce uniform B-spline surfaces on regularmeshes (Ni = 4 everywhere). We further observe that, whenNi 6= 4, the Catmull-Clark rule can be obtained by follow-ing Formula 9 with an adjustment of all the extraordinaryvertices:

δi = ( 4Ni�1)Vi + Ni �4

NiV0

i (11)= Ni �4Ni

(V0i �Vi) (12)

Vi := Vi + γδi (13)

The parameterγ allows us to interpolate between the two

c The Eurographics Association and Blackwell Publishers 2001.

Maillot & Stam / A Unified Subdivision Scheme for Polygonal Modeling

β = 0 β = 12

β = 12 β = 1

Figure 7: Influence ofβ parameter. The original cube is dis-played as wireframe.

schemes. Not only does this adjustment unify these twoschemes, but it simplifies the implementation of the Catmull-Clark subdivision: a simple smoothing followed by a vertexupdate step.

Following the curve case, the simplest push-back step isto compute the differences∆i betweenV 0

i andVi , followedby a (bi-)linear interpolation of these differences for thenewEi andFi vertices.

∆(Vi) = α(V0i �Vi) (14)

∆(Ei) = 12(∆(V0)+∆(V1)) (15)

∆(Fi) = 1E(Fi)] ∑Ek2E(Fi)∆(Ek) (16)= 1C(Fi)] ∑Vk2C(Fi)∆(Vk) (17)

In Figure 6 we demonstrate how theα parameter improvesthe silhouette difference between a polygonal object and itsrefinements. Figure 6-a is the original model, while Figures6-b through 6-e illustrate the first and second refinements forα = 0 (Catmull-Clark) andα = :7. Figure 6-f (resp. 6-g) isthe difference between 6-a and 6-d (resp. 6-e). During ananimation, the popping effect can be substantially reducedby choosing an appropriateα value.

However, close to very sharp corners our scheme tends tocreate flat areas around the face centers. The reason is thata bilinear interpolation of vectors of the same length with

d = 2 d = 3

Figure 8: Each face is divided in d�d smaller one.

F1

F2

F3

V3

V2

V1

F1

F2

V2

V1

F1

F2

V2

V1

Figure 9: Vertex [face] neighborhoodsVk [Fk] are definedby adding one more ring to the previous set.

different angles produces smaller vectors at the center of thefaces. This is a well know artifact of certain renderers, whichdo not renormalize vertex normals after interpolation, andconsequently produce darker areas in the face centers.

We can fix this problem by introducing a renormalizationstep for the interpolation of the∆ vectors. This is achieved byinterpolating the length and direction of the∆ vectors sepa-rately. To smooth the transition between these new rules andthe ones without the normalization, we introduce aroundingfactor parameterβ.

l(Ei) = β jj∆(V0)jj+ jj∆(V1)jj2jj∆(Ei)jj +1�β (18)

l(Fi) = β∑Vk2E(Fi) jj∆(Vk)jjE(Fi)]jj∆(Fi)jj +1�β (19)

∆(Ei) := l(Ei)∆(Ei) (20)

∆(Fi) := l(Fi)∆(Fi) (21)

Whenβ= 0 there is no renormalization, while whenβ= 1the lengths of the∆ are exactly interpolated. In the caseβ 6= 0 our subdivision rules do not reproduce uniform B-splines on the regular part of the mesh in the limit. Thisdoesn’t matter since we do not use our rules to generate limitsurfaces. Figure 7 illustrates how our meshes are deformedwhenβ is increased. For a cube,β = 1

2 produces the most“rounded” meshes. Note that in this example we haveγ = 0(no Catmull-Clark) to emphasize the flattening problem.

3.2.2. Subdivision Into any Number of Pieces

For regular meshes the corresponding limit surfacesΣ(s; t)are equal to a tensor product of uniform B-spline curves.Therefore, the subdivision scheme for these surfaces is

c The Eurographics Association and Blackwell Publishers 2001.

Maillot & Stam / A Unified Subdivision Scheme for Polygonal Modeling

simply a linear subdivision step followed by a smoothingstep with a mask equal to the tensor product of the mask1d2 (1;2; :::;d; :::;2;1) derived in Section 3.1.1.

These rules are naturally extended to irregular regions.In practice, it turns out that it is easier to decompose thesmoothing step into two simple averaging steps. The averag-ing step is different depending on whetherd is odd or even.In the odd case we replace each vertex by a simple averageof its k-ring neighborhood, wherek= d�1

2 . Whend is even,each averaging step replaces each face with a vertex that isthe average of thek-ring of vertices surrounding it, wherek = d

2 . The new vertices after this step form the dual of theinitial mesh. In practice, however, the dual is never explic-itly computed since the averaging step is always performedtwice (an even amount in general since we consider only odddegreesp in this paper). Indeed, after two dualizations thevertices are again “in place.”

More formally, letVk(Vi) be the set of all vertices whichcan be reached fromVi by traversing at mostk faces and letFk(Vi) denote the corresponding set of the faces traversed.See figure 9 for some examples. We also define a set of faceneighborhoods byVk(Fi) = [V2FiVk(V).

Using these definitions we can explicitly state the smooth-ing steps. Whend is odd, we apply the following rulep�1times, wherek = d�1

2 :

Vi := 1Vk(Vi)] ∑Vj2Vk(Vi)Vj (22)

When d is even the procedure only works for odd de-greesp. We set the neighborhood tok = d

2 , and we apply

the rule (23)p�12 times followed by (24):

Fi := 1Vk(Fi)] ∑Vj2Vk(Fi)Vj (23)

Vi := 1Fk(Vi)] ∑Fj2Fk(Vi)Fj (24)

In practice, we limited our application to odd degrees onlyso that no constraint is necessary on the number of subdivi-sionsd.

3.3. Catmull-Clark Correction

The Catmull-Clark correction step defined by Formula 11was introduced for the cased = 2 and is only applied to theextraordinary vertices of the mesh. For arbitrary divisions dwe observe that this correction only influences a small neigh-borhood around each extraordinary vertex. More precisely,this correction never propagates further than two rings offaces around the extraordinary vertex as shown in Figure 10.

1 0 0

000

000 0

0

0

0

0000

0 0 0 0

0

0

0 0

14

416

6

624

24

36

Figure 10: Catmull-Clark correction weights of the first twosteps, along theNi�4

Ni(V 0

i �Vi) vector. Weights in the rightimage are meant to be divided by 64.

In addition, the correction is only noticeable in the firstcouple of subdivision steps. The first subdivision step pro-duces the most visible change which from Formula 11 isequal toCi = Ni�4

Ni(V0

i �Vi). Subsequent subdivisions pro-duce changes,wiCi , which are proportional to the first oneby a weightwi . It is possible to compute these weights ex-actly for the first couple of subdivision steps. These sampledweights then define a piecewise bilinear function on the unitsquare that can be used to compute the corresponding weightvalues whend is a power of two. For more generald valuesthe weights can be interpolated from this function.

In practice, however, we found that a similar behavior canbe achieved using the push-back step described in the nextsection. The effect of the Catmull-Clark correction can beemulated by using a higherα value and by adjusting theβparameter. This is apparent in Figure 7, where a valueβ = 1

2produces a “rounded” spherical shape despite the fact thatγ = 0.

3.4. Push-back Step

The push-back is similar to thed = 2 case described above:we first compute the∆ values for the original vertices andthen update the newly introduced vertices using bilinear in-terpolation. In a similar fashion we can use the normalizedinterpolation of the∆ values to keep the lengths equal.

For evend, the push-back step can only be applied afterRules (23) and (24) have been applied. This is because itdoesn’t make any sense to apply the push-back to the “in-termediate” verticesFi which are only used temporarily tocompute the new vertex positions. To make our algorithmconsistent for every number of divisionsd, we restrict ouralgorithm to only perform the push-back for oddd whenRule (22) is applied twice.

We first intended to use a smoother interpolation of the∆values, but after some experimentation with higher order in-terpolation schemes we concluded that the differences weretoo small to justify a more expensive interpolant.

c The Eurographics Association and Blackwell Publishers 2001.

Maillot & Stam / A Unified Subdivision Scheme for Polygonal Modeling

4. Application to Level of Detail

The motivation behind our work was to provide users witha simple smoothing tool for polygonal meshes. The smooth-ing operation allows users to create refined versions of theirmodels. Crucial to the success of such a model is that thetransitions between the different resolutions of the meshesare almost imperceptible.

In practice, we found that our new subdivision schemeworked best when we used a push-back step withα = 1

2 ,β = 1

2 andγ = 0. Indeed, these are the default values of oursmoothing tool. Of course, we expose these parameters tothe artist who can freely explore the effect of varying the pa-rameters to meet her particular needs. Although this mightbe tricky, it is a huge improvement over current practice,where artists sometimes have to adjust individual verticesateach level of refinement. With our model, on the other hand,artists only have to worry about a few parameters at eachlevel.

Sending the different levels of detail of the mesh to a re-mote viewer is also much more efficient with our representa-tion. Instead of sending the coarse mesh and the updates foreach level of resolution as in the progressive meshes com-pression scheme8, we only require a few numerical param-eters to be sent for each level. Consequently, remote viewerscan almost instantly view any level of the mesh refinement.Of course our scheme is not as general as the progressivemeshes compression scheme, but we found that in practice itapplies to many interesting shapes.

Even when the higher resolution meshes are supple-mented with a set of detail offsets for each vertex we believethat our approach offers a better starting point for the basemeshes and results in substantial savings in both memoryand speed.

5. Results

The images in Figure 11 show meshes of a game charac-ter at different levels of detail. The first image shows thebase mesh. Subsequent images are created using our newsubdivision scheme with different resolutions, ranging fromd = 2 to d = 7. In each case we set our parameters toα = :5;β = 0;γ = 0; p= 3. Notice that there is very little dif-ference in the silhouette between the levels. Applying stan-dard approximating subdivision schemes to the base meshwould have resulted in more shrinking and restricted us toonly three different levels due to the exponential increaseinthe number of vertices with each subdivision.

We also performed some animation tests where we inter-actively switch between different levels of detail dependingon the distance of the model to the camera. The dog imagesin the color plate were extracted from one such test. Com-pare the sequence computed using the standard Catmull-Clark (left column) to the ones computed using our newscheme (right column).

Figure 11: Eight different resolutions of the same model

c The Eurographics Association and Blackwell Publishers 2001.

Maillot & Stam / A Unified Subdivision Scheme for Polygonal Modeling

The bottom two images in the Color Plate demonstratethat texture coordinates can be interpolated in the same man-ner. These models were used in an actual game where lowresolution textures are crucial to keep the texture memoryconsumption as low as possible.

6. Conclusion

In this paper we have presented a novel set of subdivisionrules specifically designed for the problem of creating dif-ferent levels of detail for meshes. Our models depend on afew parameters that an artist can adjust to achieve various ef-fects. Existing approximating and interpolating subdivisionschemes are special cases of our new scheme. The advan-tages of our new scheme over existing ones is that (1) weprovide user control over the amount of shrinking and (2)we allow arbitrary refinements which do not grow exponen-tially. These two features make subdivision schemes moreattractive in the realm of polygonal modeling.

Our new rules are quite easy to implement. The entiresubdivision system was coded as a MAYA plug-in in onlyroughly 500 lines of C++ code. We were able to interact inreal time with our models on a relatively modest desktop ma-chine (O2, R5000). Of course, this was true only when ourdivision numberd was approximately between 2 and 6.

Our subdivision schemes allow both quadrilaterals and tri-angles to co-exist in a mesh and its refined versions. This isin contrast to existing subdivision schemes which generatemeshes which are either all triangles or all quadrilaterals.Artists often want to keep both triangles and quadrilater-als in their models. Also it is well known that triangles ina base mesh create artifacts in the refined meshes when aquad-based subdivision scheme is used. The reason that wecan incorporate both triangles and quadrilaterals simultane-ously in our subdivision scheme is that our scheme is basedon a decomposition of the rules into a linear step followedby smoothing.

7. Future work

A straightforward extension of our model is to allow our pa-rameters to vary on the mesh. These values could be paintedonto the mesh by the artist for additional control, for exam-ple. However, we found that our current scheme providedenough flexibility with theα;β and γ parameters fixed foreach level. On the other hand, allowing the parameters tovary in very localized regions could still be helpful in cer-tain applications.

In this paper we have ignored the properties of the limitsurfaces generated by our schemes. The reason for this omis-sion is that we are interested solely in the shape of a fi-nite number of intermediate meshes, not in the limit surface.On the other hand our new schemes might be useful in sur-face design as well. In this case it is important to study the

smoothness of the limit surface. At this point it is not clearhow the smoothness depends on our parameters. We leavethis as an open problem for future research.

Also, we did not pay much attention to creases and ob-ject boundaries. Boundaries and creases can be dealt withby applying our curve rules to the corresponding polylines.Vertex creases are more difficult to handle. This is becausecreased vertices are not updated during our smoothing step.Consequently the push-back vertex is always zero, resultingin undesirable wrinkles in the meshes. More work is neededin this case to improve the behavior of the refined shape.

Finally, we found that the optimal set of parameters, es-pecially α, depends on the camera position. This is partic-ularly visible for a simple object like a cube, where largervalues ofα are required when viewed from the side. One so-lution would be to allow the user to specify different valuesof α for different views of an object. Our system would thenautomatically interpolateα values for intermediate viewingpositions as the camera moves.

Acknowledgments

The help and comments of A|W artists have been very usefulin order to understand the level of detail problems. We wouldlike to thank particularly C. Chaix, J. Bell, and P. Pattel whobuilt the objects we used.

References

1. E. Catmull, J. Clark. Recursively Generated B-SplineSurfaces On Arbitrary Topological Meshes.ComputerAided Design, 10(6):350–355, 1978.

2. C.K. Chui. Multivariate Splines.CBMS-NSF RegionalConference Series in Applied Mathematics. SIAM,Philadelphia, PA, 1988.

3. D. Doo, M. A. Sabin.Behaviour Of Recursive Subdi-vision Surfaces Near Extraordinary Points..ComputerAided Design, 10(6):356–360, 1978.

4. N. Dyn, D. Levin, J. Gregory. A 4-point interpolatorysubdivision scheme for curve design.CAGD 4, 257–268, 1987.

5. N. Dyn, D. Levin, J. Gregory. A Butterfly SubdivisionScheme for Surface Interpolation with Tension Control.ACM Trans. Graph. 9, 160–169, 1990.

6. M. Halstead, M. Kass, T. DeRose.Efficient, Fair In-terpolation Using Catmull-Clark Surfaces.ComputerGraphics Proceedings, Annual Conference Series, 35–44, August, 1993.

7. H. Hoppe, T. DeRose, T. Duchamp, M. Halstead, H.Jin, J. McDonald, J. Schweitzer, W. Stuetzle.Piece-wise smooth surface reconstruction.Computer Graph-ics Proceedings, Annual Conference Series, 295–302,July, 1994.

c The Eurographics Association and Blackwell Publishers 2001.

Maillot & Stam / A Unified Subdivision Scheme for Polygonal Modeling

8. H. Hoppe. Progressive Meshes.Computer GraphicsProceedings, Annual Conference Series, 99-108, Au-gust, 1996.

9. L. Kobbelt. Interpolatory subdivision on open quadri-lateral nets with arbitrary topology.Computer Graph-ics Forum 15(3), 409–420, September, 1996.

10. L. Kobbelt.p

3-Subdivisions.Computer Graphics Pro-ceedings, Annual Conference Series, pages 103–112,July, 2000.

11. U. Labsik, G. Greiner. Interpolatoryp

3-Subdivision.Proceedings of Eurographics 2000, Computer GraphicsForum, 19(3):131–138, September, 2000.

12. J.M. Lane, R. F. Riesenfeld.A Theoretical Devel-opment For the Computer Generation and Display ofPiecewise Polynomial Surfaces.IEEE Transactions onPattern Analysis and Machine Intelligence, 2(1):35–46,January, 1980.

13. C.T. Loop. Smooth Subdivision Surfaces Based on Tri-angles.M.S. Thesis, Department of Mathematics, Uni-versity of Utah, August, 1987.

14. U. Reif. A Unified Approach To Subdivision AlgorithmsNear Extraordinary Vertices.Computer Aided Geomet-ric Design, 12:153–174, 1995.

15. U. Reif. A degree estimate for subdivision surfaces ofhigher regularity.Proceedings of the American Mathe-matical Society, 124:2167–2174, 1996.

16. J. Stam. Exact Evaluation of Catmull-Clark Subdivi-sion Surfaces at Arbitrary Parameter Values.In Com-puter Graphics Proceedings, Annual Conference Series,pages 395–404, July, 1998.

17. J. Stam. On Subdivision Schemes Generalizing Uni-form B-Spline Surfaces of Arbitrary Degree.ComputerAided Geometric Design 18, Special issue on Subdivi-sion Surfaces (to appear), 2001.

18. H. Weimer, J. Warren. Subdivision Schemes for ThinPlate Splines.Proceedings of Eurographics 1998, Com-puter Graphics Forum, 17(3):303–313, 1998.

19. D. Zorin. Subdivision and Multiresolution SurfaceRepresentations.PhD thesis, Caltech, Pasadena, Cali-fornia, 1997.

20. D. Zorin, P. Schröder. A Unified Framework for Pri-mal/Dual Quadrilateral Subdivision Schemes.Com-puter Aided Geometric Design 18, Special issue onSubdivision Surfaces (to appear), 2001.

c The Eurographics Association and Blackwell Publishers 2001.

Maillot & Stam / A Unified Subdivision Scheme for Polygonal Modeling

Catmull-Clark α = :5

coarse mesh α = :7;d = 3

c The Eurographics Association and Blackwell Publishers 2001.