| ||||
| ||||
Chapter 7 presented Bezier patches as a simple way of introducing you to surfaces, but Bezier patches suffer from the same limitations as Bezier curves. For more complex shapes , you need to add more control points, but that raises the degree of the surface. You can join multiple surfaces together, but continuity considerations make that a nontrivial task. In the end, I omitted discussions about joining Bezier surfaces because you can achieve similar results more easily if you move to B-spline or NURBS surfaces.
Note | Remember, if you really want to deal with Bezier surfaces, you can treat them as a special case of B-splines and render them using this flexible framework. |
The advantage of using B-spline surfaces is the same as the advantage you saw with B-spline curves. You can create a surface with many more control points without necessarily raising the degree of the surface. The surface in Chapter 7 was hardcoded to be a cubic surface defined by a 4x4 control grid. In this chapter, I introduce a general framework that will allow you to use an arbitrary number of control points to create a surface of arbitrary order. Also, the surface can be of different order in the u and v directions. In the end, this is a much more flexible system than what you saw in Chapter 7.
In many ways, this chapter is a bridge between the basic concepts shown in Chapter 7 and the richer NURBS concepts in Chapter 9 and beyond. In this chapter, I will keep the basic application framework, but revamp the surface computations to the more flexible B-spline form that will serve as a foundation for the NURBS surfaces. Before I can talk about extending rational splines to surfaces, I need to talk about extending standard B-splines to surfaces.
| ||||