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.
A Better Solution:
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.
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.