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

Recommend


More recommend