Silhouette Clipping - PowerPoint PPT Presentation

1 / 69
About This Presentation
Title:

Silhouette Clipping

Description:

Silhouette Clipping Pedro V. Sander Xianfeng Gu Steven J. Gortler Harvard University Hugues H. Hoppe John M. Snyder Microsoft Research Mesh simplification Silhouette ... – PowerPoint PPT presentation

Number of Views:101
Avg rating:3.0/5.0
Slides: 70
Provided by: pedr45
Learn more at: http://cs.harvard.edu
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
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
Progressive hull demo
25
Texture creation
coarse hull
rendered
Cignoni et al 98 Soucy et al 96
original mesh
normal map
26
Texture creation
vertex normals
coarse
original
closest-point Cignoni et al 98
normal-shooting Ours
27
Silhouette extraction
Given mesh and viewpoint, return edges on
silhouette.
28
What is a silhouette edge?
  • Edge is on silhouette iff one adjacent triangle
    faces towards viewpoint

not silhouette
silhouette
29
Related schemes
  • Brute force O(edges) but O(edges on
    silhouette) ? O(?edges) !
  • 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 cullingOurs optimized hierarchy of
    anchored cones extracts 3,500 sil edges of
    10,000 edges at 250 fps

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

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

32
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.

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.

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.

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

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

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

39
Hierarchy construction
  • Bottom-up greedy joining

two clusters
merge
adopt
parent
40
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.

41
Silhouette extraction video
42
Performance
Model Bunny Dragon Parasaur Knot Holes3
Total edges 104,511 600,000 65,799 278,784 282,624
Sil edges 3,461 23,493 3,227 3,291 1,737
Tested edges 10,256 67,934 10,938 13,134 5,976
Time (ms) 4.1 28.2 4.3 7.9 3.3
43
Performance
Model Bunny Dragon Parasaur Knot Holes3
Total edges 104,511 600,000 65,799 278,784 282,624
Sil edges 3,461 23,493 3,227 3,291 1,737
Tested edges 10,256 67,934 10,938 13,134 5,976
Time (ms) 4.1 28.2 4.3 7.9 3.3
44
Performance
Model Bunny Dragon Parasaur Knot Holes3
Total edges 104,511 600,000 65,799 278,784 282,624
Sil edges 3,461 23,493 3,227 3,291 1,737
Tested edges 10,256 67,934 10,938 13,134 5,976
Time (ms) 4.1 28.2 4.3 7.9 3.3
45
Performance
Model Bunny Dragon Parasaur Knot Holes3
Total edges 104,511 600,000 65,799 278,784 282,624
Sil edges 3,461 23,493 3,227 3,291 1,737
Tested edges 10,256 67,934 10,938 13,134 5,976
Time (ms) 4.1 28.2 4.3 7.9 3.3
46
Performance
Model Bunny Dragon Parasaur Knot Holes3
Total edges 104,511 600,000 65,799 278,784 282,624
Sil edges 3,461 23,493 3,227 3,291 1,737
Tested edges 10,256 67,934 10,938 13,134 5,976
Time (ms) 4.1 28.2 4.3 7.9 3.3
47
Stencil setting
48
Stencil setting algorithm
  • Algorithm inspired by concave polygon-filling
    algorithm.
  • Silhouette edges organized in hash table.
  • Each contour drawn as fan of triangles
  • Triangle front-facing ? stencil 1
  • Triangle back-facing ? stencil 1

49
Stencil setting algorithm
50
Stencil setting algorithm
51
Stencil setting algorithm
52
Stencil setting algorithm
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 video
62
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.

63
Silhouette antialiasing video
64
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
65
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
66
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
67
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
68
Summary
  • Silhouette clipping antialiasing
  • Fast silhouette extraction
  • Progressive hull
  • Normal-shooting parametrization

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