SubdivisionSurface
From Odwiki
What are Subdivision Surfaces?
This page discusses Catmull-Clark subdivision surfaces. There are other subdivision algorithms (i.e. Doo-Sabin or NURSS surfaces).
The heart of a Subdivision Surface model is simply a polygonal object. The poly object acts as a control cage for the subd surface much like hulls do on a nurb object. At render time the model is adaptively subdivided until features appear smooth. Subdivision Surfaces have advantages of both nurb and poly objects
Advantages
- They render smooth like nurbs with very few edit points
- They can be modeled in a freeform manner like polys, allowing you to branch and cut holes with ease
- You can model as one continuous surface which eliminates tangency problems and seam tearing during deformations (common problems with nurbs models)
- You can model with adaptive detail
Disadvantages
- They don't automatically come with uv coordinates
- It can be difficult to visualize the final surface modeling at the poly cage level
- Pre-smoothing to visualize using the SubdivideSOP sop can be slow
- Rigging objects to lay on the limit surface isn't quick and easy like nurbs
- Houdini doesn't have a way to generate a cage from a mesh, so it can be important that your object is modeled intentionally to be subdivided or it will lose volume.
Houdini/Mantra Specifics
UV Application
Creasing
Rendering
- To render polygonal hulls as sub-division surfaces, turn on the option in the Render tab of a geometry object.
- All of the sub-division options work for mantra. Sub-division surfaces only work for RIB when the RIB geometry is being generated by Houdini (i.e. you won't get sub-d primitives if you render from a disk file which doesn't have sub-d primitives).
- Mantra doesn't support crease attributes. If creasing is required, the hulls should be sub-divided N times (where N is the maximum crease weight) before rendering. This effectively bakes in the creases to the model before mantra sees the geometry.
Renderman Specifics
Not all features of renderman's implementation of subdivision surfaces are supported by Houdini's rib exporter
Supported Features
- Linear interpolation of attributes
- Crease weighting
- facevarying attributes to allow for unshared texture seams
- interpolateboundary tag
Non-Supported Features
- facevaryinginterpolateboundary tag
- Loop subdivision scheme



