ABSTRACT

This chapter describes a practical real-time implementation of Catmull-Clark subdivision surfaces that has been utilized in multiple AAA console games. Catmull-Clark subdivision surfaces are a generalization of bicubic B-spline surfaces to arbitrary topology. The method of Catmull and Clark solves the problem by finely subdividing the control mesh and extracting regular B-spline grids from the subdivided result. In feature adaptive subdivision, a preprocessing step extracts bicubic B-spline patches from the control mesh where possible, and the remaining faces are subdivided. Extraction and subdivision are repeated until the desired subdivision level is reached. Dynamic feature adaptive subdivision reduces the number of subdivisions and patches required for many scenes and is a significant performance improvement over feature adaptive subdivision, but it does add runtime compute and storage costs. Extensions to the subdivision rules allow edges to be tagged as sharp creases, and as semi-sharp creases with a fractional sharpness value.