This is a video I contributed to The Guerrilla CG Project. There's tons of great videos that teach the basics of 3D there. Check them out at guerrillacg.org.
The blog entry for this video can be found at glenmoyes.blogspot.com/2008/12/guerrilla-cg-subdivision-surfaces.html
Welcome to this video on subdivision surfaces. We are going to talk about what subdivision is, how it works, and why using quads with subdivision creates smoother meshes.
What is Subdivision
Subdivision surfaces allows us to take a low density model and smooth the surfaces into a high-polygon model. This isn't a lighting trick like gouraud shading; we are actually changing the geometry of the model. We call the low density model the control cage. This is the mesh we actually model. When we enable subdivision surfaces we can still edit the control cage at any time.
Levels of Subdivision
Subdivision increases the face count of the model when rendered. Every level of subdivision increases the number of faces by a factor of 4. At a subdivision level of one, 1 face on our control cage will become 4 faces in the subdivided model. At a level of 2, it becomes 16 faces, 3 becomes 64 faces, and so on. Our 3D software will let us set independent levels of subdivision for real-time display and rendering. We use a low level for real-time display so we can work quickly and easily in our 3D software, and a higher level for rendering so our models look their best.
However, be careful not to have the subdivision level needlessly high. Use just enough so that it looks good when rendered. In this example the 3D models have a subdivision level of 3, where this one has a subdivision level of 4. See the difference? At this screen resolution and this far away from the model, we can't, but the image with a subdivision level of 4 took longer and a required a lot more system memory to render because there are four times as many faces. To save on rendering time and system memory, models that are small or farther away from the camera can have a lower subdivision level than objects closer to the camera. After a little experience and a few test renders we'll know what level of subdivision is best.
We can use subdivision and gouraud shading together to create a very smooth-looking model. Gouraud shading will make the surface look perfectly smooth without requiring our subdivided mesh to have polygons the size of pixels, which would require an extremely high level of subdivision. Gouraud shading won't smooth the silhouette of our model though. We need to increase the subdivision level if the silhouette, or certain contours of our model, are too angular.
How Subdivision Works
Here we have a series of vertices and edges. The edges make a straight line between each vertex. When subdivision is turned on, the straight lines start to resemble a curved line, or more appropriately a spline. In this example I'm using the Catmull-Clark approximation scheme to smooth the mesh, so the subdivided mesh won't necessarily pass through the same points of space as the vertices in my control cage. This is because most 3D software packages use an approximation scheme instead of an interpolation scheme to subdivide the mesh.
When we want to have sharper corners, the simplest solution is to put vertices closer together since all vertices have equal influence over the shape of the curve.
If we want to have a smooth surface, we put our vertices farther apart.
The best way to model smooth surfaces is to use quads in a grid formation. Why is this better for subdivision? If we looked at our line example, the spline flows smoothly from vertex to vertex. If we created a 3D grid of quads, two splines will cross each vertex, and since each spline flows from vertex to vertex uninterrupted, the splines continue and our 3D form is smoothed predictably.
If we have a vertex with more or less than 4 edges coming out of it, splines end and our mesh may not smooth the way we expect it to.
This concept of splines flowing and ending across a 3D surface as a result of subdivision leads us to the study of topology, which is key to creating good 3D models that subdivide well when animated. This includes topics such as what causes smoothing artifacts, basic topology theory, and edge loops.