Game Development Reference
In-Depth Information
Figure 15.5 The vertices used to calculate a new vertex location using Catmull-Clark
subdivision.
Butterfly subdivision - an interpolating scheme
The subdivision scheme we are going to explore in detail is the so-called
modified butterfly scheme. This scheme works only on triangular meshes,
so you must work with a triangular mesh or create a function to triple your
mesh. Butterfly subdivision only works on a regular triangular mesh where
each vertex is of valence six. This limitation would be beyond even the
best low polygon modeller. The modified scheme works with vertices of
any valence. The scheme was devised and presented at Siggraph in 1996
by Zorin, Schr oder and Sweldens.
The first step in the subdivision is to add a new vertex for an edge.
Since the scheme is interpolating, the end-points of the edge are going to
be part of the final mesh and do not need repositioning. The location of the
new vertex is affected by the valences of the end-points for the current
edge. If both end-points have valence six, then the location of the new
vertex is calculated using the following method.
The weighting of effect of each vertex is
a :
1
2 - w ;
b :
1
8 + 2 w ;
c :- 16 - w ;
d : w
where w is a weighting value. Subdivision in Toon3D uses a value for w
of 0.0125.
A vertex with valence other than six in this scheme is described as an
extraordinary vertex . If one of the end-points of the edge is an
extraordinary vertex and the other vertex has valence six, then we