Existing methods for representing complicated, organic, arbitrary topology surfaces.

- Splines: Splines are great at modeling topologically planar surfaces. They are analytical, can have any desired continuity k, have local support, hierarchical, and a great deal is known about their behaviour. Unfortunately, extending them to arbitrary topologies has proved challenging. The basic approach involves stitching together spline patches by geometrically constraining the boundaries. Arbitrary topology is achieved either by filling holes with n-sided patches, or making more than four patches meet at a corner. Both of these approaches have problems both in unwanted curvature and limited continuity.
- Subdivision surfaces: This is a generalization of the geometric spline construction approach to arbitrary topologies. It easily handles arbitrary topology and is relatively simple to implement. These surfaces still have problems, such as, they are not analytical and have limited continuity. Although this isn't much of an issue for simply representing a shape, it does have consequences for performing analytical calculations with or on the shape. One subtle note is that hierarchical editing, as in adding fine detail, requires very careful construction of the topology of the initial mesh - otherwise, you won't get handles where you want them, just where the subdivision process places them.
- Implicit surfaces: These range from blobby models, to adaptive distance fields to grid data. All of these approaches are much more suited to changing topologies and complicated topologies then the above two approaches. Unfortunately, they also require computationally intensive techinques for rendering, and it is non-trivial to produce 2D-style texturing (3D textures are trivial).