Methods and Processing Architectures

We want to achieve high, constant frame rates and low, constant latencies. This section discusses some issues for achieving these goals. Constant frame rates implies that the cpu cannot be interrupted by other tasks, i.e., it must be a real time system, unlike a normal UNIX system. Note that IRIX (SGI) has extensions that guarantee this.

Image complexity needs to be controlled to ensure the rapid generation of frames. There are four ways of doing this.

Visibility Culling

In general a user will be in the middle of a scene and be able to view only a portion of the geometrical database. While a system may have hardware Z-buffers, it still takes time to test all the objects. It is much better if the host CPU culls objects that are clearly not visible before they are sent to the rendering system. The database may contain occlusion information that can be used, e.g., a wall in an architectural setting.

Level of Detail (LOD)

As a viewer moves through the environment, objects will radically change in size. If an object is up close it may require many polygons for adequate representation, but if it is distant, then the LOD can be decreased, i.e., far fewer polygons are used. One possibility is to have different models of an object, one for up close and one for distant viewing. These can then be switched in different ways.

One way is to just switch the models at some point (hard switching), but this can cause a visual artifact ('popping') when the model is switched. A second method is fading, where both models are drawn blended together over an intermediate range. This increases the rendering load during the transition. A third method is to morph the complex object into the simpler object. This gives the best visual effects but few systems support it at the present time.

Load Management

The system may be able to easily render most scenes at the required frame rate but some views may be too complex. When an image becomes too complex the system can invoke the LOD selection to reduce the complexity. This will solve the problem of geometric complexity but not other problems, such as texture mapping.

Tricks

(Billboards) Distant objects that are radially symmetric, e.g., a tree, can be modeled as a single texture mapped polygon. The polygon is rotated so that it is always oriented towards the viewer.

(Flattening) Preprocess the geometric database to remove all transformations from static objects. This reduces the number of matrix operations.

(Sequences) For objects to be transformed or morphed (as in the LOD section above) the intermediate images can be precomputed and stored. Another example would be a flame or explosion.



Main Virtual Environments Page
HyperVis Table of Contents

Last modified on February 18, 1999, G. Scott Owen, owen@siggraph.org