silhouette clipping l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Silhouette Clipping PowerPoint Presentation
Download Presentation
Silhouette Clipping

Loading in 2 Seconds...

play fullscreen
1 / 74

Silhouette Clipping - PowerPoint PPT Presentation


  • 150 Views
  • Uploaded on

Silhouette Clipping. Pedro V. Sander Xianfeng Gu Steven J. Gortler Harvard University. Hugues H. Hoppe John M. Snyder Microsoft Research. poor silhouette. + texture/bump map. Mesh simplification. original mesh. coarse mesh. Silhouette clipping. original mesh. coarse mesh.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Silhouette Clipping' - drake


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
silhouette clipping

Silhouette Clipping

Pedro V. Sander

Xianfeng Gu

Steven J. Gortler

Harvard University

Hugues H. Hoppe

John M. Snyder

Microsoft Research

mesh simplification

poorsilhouette

+ texture/bump map

Mesh simplification

original mesh

coarse mesh

silhouette clipping3
Silhouette clipping

original mesh

coarse mesh

+ texture/bump map

silhouette clipped

silhouette clipping4
Silhouette clipping

original mesh

coarse mesh

+ texture/bump map

silhouette clipped

overview
Overview

coarse mesh

rendered

original mesh

normal map

[Soucy et al 96]

[Cignoni et al 98]

[Cohen et al 98]

Preprocess

Runtime

overview7
Overview

coarse hull

rendered

original mesh

normal map

stencil mask

2D silhouette

edge hierarchy

Preprocess

Runtime

overview8
Overview

coarse hull

rendered

silhouetteclipped

original mesh

normal map

2D silhouette

edge hierarchy

Preprocess

Runtime

major contributions
Major contributions
  • Progressive hull
  • Texture creation
  • Silhouette extraction
  • Stencil setting
major contributions10
Major contributions
  • Progressive hull
  • Texture creation
  • Silhouette extraction
  • Stencil setting
major contributions11
Major contributions
  • Progressive hull
  • Texture creation
  • Silhouette extraction
  • Stencil setting
major contributions12
Major contributions
  • Progressive hull
  • Texture creation
  • Silhouette extraction
  • Stencil setting
major contributions13
Major contributions
  • Progressive hull
  • Texture creation
  • Silhouette extraction
  • Stencil setting
coarse hull
Coarse hull

Original mesh

Coarse hull

Given mesh, create coarse mesh that encloses it.

progressive hull
Progressive hull
  • Progressive mesh sequence
  • Every mesh encloses all finer meshes.
edge collapse
Edge collapse
  • Perform greedy sequence of collapses.
  • Ensure new mesh encloses old mesh: Linear programming problem

Mi

Mi-1

linear programming 2d23
Linear programming (2D)

new vertexposition

texture creation
Texture creation

coarse hull

rendered

[Cignoni et al 98]

[Soucy et al 96]

original mesh

normal map

texture creation27
Texture creation

vertex normals

coarse

original

closest-point

[Cignoni et al 98]

normal-shooting

Ours

silhouette extraction
Silhouette extraction

Given mesh and viewpoint, return edges on silhouette.

what is a silhouette edge
What is a silhouette edge?
  • Edge is on silhouette iff one adjacent triangle faces towards viewpoint:

not silhouette

silhouette

related schemes
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 conesextracts 3,500 sil edges of 100,000 edges at 250 fps
hierarchical culling
Hierarchical culling
  • Each node contains:
    • cluster of mesh edges
    • spatial culling primitive
hierarchical culling32
Hierarchical culling
  • Each node contains:
    • cluster of mesh edges
    • spatial culling primitive
spatial culling primitive
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

spatial culling primitive34
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

spatial culling primitive35
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.

spatial culling primitive36
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.

spatial culling primitive37
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.

anchored cone primitive
Anchored cone primitive

front-facing

cone

back-facing

cone

anchored cone primitive39
Anchored cone primitive
  • Calculate central axisGilbert’s algorithm
  • Calculate cone angle
  • Calculate anchor positionsLinear programming
anchored cone primitive40
Anchored cone primitive
  • Calculate central axisGilbert’s algorithm
  • Calculate cone angle
  • Calculate anchor positionsLinear programming
anchored cone primitive41
Anchored cone primitive
  • Calculate central axisGilbert’s algorithm
  • Calculate cone angle
  • Calculate anchor positionsLinear programming
hierarchy construction
Hierarchy construction
  • Bottom-up greedy joining

two clusters

parent

merge

adopt

hierarchy construction43
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.
stencil setting algorithm
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
silhouette antialiasing
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.
silhouette clipping demos
Silhouette clipping demos

Parasaur

3x speedup

Knot

8x speedup

timing analysis
Timing analysis

All times in milliseconds

timing analysis70
Timing analysis

All times in milliseconds

timing analysis71
Timing analysis

All times in milliseconds

timing analysis72
Timing analysis

All times in milliseconds

summary
Summary
  • Silhouette clipping & antialiasing
  • Progressive hull
  • Normal-shooting parametrization
  • Fast silhouette extraction
future work
Future work
  • Handle internal silhouettes
  • Silhouette level-of-detail
  • Visual hull simplification