multi resolution techniques
play

Multi-Resolution Techniques Sung-Eui Yoon ( ) Course URL: - PowerPoint PPT Presentation

Multi-Resolution Techniques Sung-Eui Yoon ( ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/SGA/ At the Previous Class The overview of the course Culling techniques 2 Problems Even after visibility culling we can


  1. Multi-Resolution Techniques Sung-Eui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/SGA/

  2. At the Previous Class ● The overview of the course ● Culling techniques 2

  3. Problems ● Even after visibility culling we can still have too many visible triangles 13M Triangles 372 million triangles (10GB) 3

  4. Problems ● Won’t this problem go away with faster GPUs? ● The real world has virtually infinite complexity ● Our ability to model and capture this complexity can outpace rendering performance 4

  5. Multi-Resolution or Levels of Detail ● Basic idea ● Render with fewer triangles when model is farther from viewer Viewer Lower resolution ● Methods ● Polygonal simplification ● Parametric and subdivision surfaces ● I mage impostors 5

  6. Polygonal Simplification ● Method for reducing the polygon count of mesh ● Two main components ● Simplification operators ● Simplification error metrics 6

  7. Simplification Operators ● Vertex clustering ● Edge collapse ● Vertex removal 7

  8. Vertex Clustering [Rossignac & Borrel 93] ● I mpose a grid on the model ● Compute weighted average vertex in each cell ● Triangles become: ● Triangles ● Lines ● Points 8

  9. Vertex Clustering ● Main benefits ● Simple and robust ● Disadvantages ● Hard to target a polygon count ● Poor error control 9

  10. Edge Collapse [Hoppe93] Edge Collapse Va Vc Va Vb Vertex Split ● Fine grained ● Reduce two triangles at most ● Allows simple geomorphs ● Topology preserving 10

  11. Virtual Edge Collapse ● Extension of edge collapse to two vertices not connected by an edge ● Allows topological simplification ● Usually limited to small distance to avoid O(n 2 ) virtual edges Va Vb 11

  12. Simplification Error Metric ● Control and quantify the quality of the LOD ● Ultimately, we want to measure appearance ● Typically, we use a geometric measure as an approximation ● Error measures are used in three ways ● To pick which parts are simplified ● To determine the simplified mesh from the operation (e.g. position of the new vertex) ● To choose an LOD at runtime ● Two common LOD selection criteria ● Target frame rate vs. target quality 12

  13. Hausdorff Distance ● A measure of surface deviation ● H(A,B)= max(h(a,b),h(b,a)), A B where h(A,B)= max a min b (| a-b| ) ● h is called the one-sided Hausdorff distance ● Provides a bound on the maximum possible error ● Project to screen space to get deviation in pixels 13

  14. Vertex Plane Distance [Ranford 96] ● One metric is the max distance between the vertex and the planes of the supported triangles v Imaginary planes E=max max p (p• •v v) ) E= p (p a b Surface 14

  15. Quadric Error Metric [Garland & Heckbert 97] ● Use sum of squared distance rather than max distance ● Can be efficiently computed and empirically shows very good results 5K 1K 200 50 Excerpted from [Garland & Heckert 97] 15

  16. Attributes ● Vertices have more than just position: ● Colors ● Normals ● Texture coords ● Shader programs 16

  17. Overall Simplification Process ● Compute simplification candidates ● While (there is candidate) ● Pick a candidate with the smallest error ● Perform the simplification 17

  18. View-Dependent Rendering ● Use different resolutions according to view points ● [Clark 76, Funkhouser and Sequin 93] Viewer Lower resolution ● Static levels-of-detail (LODs) ● Dynamic (or view-dependent) simplification

  19. Static LODs ● Pre-compute discrete simplified meshes ● Switch between them at runtime ● Has very low LOD selection overhead 50,000 faces 2,000 faces 10,000 faces 50,000 faces 2,000 faces 10,000 faces pop pop pop pop Excerpted from Hoppe’s slides

  20. Dynamic Simplification ● Provides smooth and varying LODs over the mesh [Hoppe 97] 1 st person’s view 3 rd person’s view Play video

  21. Vertex Hierarchy Edge Collapse Vc Va Vc Va Va Vb Vb Vertex Split Vertex Hierarchy 21

  22. View-Dependent Refinement Front representing a LOD mesh Vertex Hierarchy 22

  23. Dynamic Simplification: Issues ● Representation ● Construction ● Runtime computation ● I ntegration with other acceleration techniques 23

  24. Dynamic Simplification: Issues ● Representation 22+GB for 100M ● Construction triangles [Hoppe 97] ● Runtime computation ● I ntegration with other acceleration techniques 24

  25. Dynamic Simplification: Issues ● Representation ● Construction ● Runtime computation ● I ntegration with other acceleration techniques 25

  26. Dynamic Simplification: Issues ● Representation Rendering throughput ● Construction of 3M triangles per sec ● Runtime computation [Lindstrom 03] ● I ntegration with other acceleration techniques 26

  27. Dynamic Simplification: Issues Many cache misses ● Representation Small ● Construction vertex GPU ● Runtime computation cache ● I ntegration with other acceleration techniques 27

  28. Dynamic Simplification: Issues ● Representation ● Construction ● Runtime computation ● I ntegration with other acceleration techniques 28

  29. Toward Scale-able Dynamic Simplification Method ● View-dependent rendering [Yoon et al. VI S 04] ● New multi-resolution hierarchy (CHPM) ● Out-of-core construction for general meshes ● Applied to collision detection [Yoon et al. SGP 04] and shadow computation [Lloyd et al. EGSR 06] ● Cache-oblivious layouts [Yoon et al. SI G 05] ● High GPU utilization during rendering

  30. Live Demo – View-Dependent Rendering [Yoon et al., SIG 05] 30 Pixels of error Pentium 4 GeForce Go 6800 Ultra 1GB RAM

  31. Clustered Hierarchy of Progressive Meshes (CHPM) ● Novel dynamic simplification representation ● Cluster hierarchy ● Progressive meshes PM 3 PM 1 PM 2

  32. Clustered Hierarchy of Progressive Meshes (CHPM) ● Clusters ● Spatially localized regions of the mesh ● Main processing unit for view-dependent computation ● Cluster hierarchy ● Used for visibility computations and out-of- core rendering

  33. Clustered Hierarchy of Progressive Meshes (CHPM) ● Progressive mesh (PM) [Hoppe 96] ● Each cluster contains a PM as an LOD representation Edge collapse Vertex split Vertex split 0 PM: … Vertex split n Base mesh Refined mesh

  34. Two-Levels of Refinement at Runtime ● Coarse-grained view-dependent refinement ● Provided by selecting a front in the cluster hierarchy ● I nter-cluster level refinements Front

  35. Two-Levels of Refinement at Runtime ● Coarse-grained view-dependent refinement ● Provided by selecting a front in the cluster hierarchy ● I nter-cluster level refinements Cluster-split

  36. Two-Levels of Refinement at Runtime ● Coarse-grained view-dependent refinement ● Provided by selecting a front in the cluster hierarchy ● I nter-cluster level refinements Cluster-collapse Cluster-split

  37. Two-Levels of Refinement at Runtime ● Fine-grained local refinement ● Supported by performing vertex splits in PMs ● I ntra-cluster refinements Efficient and effective representation for massive models! Vertex split 0 Vertex split 1 PM … .. Vertex split n

  38. Main Properties of CHPM ● Low refinement cost ● 1 or 2 order of magnitude lower than previous representations ● Alleviates visual popping artifacts ● Provides smooth transition between different LODs

  39. Overview of Building a CHPM Input model Cluster decomposition Performed out-of-core Cluster hierarchy generation Hierarchical simplification CHPM 39

  40. Overview of Building a CHPM Input model Cluster decomposition Cluster hierarchy generation Hierarchical simplification CHPM 40

  41. Overview of Building a CHPM Input model Cluster decomposition Cluster hierarchy generation Hierarchical simplification CHPM 41

  42. Overview of Building a CHPM Input model Cluster decomposition Cluster hierarchy generation Hierarchical simplification CHPM 42

  43. Out-of-Core Hierarchical Simplification ● Simplifies clusters bottom-up 43

  44. Out-of-Core Hierarchical Simplification ● Simplifies clusters bottom-up PM PM PM 44

  45. Boundary Simplification Boundary constraints dependency E F A B C D A B C D Cluster hierarchy 45

  46. Boundary Simplification E F dependency E F A B C D A B C D Cluster hierarchy 46

  47. Boundary Constraints ● Common problem in many hierarchical simplification algorithms ● [Hoppe 98; Prince 00; Govindaraju et al. 03] 47

  48. Boundary Constraints 48

  49. Boundary Constraints 49

  50. Cluster Dependencies ● Replaces preprocessing constraints with runtime dependencies 50

  51. Cluster Dependencies E F dependency E F A B C D A B C D Cluster hierarchy 51

  52. Cluster Dependencies E F dependency E F A B C D A B C D Cluster hierarchy 52

  53. Cluster Dependencies at Runtime Force Cluster-split cluster-split dependency E F A B C D Cluster hierarchy 53

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend