Constrained Strip Generation and Management for Efficient Interactive 3D Rendering - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

Constrained Strip Generation and Management for Efficient Interactive 3D Rendering

Description:

Constrained Strip Generation and Management for. Efficient ... Weighing scheme is independent of stripification algorithm. Use Weighted Perfect Matching ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 33
Provided by: ics5
Category:

less

Transcript and Presenter's Notes

Title: Constrained Strip Generation and Management for Efficient Interactive 3D Rendering


1
Constrained Strip Generation and Management
forEfficient Interactive 3D Rendering
  • Pablo Diaz-Gutierrez, Anusheel Bhushan,
  • M. Gopi and Renato Pajarola
  • Computer Graphics Lab
  • University of California, Irvine

2
Talk Outline
  • Triangle strips Discussion
  • Single-strips
  • Constrained single-strips
  • Applications of constrained single-strips
  • Results and conclusion

3
Triangle Strips Traditionally
  • Improve rendering performance
  • Render T triangles
  • Using GL_TRIANGLES send 3T vertices.
  • S strips 2ST vertices.
  • Not negligible init time per strip.
  • Alternating vs. generalized strips.
  • Incremental vs. global algorithms

4
Triangle Strips Recent work samples
  • Hoppe 99 Optimization of mesh locality for
    transparent vertex caching.
  • Strip arrangement depends on cache size
    (typically 16-32 verts.).
  • Mitani and Suzuki 04 Making papercraft toys
    from meshes using strip-based approximate
    unfolding.
  • Rossignac 99 Edgebreaker Connectivity
    Compression for Triangle Meshes.
  • Isenburg 00 Triangle Strip Compression.
  • Stewart 01 Tunneling for triangle strips in
    continuous level-of-detail meshes
  • El Sana, Azanli, Varshney 99 Skip Strips
    Maintaining Triangle Strips for View-dependent
    Rendering

Images courtesy of paper authors
5
Talk Outline
  • Triangle strips Discussion
  • Single-strips
  • Constrained single-strips
  • Applications of constrained single-strips
  • Results and conclusion

6
Single-strips
  • A single-strip is a Hamiltonian path in the dual
    graph of a triangle mesh.
  • Calculating a Hamiltonian path is NP-complete
    Introduce some vertices to simplify problem.
  • We use single-loops First and last triangles are
    adjacent.

7
Why single-strips?
  • Pure performance doesnt justify single-strips
  • With long strips, one extra vertex is negligible.
  • Single-strips have more advantages
  • Some topological properties can be derived.
  • Use linearity to compress connectivity.
  • Easy to keep long strips during simplification.
  • Simpler data structures and algorithms.
  • Reduce overhead (proportional to number of
    strips).

8
Single-strip creation
  • We use Gopi and Eppstein 04 single-strip
    algorithm.
  • A perfect graph matching matches every vertex to
    exactly one of its neighbors.
  • Exists for a 3-regular, 3-connected graph
    (Petersens theorem).
  • Such as the dual graph of a triangulated
    manifold.
  • Perfect matching
  • Matches every triangle to exactly one of its
    neighbors
  • Disjoint triangle loops formed by unmatched
    neighbors
  • Then merge loops to form a single strip loop.

9
Single-strip creation merging loops
  • Nodal vertex processing

Insufficient to merge all disjoint loops in the
mesh. Need another operation.
10
Single-strip creation merging loops
  • Edge split Identify separating matched edge.

11
Single-strip creation merging loops
  • Edge split Split matched triangles adding
    Steiner vertex.

12
Single-strip creation merging loops
  • Edge split Nodal vertex processing at the
    Steiner vertex.

13
Single-strip creation merging loops
  • Edge split Two loops merged into one.

14
Single-strip creation Strip control
  • No control over resulting single-strip.
  • By control we mean
  • Deciding the direction of growth
  • Making it follow patterns
  • Space-filling curves
  • Bounding it to a region of the mesh
  • Restrict it to grow in planar regions
  • Why dont we have it?
  • Strip control is fine grain (local decisions)
  • This is a global, coarse grain approach Input a
    mesh, output a single-strip.

?
15
Talk Outline
  • Triangle strips Discussion
  • Single-strips
  • Constrained single-strips
  • Applications of constrained single-strips
  • Results and conclusion

16
Our contribution
  • We present an algorithm that provides certain
    control over the single-strip.
  • Made to follow preferred strip directions

17
Constrained Single-strips
  • How to control a single-strip?
  • Advice (assign weights) the matching algorithm to
    choose certain edges of the dual graph over
    others.
  • Application-dependent
  • Higher weight
  • Desired matched edge
  • Non-desired strip edge
  • Weighing scheme is independent of stripification
    algorithm
  • Use Weighted Perfect Matching

0
0
0
3
1
0
0
0
0
0
0
4
5
1
1
1
0
0
0
0
0
0
2
1
1
1
0
18
Constrained Single-strips
  • How to control a single-strip?
  • Advice (assign weights) the matching algorithm to
    choose certain edges of the dual graph over
    others.
  • Application-dependent
  • Higher weight
  • Desired matched edge
  • Non-desired strip edge
  • Weighing scheme is independent of stripification
    algorithm
  • Use Weighted Perfect Matching

19
Constrained Single-strips
  • How to control a single-strip?
  • Advice (assign weights) the matching algorithm to
    choose certain edges of the dual graph over
    others.
  • Application-dependent
  • Higher weight
  • Desired matched edge
  • Non-desired strip edge
  • Weighing scheme is independent of stripification
    algorithm
  • Use Weighted Perfect Matching

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
20
Constrained Single-strips Efficiency
  • Original single-strip algorithm O(N2)
  • N Number of triangles
  • Dominated by matching algorithm
  • Constrained single-strip O(N2 log N)
  • Performance penalty for weighted matching

21
Talk Outline
  • Triangle strips Discussion
  • Single-strips
  • Constrained single-strips
  • Applications of constrained single-strips
  • Back-face culling
  • Improvement of vertex cache usage
  • Results and conclusion

22
Back-face culling with single-strips
  • Back-face culling to avoid rendering non visible
    faces due to orientation.
  • More useful if many faces are tested together
  • Force the strip to form planar clusters
  • Test long segments of the strip at same time

23
Back-face culling with single-strips
  • Weight calculation
  • Variational Shape Approximation Cohen-Steiner et
    al. 04 to find planar clusters of triangles and
    assign
  • High weight in edges across region borders
  • Low (zero) weight everywhere else
  • Resulting disjoint loops remain within planar
    regions

24
Back-face culling with single-strips
  • Efficient visibility testing
  • Construct segment tree
  • Associate view-cone to each segment
  • Test root segment first
  • Front-facing Render segment
  • Back-facing Skip segment
  • Partially front-facing Traverse down the
    hierarchy
  • Long strips after culling

25
Talk Outline
  • Triangle strips Discussion
  • Single-strips
  • Constrained single-strips
  • Applications of constrained single-strips
  • Back-face culling
  • Improvement of vertex cache usage
  • Results and conclusion

26
Improving vertex cache usage
  • Target maximizing vertex cache hit ratio
  • Strip reuses recent vertices
  • Just like a space-filling curve
  • Duality Space-filling curve and its medial axis
  • Equivalently Single-strip and edge spanning tree

Sierpinski space-filling curve and its medial axis
Our high-locality single-strip
27
Improving vertex cache usage
  • Weight calculation
  • Calculate breadth-first edge tree
  • Weight 1 for edges in the tree
  • Weight 0 for edges NOT in the tree
  • Cache oblivious strip layout
  • Cache-hit ratio around 90 of other cache-aware
    layouts for any specific cache-size Hoppe 99,
    Bar-Yehuda et al. 96

28
Talk Outline
  • Triangle strips Discussion
  • Single-strips
  • Constrained single-strips
  • Applications of constrained single-strips
  • Results and conclusion

29
Results
Frames per second for real-time rendering of
single-strips on 4 models with different
constraints. Values measured during a 360 degree
walk-around of the model.
30
Contributions
  • Added control to single-stripification
  • Demonstrated two applications
  • Back-face culling while maintaining long strips
  • Cache-oblivious strip optimization

31
Current and future work
  • Handle manifolds with boundaries (done)
  • Patch-based single-stripification.
  • Specialized perfect matching algorithms (for
    3-regular graphs).
  • Use approximate (non-perfect) matching.
  • Test different space-filling curves.
  • Find other applications of single-strips.

32
Thank you.
  • Questions, comments and corrections are welcome
Write a Comment
User Comments (0)
About PowerShow.com