Fast Rendering of Subdivision Surfaces: Slide 9 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.

Let's take a look at how we partition a big task into small chunks.

Our first question is how much the submeshes need to overlap. Since the Loop's subdivision method uses the immediate neighbors, we need to include at least those. We can see from the diagram on the right that this is actually enough. There we have a submesh consisting of a single triangle (the dark one in the middle) along with all its neighbors which we call the "support" vertices. We have enough information to perform the subdivision everywhere but the boundary where the support vertices lie, but then again, we don't need them any more, since we just obtained a new layer of support vertices closer to the mesh. At each iteration, they get closer and closer.

We chose to make these submeshes of size 2 whenever possible. Reasons for this include getting uniform submesh sizes, and the submesh having a very simple structure.

The picture on the right shows the "message" that is sent to GE's for rendering, consisting of two triangles, their neighbors, and the types for the edges and vertices.