Fast Rendering of Subdivision Surfaces: Slide 11 of 15.

Click slide for next, or goto previous, first, last slides or back to thumbnail layout.

Click slide for next, or goto previous, or back to thumbnail layout.

We improved on this idea by figuring out a depth-first method that subdivides part of the square, renders the triangles as soon as they are generated, and reuses the memory to subdivide the rest. We call this the sliding windows method.

Rather than having one square array for the current subdivision level, we have windows of 3 rows to each levels' square array. Conceptually, as we go on, we slide these windows down the arrays. What is below the windows, we haven't calculated yet, what's above, we have already drawn and forgotten. We start from the left where we have a small number of large triangles: whenever we calculate another row, we get enough information to calculate 2 more rows at a finer level, and so forth. At the last level, we then render a whole row of triangles.

This version only needs space on the order of a square root of the simpler method's requirements.