# Readings 10: Surfaces and Subdivision

by on November 1, 2014

These readings are for the week November 3-7. The project is due this week, so I understand that you might want to postpone reading it.

The readings for Smooth Surfaces is Chapter 20 of John Hart’s Book, and  Chapter 13 of Real Time Rendering, 3rd edition.

In Chapter 20 of Hart’s book:

• The front part is a good reminder of what a surface is.
• 20.1-20.3 cover a bunch of basic surface types (extrusions, generalized cylinders, …). Really useful for Project 2.
• 20.4 Discusses tensor product surfaces. Skim this. He doesn’t get to the hard part, but hopefully this will give you a taste of how messy they get mathematically. Be thankful that we are going to do subdivision surfaces instead.
• 20.5 wasn’t written (yet). But it’s covered well in the next readings.

In Real Time Rendering Chapter 13:

• You’ve already read Section 13.1 on curves. (good refresher if you need some help)
• Skim Section 13.2 of RTR 3. The key thing is to appreciate how complicated parametric surfaces are. Once you see that, you’ll realize while we’ll learn about subdivision surfaces in class instead.
• Read 13.2.4 of RTR3 to understand why continuity is so much harder than with curves. Again, an advertisement for subdivision approaches.
• Skim 13.3 of RTR3 to get a sense of what implicit surfaces are. These generally are important for more advanced techniques, we won’t talk about them much. (we already discussed implicit representations with curves).
• Read Section 13.4 of RTR 3 on Subdivision curves. It’s short and it will help you understand curves better, and get into the subdivision mindset.
• Section 13.5 describes subdivision surfaces. You need to read it, up to and including 13.5.5. You can skip 13.5.6. Catmull-Clark subdivision is very important in practice. Loop and Modified Butterfly subdivision may be easier for Project 2 if you want to try something.

If you want to know more about non-smooth surfaces (meshes made of flat surfaces), Chapter 12 of Real Time Rendering is a great source of information. Up to (and including) 12.2 is a great discussion of the issues that are important in choosing how to get triangles. 12.3 is a bunch of efficiency concerns (that may or may not matter nowadays), 12.4 is a bunch of efficiency issues that are much less important than they once were. 12.5 is a cool advanced topic that is beyond the intro class.