Presentation is loading. Please wait.

Presentation is loading. Please wait.

View-Dependent Simplification of Arbitrary Polygonal Environments David Luebke.

Similar presentations


Presentation on theme: "View-Dependent Simplification of Arbitrary Polygonal Environments David Luebke."— Presentation transcript:

1 View-Dependent Simplification of Arbitrary Polygonal Environments David Luebke

2 …or how to render something like this at interactive rates

3 Outline Traditional polygonal simplification Traditional polygonal simplification Motivation for a new approach Motivation for a new approach Overview of the algorithm Overview of the algorithm View-dependent simplification View-dependent simplification Optimizing the algorithm Optimizing the algorithm Conclusions Conclusions

4 Polygonal Simplification The problem: The problem: –Polygonal models are often too complex to render at interactive rates One solution: One solution: –Polygonal simplification methods simplify the polygonal geometry of small or distant objects

5 Polygonal Simplification: Traditional Approach Create levels of detail (LODs) of objects: Create levels of detail (LODs) of objects: 10,108 polys1,383 polys474 polys46 polys Courtesy IBM

6 Polygonal Simplification: Traditional Approach Distant objects use coarser LODs: Distant objects use coarser LODs:

7 Previous Work: Creating LODs Creating LODs automatically Creating LODs automatically –Decimation (Shroeder 92) –Retiling Polygonal Objects (Turk 92) –Vertex binning (Rossignac 92) –Mesh Optimization (Hoppe 93) –Simplification Envelopes (Varshney 94, Cohen 96) –Many others…

8 ManifoldNon-manifold Previous Work: Creating LODs Traditional algorithms: Traditional algorithms: –Create LODs for each object separately in a preprocess –Are often slow (minutes or hours) –Require & preserve manifold topology:

9 Outline Traditional polygonal simplification Traditional polygonal simplification Motivation for a new approach Motivation for a new approach Overview of the algorithm Overview of the algorithm View-dependent simplification View-dependent simplification Optimizing the algorithm Optimizing the algorithm Conclusions Conclusions

10 Motivation Problem: Massive CAD models Problem: Massive CAD models –Handmade and often messy –Very large and complex Thousands of parts of all sizes Thousands of parts of all sizes Physically large: scenes, not objects Physically large: scenes, not objects

11 Courtesy Jet Propulsion Laboratory Massive Model Examples: Aerospace CAD Cassini space probe model Cassini space probe model 415,000 polygons 415,000 polygons

12 Courtesy General Dynamics, Electric Boat Div. Massive Model Examples: Maritime CAD Submarine Auxiliary Machine Room Submarine Auxiliary Machine Room 500,000 polygons 500,000 polygons

13 Courtesy General Dynamics, Electric Boat Div. Massive Model Examples: Maritime CAD Submarine Torpedo Room Submarine Torpedo Room 700,000 polygons 700,000 polygons

14 Courtesy ABB Engineering Massive Model Examples: Structural CAD Coal-fired power plant Coal-fired power plant 13 million polygons 13 million polygons

15 Limitations of Traditional LOD Most algorithms are: Most algorithms are: –Too fragile for messy CAD models –Too slow for large CAD models –Not suited for drastic simplification

16 Drastic Simplification: Large Objects Courtesy IBM and ACOG

17 Drastic Simplification: Small Objects Courtesy Electric Boat

18 Drastic Simplification: Preserving Topology Rotor model: Rotor model: –4736 faces –21 holes Courtesy Alpha_1 Project, University of Utah

19 Drastic Simplification: Preserving Topology 1006 faces, 21 holes46 faces, 1 hole

20 The Problems With Drastic Simplification For drastic simplification: For drastic simplification: –Large objects must be subdivided –Small objects must be combined –Topology must be simplified Difficult or impossible with traditional LOD Difficult or impossible with traditional LOD

21 Outline Traditional polygonal simplification Traditional polygonal simplification Motivation for a new approach Motivation for a new approach Overview of the algorithm Overview of the algorithm View-dependent simplification View-dependent simplification Optimizing the algorithm Optimizing the algorithm Conclusions Conclusions

22 Overview: A New Approach Dynamic: simplify objects on the fly Dynamic: simplify objects on the fly View-dependent: account for viewpoint View-dependent: account for viewpoint Global: simplify scenes, not objects Global: simplify scenes, not objects Automatic: simplify without user’s help Automatic: simplify without user’s help

23 Overview: The Algorithm A preprocess builds the vertex tree, a hierarchical clustering of vertices A preprocess builds the vertex tree, a hierarchical clustering of vertices At run time, clusters appear to grow and shrink as the viewpoint moves At run time, clusters appear to grow and shrink as the viewpoint moves Clusters that become too small are collapsed, filtering out some triangles Clusters that become too small are collapsed, filtering out some triangles

24 Data Structures The vertex tree The vertex tree –Represents the entire model –Hierarchy of all vertices in model –Queried each frame for updated scene The active triangle list The active triangle list –Represents the current simplification –List of triangles to be displayed

25 The Vertex Tree Each vertex tree node contains: Each vertex tree node contains: –A subset of model vertices –A representative vertex or repvert Folding a node collapses its vertices to the repvert Folding a node collapses its vertices to the repvert Unfolding a node splits the repvert back into vertices Unfolding a node splits the repvert back into vertices

26 Vertex Tree Example 1 3 2 9 87 10 54 6 12745689 ABC I 3 II R Triangles in active list Vertex tree

27 Vertex Tree Example 3 1 2 9 87 10 54 6 12745689 ABC I 3 II R A

28 Vertex Tree Example 9 8 10 54 6 12745689 BC I 3 II R A 3 A

29 Vertex Tree Example 9 8 10 54 6 12745689 BC I 3 II R A 3 B A

30 Vertex Tree Example 10 12745689 C I 3 II R A 3 B 8 9 AB

31 Vertex Tree Example 10 12745689 C I 3 II R A 3 B C 8 9 AB

32 Vertex Tree Example 10 12745689 I 3 II R A 3 B C ABC

33 Vertex Tree Example II 10 12745689 I 3 R A 3 B C II ABC

34 Vertex Tree Example 10 12745689 C I 3 R A B II AB

35 Vertex Tree Example 12745689 C103 R B II I A 10 AB III

36 Vertex Tree Example 12745689 AC103 R B II I B I

37 Vertex Tree Example 12745689 AC103 R R B II I B I

38 Vertex Tree Example 12745689 ABC10 I 3 II R R

39 The Vertex Tree: Folding And Unfolding 3 1 2 9 87 10 54 6 A 9 8 54 6 A 3 Fold Node A Unfold Node A

40 The Vertex Tree: Tris and Subtris 3 1 2 9 87 10 54 6 9 8 54 6 A 3 Fold Node A Unfold Node A Node->Tris : triangles that change shape upon folding Node->Subtris : triangles that disappear completely

41 The Vertex Tree: Tris and Subtris Each node’s tris and subtris can be computed offline to be accessed very quickly at run time Each node’s tris and subtris can be computed offline to be accessed very quickly at run time This is the key observation behind dynamic simplification This is the key observation behind dynamic simplification

42 Outline Traditional polygonal simplification Traditional polygonal simplification Motivation for a new approach Motivation for a new approach Overview of the algorithm Overview of the algorithm View-dependent simplification View-dependent simplification Optimizing the algorithm Optimizing the algorithm Conclusions Conclusions

43 View-Dependent Simplification Any run-time criterion for folding and unfolding nodes may be used Any run-time criterion for folding and unfolding nodes may be used I have examined three criteria: I have examined three criteria: –Screenspace error threshold –Silhouette preservation –Triangle budget simplification

44 Screenspace Error Threshold Nodes chosen by projected area Nodes chosen by projected area –User sets screenspace size threshold –Nodes which grow larger than threshold are unfolded

45 Silhouette Preservation Retain more detail near silhouettes Retain more detail near silhouettes –A silhouette node supports triangles on the visual contour –Use tighter thresholds when examining silhouette nodes

46 Triangle Budget Simplification Minimize error within specified number of triangles Minimize error within specified number of triangles –Sort nodes by screenspace error –Unfold node with greatest error –Repeat until budget is reached

47 Outline Traditional polygonal simplification Traditional polygonal simplification Motivation for a new approach Motivation for a new approach Overview of the algorithm Overview of the algorithm View-dependent simplification View-dependent simplification Optimizing the algorithm Optimizing the algorithm Conclusions Conclusions

48 Optimizations Exploiting temporal coherence Exploiting temporal coherence –Scene changes slowly over time Asynchronous simplification Asynchronous simplification –Parallelize the algorithm

49 Exploiting Temporal Coherence Idea: frame-to-frame changes are small Idea: frame-to-frame changes are small Two examples: Two examples: –Active triangle list –Vertex tree

50 Exploiting Temporal Coherence Active triangle list Active triangle list –Few triangles are added or deleted each frame –Store current simplification, make only incremental changes –Current implementation: doubly-linked list of triangles

51 Unfolded Nodes Boundary Nodes Exploiting Temporal Coherence Vertex Tree Vertex Tree –Few nodes change per frame –Don’t traverse whole tree –Do local updates only at boundary nodes

52 Algorithm partitions into two tasks: Algorithm partitions into two tasks: Run them on separate processors Run them on separate processors Simplify Task Render Task Active Triangle List … Asynchronous Simplification Vertex Tree

53 Outline Traditional polygonal simplification Traditional polygonal simplification Motivation for a new approach Motivation for a new approach Overview of the algorithm Overview of the algorithm View-dependent simplification View-dependent simplification Optimizing the algorithm Optimizing the algorithm Conclusions Conclusions

54 Conclusion View-dependent approach allows: View-dependent approach allows: –Drastic simplification –Fully automatic simplification These help enable real-time rendering of massive models These help enable real-time rendering of massive models

55 Conclusion Pros Pros –Very general Handles large and small objects Handles large and small objects Does not require clean mesh topology Does not require clean mesh topology –Fast preprocessing stage Cons Cons –Fundamentally an immediate-mode scheme Display lists 2-3 times faster Display lists 2-3 times faster

56 Contemporary Related Work Hoppe: Progressive Meshes Hoppe: Progressive Meshes –‘96: Dynamic LOD using edge collapse –‘97: View-dependent refinement –Pros: Dynamic, view-dependent simplification Dynamic, view-dependent simplification Elegant scheme for mesh attributes Elegant scheme for mesh attributes –Cons: Requires clean mesh topology Requires clean mesh topology Very slow preprocess Very slow preprocess Still per-object LOD Still per-object LOD

57 Garland: Quadric Error Metrics Garland: Quadric Error Metrics –‘97: Static LOD using vertex merging –Pros: Very fast Very fast Good fidelity Good fidelity Doesn’t require clean topology Doesn’t require clean topology –Cons: Still static LOD Still static LOD “Tweak factor” “Tweak factor” Contemporary Related Work

58 Future Work Better vertex trees Better vertex trees Better use of resources Better use of resources –Display lists –Additional parallelism –Memory management Simplification of dynamic scenes Simplification of dynamic scenes

59 Acknowledgements Thanks to: Thanks to: –My advisor, Dr. Fred Brooks –Dr. Greg Turk, Dr. Dinesh Manocha, and Carl Erikson for their ideas and support –IBM for funding my research –ARPA contract DABT63-93-C-C048

60 The End


Download ppt "View-Dependent Simplification of Arbitrary Polygonal Environments David Luebke."

Similar presentations


Ads by Google