A very brief introduction to view-dependent polygonal simplification

Interactive computer graphics applications have long used the concept of levels of detail or LODs to help manage complexity and speed rendering. High-fidelity graphics requires very detailed geometric models of each object to be rendered, be it an airplane for a flight simulator, a monster in a video game, or a piece of furniture in an archtectural walkthrough. But only some of that detail is actually necessary at a time. For example, if a video game monster is far away, it covers only a few pixels on the screen. Clearly a less detailed version of the monster would suffice. The traditional approach, then, is to create several versions of the monster, each at a different LOD. Less detail may then be allocated for small, distant, or otherwise unimportant objects.

Given a detailed 3D model, the task of creating less-detailed versions of that model is called simplification. Modern graphics hardware uses polygons to represent 3D shapes, since their mathematical simplicity lends itself to simple, regular rendering algorithms that embed well in hardware. Thus methods that create LODs from an original model are often known as polygonal simplification algorithms. How best to reduce polygon count while retaining visual appearance is an open problem, and polygonal simplification is a very current topic in computer graphics.

View-dependent simplification or VDS is a relatively recent departure from the traditional approach to polygonal simplification. Rather than creating discrete LODs in a preprocess, and choosing among them at run-time, VDS adjusts detail dynamically, retessellating objects on the fly as the viewpoint changes, and continuously, allowing a single object to span multiple levels of detail. These two features enable view-dependent simplification, in which the level of detail chosen for an object (or group of objects) is adjusted for the current viewpoint.

Advantages of VDS over traditional static LOD:

Disadvantages of view-dependent simplification: VDSlib is a public-domain package that implements view-dependent simplification and rendering of polygonal models. It is intended to be extremely flexible, with a callback-based API that allows developers or researchers to plug in their own criteria for simplifying, culling, and rendering the model. VDSlib emphasizes this flexibility over raw performance, and the current version is not highly optimized for speed or memory.

Back to the VDSlib home page.