1.83k likes | 1.85k Views
Designing algorithms for interactive visualization and collision detection between massive models, investigating scientific simulation data, handling complex model complexities. Employing various approaches like approximate, cache-coherent, and output-sensitive algorithms to optimize rendering.
E N D
Interactive Visualization and Collision Detection using Dynamic Simplification and Cache-Coherent Layouts Sung-Eui Yoon Dissertation defense talk Advisor: Prof. Dinesh Manocha
Goal • Design algorithms for interactive visualization and collision detection between massive models
Interactive Visualization • Walkthrough • large man-made structures • Investigate scientific simulation data
Collision Detection • Main component of: • Dynamic simulation • Navigation and path planning • Haptic rendering • Virtual prototyping
Main Requirements • Generality • Handle any kind of polygonal models • (e.g., CAD, scanned, isosurface models) • Interactivity • Provide at least 10 frames per second
Challenges • Complex and massive models • Ever-increasing model complexity Puget sound, 400M+ Bunny model, 70K St. Matthew, 372M (10GB)
Challenges • Complex and massive models • Ever-increasing model complexity Boeing 777, 350M Double eagle tanker, 82M Power plant, 12M
Challenges • Complex and massive models • Ever-increasing model complexity 472M Isosurface from a turbulence simulation (LLNL)
Different Approaches • Approximate algorithms • Cache-coherent algorithms • Output-sensitive algorithms • Parallel algorithms
Different Approaches • Approximate algorithms • Cache-coherent algorithms • Output-sensitive algorithms • Parallel algorithms Use simplification while minimizing error
Different Approaches • Approximate algorithms • Cache-coherent algorithms • Output-sensitive algorithms • Parallel algorithms CPU or GPU Disk Caches Memory Minimize cache misses
Different Approaches • Approximate algorithms • Cache-coherent algorithms • Output-sensitive algorithms • Parallel algorithms Viewer Visible triangles Invisible triangles
Different Approaches • Approximate algorithms • Cache-coherent algorithms • Output-sensitive algorithms • Parallel algorithms
Different Approaches • Approximate algorithms • Dynamic simplifications • Cache-coherent algorithms • Cache-oblivious layouts • Output-sensitive algorithms • Parallel algorithms, etc
Lower resolution View-Dependent Rendering • [Clark 76, Funkhouser and Sequin 93] • Static level-of-details (LODs) • Dynamic (or view-dependent) simplification Object Viewer
50,000faces 10,000 faces 2,000 faces pop pop Static LODs Courtesy of [Hoppe 97]
Dynamic Simplification • Provides smooth and varying LODs over the mesh 1st person’s view 3rd person’s view Courtesy of [Hoppe 97]
Dynamic Simplification • Progressive mesh [Hop96] • View-dependent progressive meshes [Hoppe 97] • Merge tree [Xia and Varshney 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]
Edge Collapse Vc Vc Va Vb Va Vertex Split Vertex Hierarchy Vertex Hierarchy Va Vb
View-Dependent Refinement Front representing a LOD mesh Vertex Hierarchy
Dynamic Simplification: Issues • Representation • Construction • Runtime computation • Integration with other acceleration techniques
Dynamic Simplification: Issues 22+GB for 100M triangles [Hoppe 97] • Representation • Construction • Runtime computation • Integration with other acceleration techniques
Dynamic Simplification: Issues • Representation • Construction • Runtime computation • Integration with other acceleration techniques
Dynamic Simplification: Issues Rendering throughput of 3M triangles per sec [Lindstrom 03] • Representation • Construction • Runtime computation • Integration with other acceleration techniques
Dynamic Simplification: Issues Many cache misses • Representation • Construction • Runtime computation • Integration with other acceleration techniques Small vertex cache GPU
Dynamic Simplification: Issues • Representation • Construction • Runtime computation • Integration with other acceleration techniques
(3) (2) Parallel View-Dependent Rendering [Baxter et al. 02] Static LODs SGI Reality Monster 32 processors 8 GPUs 16GB RAM
Live Demo – View-Dependent Rendering 20 Pixels of error Pentium4 GeForce Go 6800 Ultra 1GB RAM
Thesis Statement We can design interactive visualization and collision detection algorithms between massive models by using dynamic simplification and cache-coherent layouts
Thesis Statement We can designinteractive visualization and collision detection algorithms between massive modelsby using dynamic simplification and cache-coherent layouts
Thesis Statement We can design interactive visualization and collision detection algorithms between massive modelsby using dynamic simplification and cache-coherent layouts
Outline • Dynamic simplification • Approximate collision detection • Cache-oblivious layouts • Conclusion & future work
Outline • Dynamic simplification • Approximate collision detection • Cache-oblivious layouts • Conclusion & future work
New Results • New dynamic simplification algorithm Clustered hierarchy of progressive meshes (CHPM) Out-of-core construction
Outline • Dynamic simplification • CHPM representation • Construction • Results • Approximate collision detection • Cache-oblivious layouts • Conclusion & future work
Outline • Dynamic simplification • CHPM representation • Construction • Results • Approximate collision detection • Cache-oblivious layouts • Conclusion & future work
Clustered Hierarchy of Progressive Meshes (CHPM) • Novel dynamic simplification representation • Cluster hierarchy • Progressive meshes PM3 PM1 PM2
Clustered Hierarchy of Progressive Meshes (CHPM) • Cluster hierarchy • Clusters are spatially localized regions of the mesh • Used for visibility computations and out-of-core rendering
Vertex split 0 Vertex split 1 ….. Vertex split n Clustered Hierarchy of Progressive Meshes (CHPM) • Progressive mesh (PM) [Hoppe 96] • Each cluster contains a PM as an LOD representation PM: Base mesh
Two-Levels of Refinement at Runtime • Coarse-grained view-dependent refinement • Provided by selecting a front in the cluster hierarchy • Inter-cluster level refinements Front
Two-Levels of Refinement at Runtime • Coarse-grained view-dependent refinement • Provided by selecting a front in the cluster hierarchy • Inter-cluster level refinements Cluster-split
Two-Levels of Refinement at Runtime • Coarse-grained view-dependent refinement • Provided by selecting a front in the cluster hierarchy • Inter-cluster level refinements Cluster-collapse Cluster-split
Vertex split 0 Vertex split 1 ….. Vertex split n Two-Levels of Refinement at Runtime • Fine-grained local refinement • Supported by performing vertex splits in PMs • Intra-cluster refinements PM
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
Video – Comparison of CHPM with Vertex Hierarchy 4X overall frame rate speedup 38X refinement speedup
Outline • Dynamic simplification • CHPM representation • Construction • Results • Approximate collision detection • Cache-oblivious layouts • Conclusion & future work
Performed out-of-core Overview of Building a CHPM Input model Cluster decomposition Cluster hierarchy generation Hierarchical simplification CHPM
Overview of Building a CHPM Input model Cluster decomposition Cluster hierarchy generation Hierarchical simplification CHPM
Overview of Building a CHPM Input model Cluster decomposition Cluster hierarchy generation Hierarchical simplification CHPM
Overview of Building a CHPM Input model Cluster decomposition Cluster hierarchy generation Hierarchical simplification CHPM