Interactive Viewing Of Multi-Resolution Meshes



• Multi-Resolution data representations are useful but how do you determine what to render?

Rendering is a view dependent operation while construction of multi-resolution data structures are not constructed for particular views.

Unlike the off-line generation multi-resolution data structures, what to render is an on-line operation.

Simple Solution: Global Metric

Distance to Object / Performance.

• Use a basic metric to determine at what level to display the data. Typically, Distance from Object Center or Rendering Performance.

  1. Trivial to implement.
  2. Fast test.
  3. Provides correct results for most simple models.
  1. Modeler has to provide the input.
  2. Wasting information such as providing high resolution for entire surface when only part of it is visible.
  3. Metric is global which won’t work for non-convex models, like a Grand Canyon mesh.
  4. Not much different then providing separate than models for different levels of detail.

A Better Solution:

Progressive Meshes

Hugues Hoppe, Microsoft Research



Basic idea: Compute a multiresolution data structure off-line and traverse each part of the graph according to a metric which is applied locally to the model.

Multi-Resolution data structure is implemented with a vertex tree, defined by edge collapses and vertex splits.


Progressive Meshes


Which cuts of the vertex mesh to display?

Metrics: Orientation, View Frustum, Pixel Error

Traversing the tree can be done from the base mesh until the "vertex front" is established.

Temporal Coherence in Progressive Meshes


Also to improve performance, temporal coherence can be used by modifying the current vertex list to the next vertex list, instead of generating from the base mesh.

Progressive Meshes Results

• Works great for large meshes like terrain data where global metrics can't

• Does require large pre-computing times and data files, but traversing can happen quite fast.

• Can be used to prevent popping with geomorphs.

Other Methods: Wavelet Approach.

• Basic Idea: Treat the viewed model as an approximation, which can be updated with wavelets.

Implementation: Send a base mesh. Send wavelet additions until desired level of detail is achieved.

Wavelet Results