In the field of 3D computer graphics, a **subdivision surface** is a method of representing a smooth surface via the specification of a coarser polygon mesh. The smooth surface can be calculated from the coarse mesh as the limit of an iterative process of subdividing each polygonal face into smaller faces that better approximate the smooth surface.

The subdivision surfaces algorithm is recursive in nature. The process starts with a given polygonal mesh. A **Refinement Scheme** is then applied to this mesh. This process takes that mesh and subdivides it, creating new vertices and new faces. The positions of the new vertices in the mesh are computed based on the positions of nearby old vertices. In some refinement schemes, the positions of old vertices might also be altered (possibly based on the positions of new vertices).

This process produces a denser mesh than the original one, containing more polygonal faces. This resulting mesh can be passed through the same refinement scheme again and so on.

The limit subdivision surface is the surface produced from this process being iteratively applied infinitely many times. In practical use however, this algorithm is only applied a limited, and usually fairly small, number of times.

Mathematically, the neighborhood of an extraordinary point (non-4-valent node for quad refined meshes) of a subdivision surface is a spline with a parametrically singular point ^{[1]}.

Subdivision surface refinement schemes can be broadly classified into two categories: interpolating and approximating. Interpolating schemes are required to match the original position of vertices in the original mesh. Approximating schemes are not; they can and will adjust these positions as needed. In general, approximating schemes have greater smoothness, but the user has less overall control of the outcome. This is analogous to spline surfaces and curves, where Bézier curves are required to interpolate certain control points, while B-Splines are not.

There is another division in subdivision surface schemes as well: the type of polygon that they operate on. Some function for quadrilaterals (quads), while others operate on triangles.

Approximating means that the limit surfaces approximate the initial meshes and that after subdivisio

The subdivision surfaces algorithm is recursive in nature. The process starts with a given polygonal mesh. A **Refinement Scheme** is then applied to this mesh. This process takes that mesh and subdivides it, creating new vertices and new faces. The positions of the new vertices in the mesh are computed based on the positions of nearby old vertices. In some refinement schemes, the positions of old vertices might also be altered (possibly based on the positions of new vertices).

This process produces a denser mesh than the original one, containing more polygonal faces. This resulting mesh can be passed through the same refinement scheme again and so on.

The limit subdivision surface is the surface produced from this process being iteratively applied infinitely many times. In practical use however, this algorithm is only applied a limited, and usually fairly small, number of times.

Mathematically, the neighborhood of an extraordinary point (non-4-valent node for quad refined meshes) of a subdivision surface is a spline with a parametrically singular point ^{[1]}.

Subdivision surface refinement schemes can be broadly classified into two categories: interpolating and approximating. Interpolating schemes are required to match the original position of vertices in the original mesh. Approximating schemes are not; they can and will adjust these positions as needed. In general, approximating schemes have greater smoothness, but the user has less overall control of the outcome. This is analogous to spline surfaces and curves, where Bézier curves are required to interpolate certain control points, while B-Splines are not.

There is another division in subdivision surface schemes as well: the type of polygon that they operate on. Some function for quadrilaterals (quads), while others operate on triangles.

Approximating means that the limit surfaces approximate the initial meshes and that after subdivision, the newly generated control points are not in the limit surfaces. There are five approximating subdivision schemes:

- Catmull and Clark (1978) gener
This process produces a denser mesh than the original one, containing more polygonal faces. This resulting mesh can be passed through the same refinement scheme again and so on.

The limit subdivision surface is the surface produced from this process being iteratively applied infinitely many times. In practical use however, this algorithm is only applied a limited, and usually fairly small, number of times.

Mathematically, the neighborhood of an extraordinary point (non-4-valent node for quad refined meshes) of a subdivision surface is a spline with a parametrically singular point

^{[1]}.Subdivision surface refinement schemes can be broadly classified into two categories: interpolating and approximating. Interpolating schemes are required to match the original position of vertices in the original mesh. Approximating schemes are not; they can and will adjust these positions as needed. In general, approximating schemes have greater smoothness, but the user has less overall control of the outcome. This is analogous to spline surfaces and curves, where Bézier curves are required to interpolate certain control points, while B-Splines are not.

There is another division in subdivision surface schemes as well: the type of polygon that they operate on. Some function for quadrilaterals (quads), while others operate on triangles.

### Approximating schemesCatmull and Clark (1978) generalizes bi-cubic uniform B-spline knot

After subdivision, the control points of the original mesh and the new generated control points are interpolated on the limit surface. The earliest work was so-called butterfly scheme by Dyn, Levin and Gregory (1990), who extended the four-point interpolatory subdivision scheme for curves to a subdivision scheme for surface. Zorin, Schröder and Swelden (1996) noticed that the butterfly scheme cannot generate smooth surfaces for irregular triangle meshes and thus modified this scheme. Kobbelt (1996) further generalized the four-point interpolatory subdivision scheme for curves to the tensor product subdivision scheme for surfaces.

- Doo-Sabin, Quads - generalization of bi-quadratic uniform B-splines
- Butterfly, Triangles - named after the scheme's shape
- Midedge, Quads
- Kobbelt, Quads - a variational subdivision method that tries to overcome uniform subdivision drawbacks

## Key developments

- 1978: Subdivision surfaces were discovered simultaneously by Edwin Catmull and Jim Clark (see Catmull-Clark subdivision surface), and by Daniel Doo and Malcom Sabin (see Doo-Sabin subdivision surfaces.)
- 1995: Ulrich Reif solved subdivision surface behaviour near extraordinary vertices
^{[8]}. - 1998: Jos Stam contributed a method for exact evaluation for Catmull-Clark subdivision surfaces under arbitrary parameter values
^{[9]}.

## External links

- Geri's Game : Oscar winning animation by Pixar completed in 1997 that introduced subdivision surfaces using Catmull-Clark subdivision (along with cloth simulation)
- Subdivision for Modeling and Animation tutorial, SIGGRAPH 1999 course notes
- Subdivision for Modeling and Animation tutorial, SIGGRAPH 2000 course notes
- A unified approach to subdivision algorithms near extraordinary vertices, Ulrich Reif (Computer Aided Geometric Design 12(2):153-174 March 1995)
- Subdivision of Surface and Volumetric Meshes, software to perform subdivision using the most popular schemes
- Surface Subdivision Methods in CGAL, the Computational Geometry Algorithms Library

## References

**^**J. Peters and U. Reif:*Subdivision Surfaces*, Springer series Geometry and Computing monograph 3, 2008,