Create Presentation
Download Presentation

Download Presentation

Computer Graphics Research at Virginia

Download Presentation
## Computer Graphics Research at Virginia

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Computer Graphics Research at Virginia**David Luebke Department of Computer Science**Outline**• Why I like graphics • My current research • VDS • Gaze • NPR • Scanning Monticello**Why Graphics?**• Graphics is cool • I like to see what I’m doing • I like to show people what I’m doing • Graphics is interesting • Involves simulation, algorithms, architecture… • Graphics is moving quickly • Intel vs. nVidia... • Graphics is fun • Graphics is important**Why Graphics?**• Entertainment: Cinema Universal: Jurassic Park Pixar: Geri’s Game**Why Graphics?**• Entertainment: Games id: Quake II Cyan: Riven**Why Graphics?**• Medical Visualization The Visible Human Project MIT: Image-Guided Surgery Project**Why Graphics?**• Computer Aided Design (CAD)**Why Graphics?**• Scientific Visualization**Outline**• Why I like graphics • My current research • VDS: View-Dependent Simplification • Gaze • Art-Based Rendering • Scanning Monticello**The Problem:Massive Model Rendering**• Problem: interactive visualization of very complex environments • Who cares? • Scientific visualization • Medical visualization • Computer Aided Design (CAD )**Massive Model Examples:Aerospace CAD**• Cassini space probe model • 415,000polygons Courtesy Jet Propulsion Laboratory**Massive Model Examples:Maritime CAD**• SubmarineTorpedoRoom • 700,000polygons Courtesy General Dynamics, Electric Boat Div.**Massive Model Examples:Structural CAD**• Coal-firedpower plant • 13 millionpolygons Courtesy ABB Engineering**Massive Model Examples: More Maritime CAD**• Double Eagle container ship • 82 million polygons Courtesy Newport News Shipbuilding**The Holy Grail…**Deussen et al: Realistic Modeling of Plant Ecosystems**Level of Detail**• The problem: • Polygons rule the world(of interactive graphics) • Polygonal models are often too complex to render at interactive rates • One solution: • Level-of-detail methods simplify the polygonal geometry of small or distant objects**Level of DetailTraditional Approach**• Create levels of detail (LODs) of objects: 249,924 polys 62,480 polys 7,809 polys 975 polys Courtesy IBM**Level of Detail:Traditional Approach**• Distant objects use coarser LODs:**Limitations ofTraditional LOD**• Most algorithms are: • Too fragile for messy CAD models • Too slow for large CAD models • Not suited for drastic simplification**Drastic Simplification: Large Objects**Courtesy IBM and ACOG**Drastic Simplification: Small Objects**Courtesy Electric Boat**Drastic Simplification:Preserving Topology**• Rotor model: • 21 holes • 4736 faces Courtesy Alpha_1 Project, University of Utah**Drastic Simplification:Preserving Topology**21 holes, 1006 faces 1 hole, 46 faces**The Problems WithDrastic Simplification**• For drastic simplification: • Large objects must be subdivided • Small objects must be combined • Topology must be simplified • Difficult or impossible with traditional LOD**A New Approach**• Dynamic: simplify objects on the fly • View-dependent: account for viewpoint • Global: simplify scenes, not objects • Automatic: simplify without user’s help**Dynamic Level of Detail**• A relatively recent departure from the traditional static approach: • Static LOD: create individual LODs in a preprocess • Dynamic LOD: create data structure from which a desired level of detail can be extracted at run time.**View-Dependent LOD: Examples**• Show nearby portions of object at higher resolution than distant portions View from eyepoint Birds-eye view**View-Dependent LOD: Examples**• Show silhouette regions of object at higher resolution than interior regions**View-Dependent LOD: Examples**• Show more detail where the user is looking than in their peripheral vision: 11,726 triangles**View-Dependent LOD: Examples**• Show more detail where the user is looking than in their peripheral vision: 34,321 triangles**Dynamic LOD: How Does It Work?**• So…dynamic LOD is great, but how do we implement it? • Basically, with one big data structure: the vertex tree • Represents the entire model • Hierarchy of all vertices in model • Queried each frame for updated scene**The Vertex Tree**• Each vertex tree node contains: • A subset of model vertices • A representative vertex or repvert • Folding a node collapses its vertices to the repvert • Unfolding a node splits the repvert back into vertices**Vertex Tree Example**8 7 R 2 I II 10 6 9 3 10 A B C 3 1 1 2 7 4 5 6 8 9 4 5 Vertex tree Triangles in active list**Vertex Tree Example**8 7 R A 2 I II 10 6 9 3 10 A B C 3 1 1 2 7 4 5 6 8 9 4 5 Vertex tree Triangles in active list**Vertex Tree Example**8 R A I II 10 6 9 3 10 A B C 3 1 2 7 4 5 6 8 9 4 5 Vertex tree Triangles in active list**Vertex Tree Example**8 R A I II 10 6 9 3 10 A B C 3 B 1 2 7 4 5 6 8 9 4 5 Vertex tree Triangles in active list**Vertex Tree Example**8 R A I II 10 9 3 10 A B C 3 B 1 2 7 4 5 6 8 9 Vertex tree Triangles in active list**Vertex Tree Example**8 R A C I II 10 9 3 10 A B C 3 B 1 2 7 4 5 6 8 9 Vertex tree Triangles in active list**Vertex Tree Example**R A C I II 10 3 10 A B C 3 B 1 2 7 4 5 6 8 9 Vertex tree Triangles in active list**Vertex Tree Example**R A C II I II 10 3 10 A B C 3 B 1 2 7 4 5 6 8 9 Vertex tree Triangles in active list**Vertex Tree Example**R A II I II 10 10 A B C 3 B 1 2 7 4 5 6 8 9 Vertex tree Triangles in active list**Vertex Tree Example**R A I II I II 10 10 A B C 3 B 1 2 7 4 5 6 8 9 Vertex tree Triangles in active list**Vertex Tree Example**R I II I II 10 A B C 3 B 1 2 7 4 5 6 8 9 Vertex tree Triangles in active list**Vertex Tree Example**R I II I II R 10 A B C 3 B 1 2 7 4 5 6 8 9 Vertex tree Triangles in active list**Vertex Tree Example**R I II R 10 A B C 3 1 2 7 4 5 6 8 9 Vertex tree Triangles in active list**8**A 10 6 9 3 4 5 The Vertex Tree:Tris and Subtris 8 7 Fold Node A 2 10 6 9 3 UnfoldNode A 1 4 5 Node->Tris: triangles that change shape upon folding Node->Subtris: triangles that disappear completely**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 The Vertex Tree:Tris and Subtris**Outline**• Why I like graphics • My current research • VDS • Gaze: gaze-directed rendering • NPR • Scanning Monticello**Gaze-Directed Rendering**• View-dependent rendering opens up a new door: gaze-directed rendering • Track the user’s eye gaze • Give more detail to region of interest, less elsewhere**Gaze-Directed Rendering: ERICA**• Problem 1: how to do eye tracking? • Answer ERICA project (Prof. Hutchinson) • Main uses: disabled access, gaze analysis • ERICA pros: • non-intrusive eye tracking • 60 Hz, ~1 cm accuracy • ERICA cons: • No windows (working on it) • Head must stay very still (working on it) • Currently a bit bulky (working on it)