Subdivision Surfaces?


Hi there,

I’m planning to write a subdivision surface modeller just for fun :-), but there are some things I just can’t make sense of (in terms of subdivision surfaces)…

Maya provides hierarchical subdivision surface modelling while XSI does not. But as far as I understand both of them are true subdivision surfaces because they both use the Catmull-Clark subdivision scheme or another one like Doo-Sabin.

Now I’m wondering if the whole hierarchy thing is actually an improvement or enhancement by Alias or if it is just not yet implemented in XSI? Is it part of a subdiv “specification” (if such a thing exists)?

Honestly I can’t see a major advantage of Maya’s hierarchical modelling over XSI’s subdivisions because you can subdivide the polygon base mesh and so you’re able to get local detail without a hierarchy. Or do I miss something here?

Thanks alot


You’re missing something. Heirachichal subdivs are an Alias specilaisation implemented by one of their research scientists (can’t remember the guys name, but there’s a paper floating about somewhere).

h-subdivs aren’t just about adding detail locally, that detail only exists when you view that level. so you can animate the lightweight level 0 base mesh and all your level 5 wrinkles and lumps will follow.

of course, i’m not sure how many people actually use the heirachy as it can get to be a pig…


does the catmull-clark sheme provide real subdivisions?

as far as I know it just takes the geometry, splits it and averages it. so the surface is only smooth if you apply this sheme some times.

but aren’t real subdivisions supposed to be “always smooth”? like nurbs?


the catmull-clark scheme DOES provide real subdivisions. the algorithm works (generally speaking), like you said, by linearly subdividing and averaging the base mesh. the subdivision surface itself is the result of an infinte number of smoothing operations on this initial base mesh. this is called the limit surface. and the limit surface is almost everywhere a uniform cubic b-spline surface.

well, I really don’t know why this is the case but that’s at least the “definition” of a catmull-clark subdivision surface… :slight_smile:

@playmesumch00ns: thanks, that got alor clearer now. you don’t happen to know the name of that paper you mentioned? couldn’t find it anywhere on the web…


ok, I found a paper about hierarchical subdivs if anybody’s interested. it’s called “Hierarchical Editing And Rendering of Subdivision Surfaces” by Kari Pulli and Michael Lounsbery (both Alias). Did you mean that one?


Could well be mate, honestly can’t remember where I saw it. A quick google brings up a plethora of information, and there’s a bundle of papers on citeseer as well. More than enough to get you started


you’re right that should really be enough to get me going :slight_smile:

just one other question: does anybody know of another 3D package that uses hierarchical subdivs apart from Maya? I’m just familiar with Maya and XSI, but have never bothered to look at MAX, Lightwave or Cinema 4D…


Whether SDS are “real” does not depend on the subdivision scheme (catmull-clark, loop, midpoint) but on the rendering algorithm. “Real” SDS as seen e.g. in PRMan have an adaptive tessellation that produces polygons of < 1 pixel size.


Originally posted by stew
Whether SDS are “real” does not depend on the subdivision scheme (catmull-clark, loop, midpoint) but on the rendering algorithm. “Real” SDS as seen e.g. in PRMan have an adaptive tessellation that produces polygons of < 1 pixel size.

I don’t want to get into a pissing match over something so silly but… Says who? I’ve been working in Computer graphics for over 13 years now and there has never been such a thing as “True” subdivision surfaces. At least, not until Pixar started bragging that they invented them. It’s true that Catmull/Clark (who work for Pixar) did create the algorithm that’s used the most. But subdivision surfaces are by no means defined by that one algorithm. The one used by Maya is based on Catmull/Cark but extends it a bit by adding the hierarchical b-spline technique. Now, be that as it way, usually, when people say “True” subdivision Surfaces, they are usually referring to the Catmull/Clark method. Which, as far as I know, is only supported by SoftImage and Alias (sort of). All the other methods usually based on older algorithm called “Corner cutting” that is very close to Catmull/Clark. One way to test this is the case is to make a box and subdivide it several times. It should turn into a perfect sphere. Usually, like in Lightwave or wings, it’s close but still has a bit of a lop-sided nature to it.



I wasn’t trying to compare subdivision algorithms but adaptive vs fixed tessellation, somewhat related to what’s explained here:

The main issue is IMHO not the subdivision scheme that is being applied with every iteration but wether or not the renderer is actually rendering just a bunch of polygons or a number of CVs that define a surface.

Sorry if that wasn’t clear from my post.


This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.