Silhouette Clipping - PowerPoint PPT Presentation

1 / 74
About This Presentation
Title:

Silhouette Clipping

Description:

Ours: optimized hierarchy of anchored cones ... Calculate cone angle. Calculate anchor positions. Linear programming. Hierarchy construction ... – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 75
Provided by: ResearchM53
Category:

less

Transcript and Presenter's Notes

Title: Silhouette Clipping


1
Silhouette Clipping
  • Pedro V. Sander
  • Xianfeng Gu
  • Steven J. Gortler
  • Harvard University

Hugues H. Hoppe John M. Snyder Microsoft
Research
2
Mesh simplification
original mesh
coarse mesh
3
Silhouette clipping
original mesh
coarse mesh
texture/bump map
silhouette clipped
4
Silhouette clipping
original mesh
coarse mesh
texture/bump map
silhouette clipped
5
Silhouette clipping demo
6
Overview
coarse mesh
rendered
original mesh
normal map
Soucy et al 96 Cignoni et al 98 Cohen et al
98
Runtime
Preprocess
7
Overview
coarse hull
rendered
original mesh
normal map
stencil mask
2D silhouette
edge hierarchy
Runtime
Preprocess
8
Overview
coarse hull
rendered
silhouetteclipped
original mesh
normal map
2D silhouette
edge hierarchy
Runtime
Preprocess
9
Major contributions
  • Progressive hull
  • Texture creation
  • Silhouette extraction
  • Stencil setting

10
Major contributions
  • Progressive hull
  • Texture creation
  • Silhouette extraction
  • Stencil setting

11
Major contributions
  • Progressive hull
  • Texture creation
  • Silhouette extraction
  • Stencil setting

12
Major contributions
  • Progressive hull
  • Texture creation
  • Silhouette extraction
  • Stencil setting

13
Major contributions
  • Progressive hull
  • Texture creation
  • Silhouette extraction
  • Stencil setting

14
Coarse hull
Original mesh
Coarse hull
Given mesh, create coarse mesh that encloses it.
15
Progressive hull
  • Progressive mesh sequence
  • Every mesh encloses all finer meshes.

16
Edge collapse
M i
M i-1
  • Perform greedy sequence of collapses.
  • Ensure new mesh encloses old mesh Linear
    programming problem

17
Linear programming (2D)
18
Linear programming (2D)
19
Linear programming (2D)
20
Linear programming (2D)
21
Linear programming (2D)
22
Linear programming (2D)
23
Linear programming (2D)
new vertexposition
24
Linear programming (2D)
25
Progressive hull demo
26
Texture creation
coarse hull
rendered
Cignoni et al 98 Soucy et al 96
original mesh
normal map
27
Texture creation
vertex normals
coarse
original
closest-point Cignoni et al 98
normal-shooting Ours
28
Silhouette extraction
Given mesh and viewpoint, return edges on
silhouette.
29
What is a silhouette edge?
  • Edge is on silhouette iff one adjacent triangle
    faces towards viewpoint

not silhouette
silhouette
30
Related schemes
  • Markosian et al 97 probabilistic
  • Gooch et al 99 assumes orthographic view
  • Barequet et al 99 Hertzmann Zorin 00
    dual-space formulation
  • Kumar et al 96 Johannsen Carter 98
    backface culling
  • Ours optimized hierarchy of anchored cones
    extracts 3,500 sil edges of 100,000 edges at 250
    fps

31
Hierarchical culling
  • Each node contains
  • cluster of mesh edges
  • spatial culling primitive

32
Hierarchical culling
  • Each node contains
  • cluster of mesh edges
  • spatial culling primitive

33
Spatial culling primitive
  • Given cluster of edges,check if there are no
    silhouette edges.
  • True if adjacent triangles are all front-facing
    or all back-facing.

2D cross-section
34
Spatial culling primitive
  • Given cluster of edges,check if there are no
    silhouette edges.
  • True if adjacent triangles are all front-facing
    or all back-facing.

2D cross-section
35
Spatial culling primitive
  • Given cluster of edges,check if there are no
    silhouette edges.
  • True if adjacent triangles are all front-facing
    or all back-facing.

36
Spatial culling primitive
  • Given cluster of edges,check if there are no
    silhouette edges.
  • True if adjacent triangles are all front-facing
    or all back-facing.

37
Spatial culling primitive
  • Given cluster of edges,check if there are no
    silhouette edges.
  • True if adjacent triangles are all front-facing
    or all back-facing.

38
Anchored cone primitive
front-facing cone
back-facing cone
39
Anchored cone primitive
  • Calculate central axisGilberts algorithm
  • Calculate cone angle
  • Calculate anchor positionsLinear programming

40
Anchored cone primitive
  • Calculate central axisGilberts algorithm
  • Calculate cone angle
  • Calculate anchor positionsLinear programming

41
Anchored cone primitive
  • Calculate central axisGilberts algorithm
  • Calculate cone angle
  • Calculate anchor positionsLinear programming

42
Hierarchy construction
  • Bottom-up greedy joining

two clusters
merge
adopt
parent
43
Hierarchy construction
  • Each root has probability of culling.
  • We compute an expected extraction cost for each
    root, and the forest.
  • Choose next join operation to maximally decrease
    expected extraction cost.

44
Silhouette extraction video
45
Performance
Model Dragon Bunny Parasaur Knot Holes3
Total edges 600,000 104,511 65,799 278,784 282,624
Sil edges 23,493 3,461 3,227 3,291 1,737
Tested edges 67,934 10,256 10,938 13,134 5,976
Tested cones 26,291 4,282 3,538 7,926 4,594
Time (ms) 28.2 4.1 4.3 7.9 3.3
46
Performance
Model Dragon Bunny Parasaur Knot Holes3
Total edges 600,000 104,511 65,799 278,784 282,624
Sil edges 23,493 3,461 3,227 3,291 1,737
Tested edges 67,934 10,256 10,938 13,134 5,976
Tested cones 26,291 4,282 3,538 7,926 4,594
Time (ms) 28.2 4.1 4.3 7.9 3.3
47
Performance
Model Dragon Bunny Parasaur Knot Holes3
Total edges 600,000 104,511 65,799 278,784 282,624
Sil edges 23,493 3,461 3,227 3,291 1,737
Tested edges 67,934 10,256 10,938 13,134 5,976
Tested cones 26,291 4,282 3,538 7,926 4,594
Time (ms) 28.2 4.1 4.3 7.9 3.3
48
Performance
Model Dragon Bunny Parasaur Knot Holes3
Total edges 600,000 104,511 65,799 278,784 282,624
Sil edges 23,493 3,461 3,227 3,291 1,737
Tested edges 67,934 10,256 10,938 13,134 5,976
Tested cones 26,291 4,282 3,538 7,926 4,594
Time (ms) 28.2 4.1 4.3 7.9 3.3
49
Performance
Model Dragon Bunny Parasaur Knot Holes3
Total edges 600,000 104,511 65,799 278,784 282,624
Sil edges 23,493 3,461 3,227 3,291 1,737
Tested edges 67,934 10,256 10,938 13,134 5,976
Tested cones 26,291 4,282 3,538 7,926 4,594
Time (ms) 28.2 4.1 4.3 7.9 3.3
50
Performance
Model Dragon Bunny Parasaur Knot Holes3
Total edges 600,000 104,511 65,799 278,784 282,624
Sil edges 23,493 3,461 3,227 3,291 1,737
Tested edges 67,934 10,256 10,938 13,134 5,976
Tested cones 26,291 4,282 3,538 7,926 4,594
Time (ms) 28.2 4.1 4.3 7.9 3.3
51
Stencil setting
52
Stencil setting algorithm
  • Algorithm inspired by concave polygon-filling
    algorithm.
  • Order silhouette edges into loops.
  • Each loop drawn as fan of triangles
  • Triangle front-facing ? stencil 1
  • Triangle back-facing ? stencil 1

53
Stencil setting algorithm
54
Stencil setting algorithm
55
Stencil setting algorithm
56
Stencil setting algorithm
57
Stencil setting algorithm
58
Stencil setting algorithm
59
Stencil setting algorithm
60
Stencil setting algorithm
61
Stencil setting algorithm
62
Stencil setting algorithm
63
Stencil setting algorithm
64
Stencil setting algorithm
65
Stencil setting video
66
Silhouette antialiasing
  • Transfer stencil to alpha buffer stencil 0
    ? alpha 0.0 stencil 1 ? alpha 1.0
  • Render silhouette edges in alpha buffer as
    antialiased line segments.
  • Render coarse hull subject to alpha buffer.

67
Silhouette antialiasing video
68
Silhouette clipping demos
Parasaur 3x speedup
Knot 8x speedup
69
Timing analysis
Model Bunny Dragon Parasaur Knot Holes3
Faces (original) 69,674 400,000 43,866 185,856 188,416
Rendering time 34.7 204.7 20.6 81.1 90.3
Faces (coarse) 500 4,000 1,020 928 500
Rendering time 4.8 5.2 4.9 4.9 4.4
SC Rendering time 7.8 50.3 6.9 10.3 5.5
Speedup factor 4.4 4.1 3.0 7.9 16.4
All times in milliseconds
70
Timing analysis
Model Bunny Dragon Parasaur Knot Holes3
Faces (original) 69,674 400,000 43,866 185,856 188,416
Rendering time 34.7 204.7 20.6 81.1 90.3
Faces (coarse) 500 4,000 1,020 928 500
Rendering time 4.8 5.2 4.9 4.9 4.4
SC Rendering time 7.8 50.3 6.9 10.3 5.5
Speedup factor 4.4 4.1 3.0 7.9 16.4
All times in milliseconds
71
Timing analysis
Model Bunny Dragon Parasaur Knot Holes3
Faces (original) 69,674 400,000 43,866 185,856 188,416
Rendering time 34.7 204.7 20.6 81.1 90.3
Faces (coarse) 500 4,000 1,020 928 500
Rendering time 4.8 5.2 4.9 4.9 4.4
SC Rendering time 7.8 50.3 6.9 10.3 5.5
Speedup factor 4.4 4.1 3.0 7.9 16.4
All times in milliseconds
72
Timing analysis
Model Bunny Dragon Parasaur Knot Holes3
Faces (original) 69,674 400,000 43,866 185,856 188,416
Rendering time 34.7 204.7 20.6 81.1 90.3
Faces (coarse) 500 4,000 1,020 928 500
Rendering time 4.8 5.2 4.9 4.9 4.4
SC Rendering time 7.8 50.3 6.9 10.3 5.5
Speedup factor 4.4 4.1 3.0 7.9 16.4
All times in milliseconds
73
Summary
  • Silhouette clipping antialiasing
  • Progressive hull
  • Normal-shooting parametrization
  • Fast silhouette extraction

74
Future work
  • Handle internal silhouettes
  • Silhouette level-of-detail
  • Visual hull simplification
Write a Comment
User Comments (0)
About PowerShow.com