18
G. Müller, Dagstuhl Semi nar 00251, 19/06/2000 1 ComputerGraphics, TU Braunschweig Hierarchical Data Structures for Efficient Rendering and Navigation Gordon Müller Computer Graphics TU Braunschweig

Hierarchical Data Structures for Efficient Rendering and Navigation

Embed Size (px)

DESCRIPTION

Hierarchical Data Structures for Efficient Rendering and Navigation. Gordon Müller Computer Graphics TU Braunschweig. Overview. Framework for Efficient Rendering Techniques Object Hierarchies for Visibility Culling / Rendering / Radiosity / Raytracing / ... Automatic Hierarchy Creation - PowerPoint PPT Presentation

Citation preview

Page 1: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

1ComputerGraphics, TU Braunschweig

Hierarchical Data Structures for Efficient Rendering and

Navigation

Gordon Müller

Computer Graphics

TU Braunschweig

Page 2: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

2ComputerGraphics, TU Braunschweig

Overview

• Framework for Efficient Rendering Techniques

• Object Hierarchies for Visibility Culling / Rendering / Radiosity / Raytracing / ...

• Automatic Hierarchy Creation• System Architecture• Navigation• Conclusions

Page 3: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

3ComputerGraphics, TU Braunschweig

Visibility Culling

• Design goals• conservative culling• dynamic scenes• real 3D• memory efficient• fast pre-processing

occluded

culled

Page 4: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

4ComputerGraphics, TU Braunschweig

Visibility Culling using Object Hierarchies

• Given any object hierarchy, perform conservative visibility test at inner scene nodes when traversing the graph based on bboxes

1

2

3

4

56

78

7

5 3 46 1 2 8

Page 5: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

5ComputerGraphics, TU Braunschweig

Culling

• Conservative view-frustum test (inside, outside, partially)

• Conservative occlusion test (occluded, partially visible)

• Occlusion test: hierarchical occlusion maps, OpenGL extensions, ...

• Occluder selection: ray casting samples• Traversal order: OpenGL select mode• Avoid unnecessary tests!

Page 6: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

6ComputerGraphics, TU Braunschweig

Culling Test (De-)Activation

• Disable culling test on failure (i.e. bbox visible)

• Enable culling test by using an oracle• 2-pass algorithm for every frame

I. if (node.activated)visibility test;if (visible(node)) node.activated =

false;recurse(node.childs);

II. Oracle activates nodes

Page 7: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

7ComputerGraphics, TU Braunschweig

Activation Oracle

• Currently• Re-activation after inode frames• Global activation temperature based on activation

success

• Work in progress• Frame rate analysis• Optimizations for static and/or particular (ie 2½ D)

environments

Page 8: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

8ComputerGraphics, TU Braunschweig

Visibility Culling Results

• Performance gain in framerate: 5-50% compared to naive culling at every scene node

• Elimination of ~75% of unsuccessful tests• Method adapts well to different scene types• Slightly higher frame rate variance• Good object hierarchies are essential for

efficient culling performance!

Page 9: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

9ComputerGraphics, TU Braunschweig

Demo

• Frankfurt• molecules

Page 10: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

10ComputerGraphics, TU Braunschweig

Bounding Volume Optimization I• Recursively subdivide the set of objects into

two disjoint sub-scenes• Objects are sorted along coordinate axes• No fixed subdivision position...

Page 11: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

11ComputerGraphics, TU Braunschweig

Bounding Volume Optimization II

• …instead, we minimize a cost function describing the approximate traversal costs

• Greedy optimization• Object-specific costs• O(n logn) total construction time on average

C B C B p B B C BH ii

n

i i

1

,

Page 12: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

12ComputerGraphics, TU Braunschweig

Object Hierarchy Results

• Tight hierarchical bounding volumes• Automatic separation of distant objects• Run-time efficient• Automatic detection of homogeneous

geometric detail (detects object clusters)

Page 13: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

13ComputerGraphics, TU Braunschweig

Page 14: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

14ComputerGraphics, TU Braunschweig

Objects

• Methods• void render(view*=NULL, coherency*=NULL)• box boundingBox() const• bool intersect(const ray&, intersection&)• float costs(cost_type);

• Implemented• VRML97 input

• Work in progress• subdivision surfaces (view-dependent tesselation)

Page 15: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

15ComputerGraphics, TU Braunschweig

Dynamic Hierarchy Adaption

static

potentially dynamic

dynamic

optimized graph

optimized graph

list

buffer

optimize thread

update thread

list

Page 16: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

16ComputerGraphics, TU Braunschweig

Navigation

• Based on ray casting functionality

Page 17: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

17ComputerGraphics, TU Braunschweig

Page 18: Hierarchical Data Structures for Efficient Rendering and Navigation

G. Müller, Dagstuhl Seminar 00251, 19/06/2000

18ComputerGraphics, TU Braunschweig

Conclusions

• Multi-threaded culling framework on static and dynamic environments (optimize, cull, render, update, navigate, intersect, ...)

• Interactive exploration of large models based on optimized scene hierarchies

• Easy to extend (culling, objects, ...)