A number of researchers have worked on ways to make the move from one level of detail to another smoother, using what’s called a progressive mesh. The idea is, for each level of detail, to separate the vertices into two groups: parent vertices and child vertices. When the level of details decreases, the child vertices gradually draw closer to their parents. When the level of detail reaches a new integer value, the child vertices are deleted, along with all of the edges that connected them to their parents.
This technique works, but it’s not completely automatic. It requires additional input from the artists to indicate which edges are most important to preserve. That additional work means less time available for refining models.
Another way of solving the problem (which we’re hearing a lot about with the arrival of DirectX 11 cards ) is tessellation of higher-order primitives (patches), possibly coupled with displacement mapping. The arrival of this technique has appeared promising on paper for years (ah, the Parhelia…) without any real concrete results. But maybe this time it’ll be for real.
Once again, the technique is valid and could well meet with a certain level of success, given the efforts of Microsoft and AMD to push developers in that direction. But voxel octrees remain a tempting alternative. As we said above, they can solve the problem of geometry and texture with a single algorithm, and in addition, the selection of level of detail is very easy. After all, evaluating the size of a voxel on the screen is simple, but it’s more complicated for a triangle.