Presentation is loading. Please wait.

Presentation is loading. Please wait.

David Luebke2/12/2016 CS 551 / 645: Introductory Computer Graphics David Luebke

Similar presentations


Presentation on theme: "David Luebke2/12/2016 CS 551 / 645: Introductory Computer Graphics David Luebke"— Presentation transcript:

1 David Luebke2/12/2016 CS 551 / 645: Introductory Computer Graphics David Luebke cs551@cs.virginia.edu http://www.cs.virginia.edu/~cs551

2 David Luebke2/12/2016 Dynamic LOD l Recall definition of static LOD: LODs are created offline at fixed resolution –Simplest programming model; decouples simplification and rendering n LOD creation need not address real-time rendering constraints n Run-time rendering need only pick LODs –Fits modern graphics hardware well n Can compile each LOD into triangle strips and display lists n These render much faster than unorganized polygons on today’s hardware

3 David Luebke2/12/2016 Dynamic Level of Detail l A relatively recent departure from the traditional static approach: –Static LOD: create individual LODs in a preprocess –Dynamic LOD: create data structure from which any desired level of detail can be extracted at run time.

4 David Luebke2/12/2016 Advantages of Dynamic LOD l Better granularity  better fidelity l Better granularity  smoother transitions l Supports progressive transmission l Supports view-dependent LOD –Use current view parameters to select best representation for the current view –Single objects may thus span several levels of detail

5 David Luebke2/12/2016 View-Dependent LOD: Examples l Show nearby portions of object at higher resolution than distant portions View from eyepoint Birds-eye view

6 David Luebke2/12/2016 View-Dependent LOD: Examples l Show silhouette regions of object at higher resolution than interior regions

7 David Luebke2/12/2016 Coming up l More on view-dependent LOD l As time permits: –More on animation –Graphics hardware –Intro to radiosity l Recap for final

8 David Luebke2/12/2016 Dynamic LOD: How Does It Work? l So…dynamic LOD is great, but how do we implement it? l 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

9 David Luebke2/12/2016 The Vertex Tree l Each vertex tree node contains: –A subset of model vertices –A representative vertex or repvert l Folding a node collapses its vertices to the repvert l Unfolding a node splits the repvert back into vertices

10 David Luebke2/12/2016 Vertex Tree Example 1 3 2 9 87 10 54 6 12745689 ABC I 3 II R Triangles in active list Vertex tree

11 David Luebke2/12/2016 Vertex Tree Example 3 1 2 9 87 10 54 6 12745689 ABC I 3 II R A Triangles in active list Vertex tree

12 David Luebke2/12/2016 Vertex Tree Example 9 8 10 54 6 12745689 BC I 3 II R A 3 A Triangles in active list Vertex tree

13 David Luebke2/12/2016 Vertex Tree Example 9 8 10 54 6 12745689 BC I 3 II R A 3 B A Triangles in active list Vertex tree

14 David Luebke2/12/2016 Vertex Tree Example 10 12745689 C I 3 II R A 3 B 8 9 AB Triangles in active list Vertex tree

15 David Luebke2/12/2016 Vertex Tree Example 10 12745689 C I 3 II R A 3 B C 8 9 AB Triangles in active list Vertex tree

16 David Luebke2/12/2016 Vertex Tree Example 10 12745689 I 3 II R A 3 B C ABC Triangles in active list Vertex tree

17 David Luebke2/12/2016 Vertex Tree Example II 10 12745689 I 3 R A 3 B C II ABC Triangles in active list Vertex tree

18 David Luebke2/12/2016 Vertex Tree Example 10 12745689 C I 3 R A B II AB Triangles in active list Vertex tree

19 David Luebke2/12/2016 Vertex Tree Example 12745689 C103 R B II I A 10 AB III Triangles in active list Vertex tree

20 David Luebke2/12/2016 Vertex Tree Example 12745689 AC103 R B II I B I Triangles in active list Vertex tree

21 David Luebke2/12/2016 Vertex Tree Example 12745689 AC103 R R B II I B I Triangles in active list Vertex tree

22 David Luebke2/12/2016 Vertex Tree Example 12745689 ABC10 I 3 II R R Triangles in active list Vertex tree

23 David Luebke2/12/2016 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

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

25 David Luebke2/12/2016 Gaze-Directed Rendering l 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

26 David Luebke2/12/2016 Gaze-Directed Rendering: ERICA l Problem 1: how to do eye tracking? l Answer ERICA project (Systems Engineering, Tom Hutchinson P.I.) –Infrared camera sits under/near monitor, watches user’s eye –LED in center of camera lens creates glint and glare (=redeye) –Relation of the two gives eye position

27 David Luebke2/12/2016 Gaze-Directed Rendering: ERICA l ERICA pros: –non-intrusive eye tracking –30 Hz, ~1 cm accuracy l ERICA cons: –No incandescent lights or windows –Head must stay very still (almost fixed) –Currently a bit bulky l Main uses: disabled access

28 David Luebke2/12/2016 Gaze-Directed Rendering: Perceptual Science l Problem 2: how to degrade detail? –Want a rigorous solution, not a hack –Goal 1: Imperceptible LOD n Idea: use findings from perceptual physiology n Map contrast gratings to nodes in tree, only fold nodes when gratings are imperceptible –Goal 2: better LOD, with an understanding of degradation effects


Download ppt "David Luebke2/12/2016 CS 551 / 645: Introductory Computer Graphics David Luebke"

Similar presentations


Ads by Google