860 likes | 977 Views
Quick-VDR: Interactive View-Dependent Rendering of Massive Models. Sung-Eui Yoon Brian Salomon Russell Gayle Dinesh Manocha University of North Carolina at Chapel Hill http://gamma.cs.unc.edu/QVDR. Goal. Interactive display of complex and massive models at high image fidelity
E N D
Quick-VDR: Interactive View-Dependent Rendering of Massive Models Sung-Eui Yoon Brian Salomon Russell Gayle Dinesh Manocha University of North Carolina at Chapel Hill http://gamma.cs.unc.edu/QVDR
Goal • Interactive display of complex and massive models at high image fidelity • Models from CAD, scientific simulation, and scanning devices • High primitive counts • Irregular distribution of geometry
CAD Model – Power Plant 12 million triangles Irregular distribution Large occluders
Isosurface from Turbulence Simulation (LLNL) 100 million triangles High depth complexity Small occluders Many holes
Scanned Model –St. Matthew 372 million triangles Highly tessellated
Problems of current representation • High cost of refining and rendering the geometry • High memory footprint • Complicate integration with other techniques • occlusion culling and out-of-core management
Main Contribution • New view-dependent rendering algorithm Clustered Hierarchy of Progressive Meshes (CHPM) Out-of-core construction and rendering Integrating occlusion culling and out-of-core management
Realtime Captured Video – Power plant Pentium IV GeForce FX 6800 Ultra 1 Pixel of Error
Previous Work • Geometric simplification • View-dependent simplification • Out-of-core simplification • Occlusion culling • Hybrid algorithms
Geometric Simplification • Static [Cohen et al. 96 and Erikson et al. 01] • View-dependent [Hoppe 97; Luebke et al. 97; Xia and Varshney 97] • Surveyed in Level of Detail book[Luebke el al. 02]
View-Dependent Simplification • Progressive mesh [Hop96] • Merge tree [Xia and Varshney 97] • View-dependent refinement of progressive meshes [Hoppe 97] • Octree-based vertex clustering [Luebke and Erikson 97] • View-dependent tree [El-Sana and Varshney 99] • Out-of-core approaches [Decoro and Pajarola 02; Lindstrom 03]
Out-of-core Simplification • Static [Lindstrom and Silva 01; Shaffer and Garland 01; Cignoni et al. 03] • Dynamic [Hoppe 98; Prince 00; El-Sana and Chiang 00; Lindstrom 03]
Occlusion Culling • A recent survey is in [Cohen-Or et al. 03] • Image-based occlusion representation • [Greene et al 93, Zhang et al, 97, Klosowski and Silva 01] • Additional graphics processors • [Wonka et al. 01, Govindaraju et al. 03]
Hybrid Approaches • Combine model simplification and occlusion culling techniques • UC Berkeley Walkthrough[Funkhouser 96] • UNC MMR system[Aliaga 99] • Integrate occlusion culling with view dependent rendering • [El-Sana et al. 01; Yoon et al. 03]
Outline • CHPM representation • Building a CHPM • Interactive display • Implementation and results • Conclusion and future work
Outline • CHPM representation • Building a CHPM • Interactive display • Implementation and results • Conclusion and future work
Clustered Hierarchy of Progressive Meshes (CHPM) • Novel view-dependent representation • Cluster hierarchy • Progressive meshes PM3 PM1 PM2
Clustered Hierarchy of Progressive Meshes (CHPM) • Cluster hierarchy • Clusters are spatially localized mesh regions • Used for visibility computations and out-of-core rendering
Clustered Hierarchy of Progressive Meshes (CHPM) • Progressive mesh (PM) [Hoppe 96] • Each cluster contains a PM as an LOD representation Vertex splits PM: Base mesh
Two-Levels of Refinement • Coarse-grained view-dependent refinement • Provided by selecting a front in the cluster hierarchy Front
Two-Levels of Refinement • Coarse-grained view-dependent refinement • Provided by selecting a front in the cluster hierarchy Cluster-split
Two-Levels of Refinement • Coarse-grained view-dependent refinement • Provided by selecting a front in the cluster hierarchy Cluster-split Cluster-collapse
Vertex split 0 Vertex split 1 ….. Vertex split n Two-Levels of Refinement • Fine-grained local refinement • Supported by performing vertex splits in PMs PM
Simplification Error Bound • Conservatively compute object space error bound given screen space error bound • Perform two-levels of refinement based on the error bound
Main Properties of CHPM • Low refinement cost • 1 or 2 order of magnitude lower than a vertex hierarchy • Alleviates visual popping artifacts • Provides smooth transition between different LODs
Outline • CHPM representation • Building a CHPM • Interactive display • Implementation and results • Conclusion and future work
Overview of Building a CHPM Input model Cluster decomposition Performed in out-of-core manner Cluster hierarchy generation Hierarchical simplification CHPM
Overview of Building a CHPM Input model Cluster decomposition Cluster hierarchy generation Hierarchical simplification CHPM
Cluster Decomposition • Cluster • Main unit for view-dependent refinement, occlusion culling, out-of-core management • Spatially localized portion of the mesh • Equally sized in terms of number of triangles
Cluster Decomposition • Similar to [Ho et al. 01; Isenburg and Gumhold 03] Graph between cells
An Example of Cluster Decomposition Each cluster contains 4K triangles
Overview of Building a CHPM Input model Cluster decomposition Cluster hierarchy generation Hierarchical simplification CHPM
Cluster Hierarchy Generation - Properties • Nearly equal cluster size • High spatial locality • Minimum shared vertices • Balanced cluster hierarchy
Cluster Hierarchy Generation - Algorithm • Node • Corresponds to a cluster • Weighted by the number of vertices • Edge • Made if clusters share vertices • Weighted by the number of shared vertices
Cluster Hierarchy Generation - Algorithm 2nd level clusters Root cluster 3rd level clusters Leaf clusters
Overview of Building a CHPM Input model Cluster decomposition Cluster hierarchy generation Hierarchical simplification CHPM
Out-of-core Hierarchical Simplification • Simplifies clusters in a bottom-up manner
Out-of-core Hierarchical Simplification • Simplifies clusters in a bottom-up manner PM5 PM4 PM1 PM3 PM2
A B C D dependency E F C A B D Cluster hierarchy Boundary Simplification Boundary constraints
A B C D dependency E F C A B D Cluster hierarchy Boundary Simplification E F
Boundary Constraints • Common problem in many hierarchical simplification • [Hoppe 98; Prince 00; Govindaraju et al. 03] • Degrades the quality of simplification • Decrease rendering performance at runtime • Aggravated as a depth of hierarchy increases
Cluster Dependencies • Replaces preprocessing constraints by runtime dependencies
E F A B C D Cluster Dependencies dependency E F C A B D Cluster hierarchy
E F A B C D Cluster Dependencies dependency E F C A B D Cluster hierarchy
Cluster Dependencies at Runtime Force cluster-split Cluster-split dependency E F C A B D Cluster hierarchy
Cluster Dependencies 92% triangles reduced 227K triangles 19K triangles After posing cluster dependencies
Outline • CHPM representation • Building a CHPM • Interactive display • Implementation and results • Conclusion and future work