Multi-Resolution Techniques Sung-Eui Yoon ( ) Course URL: - - PowerPoint PPT Presentation

multi resolution techniques
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Multi-Resolution Techniques

Sung-Eui Yoon (윤성의)

Course URL: http://jupiter.kaist.ac.kr/~sungeui/SGA/

slide-2
SLIDE 2

2

At the Previous Class

  • The overview of the course
  • Culling techniques
slide-3
SLIDE 3

3

Problems

  • Even after visibility culling we can still have

too many visible triangles

13M Triangles 372 million triangles (10GB)

slide-4
SLIDE 4

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

slide-5
SLIDE 5

5

Multi-Resolution or Levels of Detail

  • Basic idea
  • Render with fewer triangles when model is

farther from viewer

  • Methods
  • Polygonal simplification
  • Parametric and subdivision surfaces
  • I mage impostors

Viewer Lower resolution

slide-6
SLIDE 6

6

Polygonal Simplification

  • Method for reducing the polygon count of

mesh

  • Two main components
  • Simplification operators
  • Simplification error metrics
slide-7
SLIDE 7

7

Simplification Operators

  • Vertex clustering
  • Edge collapse
  • Vertex removal
slide-8
SLIDE 8

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
slide-9
SLIDE 9

9

Vertex Clustering

  • Main benefits
  • Simple and robust
  • Disadvantages
  • Hard to target a polygon count
  • Poor error control
slide-10
SLIDE 10

10

Edge Collapse [Hoppe93]

  • Fine grained
  • Reduce two triangles at most
  • Allows simple geomorphs
  • Topology preserving

Edge Collapse Va Vb Va Vc Vertex Split

slide-11
SLIDE 11

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(n2)

virtual edges Va Vb

slide-12
SLIDE 12

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
  • peration (e.g. position of the new vertex)
  • To choose an LOD at runtime
  • Two common LOD selection criteria
  • Target frame rate vs. target quality
slide-13
SLIDE 13

13

Hausdorff Distance

  • A measure of surface deviation
  • H(A,B)= max(h(a,b),h(b,a)),

where h(A,B)= maxa minb (| 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 A B

slide-14
SLIDE 14

14

Vertex Plane Distance [Ranford 96]

  • One metric is the max distance between

the vertex and the planes of the supported triangles

E= E=max maxp

p (p

(p•

  • v

v) )

a b v Surface Imaginary planes

slide-15
SLIDE 15

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]

slide-16
SLIDE 16

16

Attributes

  • Vertices have more than just position:
  • Colors
  • Normals
  • Texture coords
  • Shader programs
slide-17
SLIDE 17

17

Overall Simplification Process

  • Compute simplification candidates
  • While (there is candidate)
  • Pick a candidate with the smallest error
  • Perform the simplification
slide-18
SLIDE 18

View-Dependent Rendering

  • Use different resolutions according to

view points

  • [Clark 76, Funkhouser and Sequin 93]
  • Static levels-of-detail (LODs)
  • Dynamic (or view-dependent)

simplification Viewer Lower resolution

slide-19
SLIDE 19

Static LODs

50,000 faces 50,000 faces 10,000 faces 10,000 faces 2,000 faces 2,000 faces pop pop pop pop

  • Pre-compute discrete simplified meshes
  • Switch between them at runtime
  • Has very low LOD selection overhead

Excerpted from Hoppe’s slides

slide-20
SLIDE 20

Dynamic Simplification

  • Provides smooth and varying LODs over

the mesh [Hoppe 97]

1st person’s view 3rd person’s view Play video

slide-21
SLIDE 21

Vertex Hierarchy

21 Edge Collapse Va Vb Va Vc Vertex Split Vertex Hierarchy Vc Va Vb

slide-22
SLIDE 22

View-Dependent Refinement

22 Vertex Hierarchy Front representing a LOD mesh

slide-23
SLIDE 23

23

Dynamic Simplification: Issues

  • Representation
  • Construction
  • Runtime computation
  • I ntegration with other acceleration

techniques

slide-24
SLIDE 24

24

Dynamic Simplification: Issues

  • Representation
  • Construction
  • Runtime computation
  • I ntegration with other acceleration

techniques 22+GB for 100M triangles [Hoppe 97]

slide-25
SLIDE 25

25

Dynamic Simplification: Issues

  • Representation
  • Construction
  • Runtime computation
  • I ntegration with other acceleration

techniques

slide-26
SLIDE 26

26

Dynamic Simplification: Issues

  • Representation
  • Construction
  • Runtime computation
  • I ntegration with other acceleration

techniques Rendering throughput

  • f 3M triangles per sec

[Lindstrom 03]

slide-27
SLIDE 27

27

Dynamic Simplification: Issues

  • Representation
  • Construction
  • Runtime computation
  • I ntegration with other acceleration

techniques

GPU Small vertex cache Many cache misses

slide-28
SLIDE 28

28

Dynamic Simplification: Issues

  • Representation
  • Construction
  • Runtime computation
  • I ntegration with other acceleration

techniques

slide-29
SLIDE 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
slide-30
SLIDE 30

Live Demo – View-Dependent Rendering [Yoon et al., SIG 05]

Pentium 4 GeForce Go 6800 Ultra 1GB RAM 30 Pixels of error

slide-31
SLIDE 31

Clustered Hierarchy of Progressive Meshes (CHPM)

  • Novel dynamic simplification

representation

  • Cluster hierarchy
  • Progressive meshes

PM1 PM3 PM2

slide-32
SLIDE 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

slide-33
SLIDE 33

Clustered Hierarchy of Progressive Meshes (CHPM)

  • Progressive mesh (PM) [Hoppe 96]
  • Each cluster contains a PM as an LOD

representation

PM:

Base mesh

Vertex split 0 Vertex split n …

Refined mesh

Edge collapse Vertex split

slide-34
SLIDE 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

slide-35
SLIDE 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

slide-36
SLIDE 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-split Cluster-collapse

slide-37
SLIDE 37

Two-Levels of Refinement at Runtime

  • Fine-grained local refinement
  • Supported by performing vertex splits in PMs
  • I ntra-cluster refinements

Vertex split 0 Vertex split 1 Vertex split n …..

PM

Efficient and effective representation for massive models!

slide-38
SLIDE 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

slide-39
SLIDE 39

39

Overview of Building a CHPM

Cluster decomposition Input model Cluster hierarchy generation Hierarchical simplification CHPM

Performed

  • ut-of-core
slide-40
SLIDE 40

40

Overview of Building a CHPM

Cluster decomposition Input model Cluster hierarchy generation Hierarchical simplification CHPM

slide-41
SLIDE 41

41

Overview of Building a CHPM

Cluster decomposition Input model Cluster hierarchy generation Hierarchical simplification CHPM

slide-42
SLIDE 42

42

Overview of Building a CHPM

Cluster decomposition Input model Cluster hierarchy generation Hierarchical simplification CHPM

slide-43
SLIDE 43

43

Out-of-Core Hierarchical Simplification

  • Simplifies clusters bottom-up
slide-44
SLIDE 44

44

Out-of-Core Hierarchical Simplification

  • Simplifies clusters bottom-up

PM PM PM

slide-45
SLIDE 45

45

Boundary Simplification

C B Cluster hierarchy A D E F

dependency

B C D A Boundary constraints

slide-46
SLIDE 46

46

Boundary Simplification

C B Cluster hierarchy A D E F

dependency

B C D A F E

slide-47
SLIDE 47

47

Boundary Constraints

  • Common problem in many hierarchical

simplification algorithms

  • [Hoppe 98; Prince 00; Govindaraju et al. 03]
slide-48
SLIDE 48

48

Boundary Constraints

slide-49
SLIDE 49

49

Boundary Constraints

slide-50
SLIDE 50

50

Cluster Dependencies

  • Replaces preprocessing constraints with

runtime dependencies

slide-51
SLIDE 51

51

Cluster Dependencies

C B Cluster hierarchy A D E F dependency B C D A E F

slide-52
SLIDE 52

52

Cluster Dependencies

C B Cluster hierarchy A D E F dependency B C D A E F

slide-53
SLIDE 53

53

Cluster Dependencies at Runtime

C B Cluster hierarchy A D E F dependency

Cluster-split Force cluster-split

slide-54
SLIDE 54

54

Chained Dependency

  • I nappropriate for refinements
slide-55
SLIDE 55

55

Cluster Dependencies

slide-56
SLIDE 56

56

Cluster Dependencies

227K triangles 19K triangles 92% triangles reduced After creating cluster dependencies

slide-57
SLIDE 57

Runtime Performance

Model Pixels-of- errors Frame rate Model size

Power plant 1 28 1GB Iso- surface 10 18 2.5GB St. Matthew 1 29 13GB

512x512 image resolution, 700MB memory footprint threshold GeForce 5950FX

slide-58
SLIDE 58

58

Other Forms of LOD

  • I mage impostors
  • Shader LOD
  • Number of shaders
  • Number of textures
  • Simulation LOD
  • Time steps
  • Simulation resolution
  • Number of particles
  • Lighting
  • Number and type of lights used
slide-59
SLIDE 59

59

Next Time..

  • Study cache-coherent algorithms