Optimizing Triangle Strips for Fast Rendering - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Optimizing Triangle Strips for Fast Rendering

Description:

Impact of buffer size. Summary and conclusions. Surfaces are represented as triangles. ... Increasing the buffer size helps, but the improvements diminish very ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 18
Provided by: dcc9
Category:

less

Transcript and Presenter's Notes

Title: Optimizing Triangle Strips for Fast Rendering


1
Optimizing Triangle Strips for Fast Rendering
Francine Evans, Steven Skiena, and Amitabh
VarshneyState University of New York at Stony
Brook
Arthur LouieOctober 27, 2000
2
Outline
  • Introduction
  • Related work the SGI algorithm
  • The STRIPE algorithm
  • Results
  • Impact of buffer size
  • Summary and conclusions

3
Introduction
  • Surfaces are represented as triangles.
  • Rather than send all three vertices of each
    triangle down the pipeline, its far better to
    send triangle strips.
  • This is the strip (1, 2, 3, 4, 5, 6, 7, 8), where
    triangle i is described by the vertices i, i 1,
    and i 2.

4
Generalized triangle strips
  • The previous example used a FIFO queuing
    technique.
  • For greater freedom, introduce a SWAP command.
  • Example (1, 2, 3, SWAP, 4, 5, 6)
  • SWAP is supported in Iris GL, but notOpenGL.
  • Simulate SWAP (1, 2, 3, 2, 4, 5, 6)

5
The problem
  • How do we construct good triangle strips from
    polygonal models?
  • First step is triangulation.
  • Triangulating a polygonal model for optimal
    strips is NP-complete!
  • Thus we must focus on heuristic techniques.

6
Goals of the algorithm
  • Maximize the length of each strip
  • Minimize swaps
  • Minimize the number of singleton strips

7
Related work the SGI algorithm
  • A greedy algorithm the next triangle in a strip
    is the one with the least number of neighbors.
  • Starts with lowest degree and extends outward.
  • In case of first tie go one level deeper.
  • In case of second tie choose arbitrarily.
  • This is a local approach.

8
The STRIPE algorithm
  • Exploits both local and global structure.
  • Global technique patchification
  • Try to find large patches consisting only of
    quadrilaterals.
  • Triangulate patches along rows or columns.Cost
    either 3 swaps or 2 vertices per turn.
  • Enforce a patch cutoff size
  • Patchification is O(pn) wherep is the number of
    patchesfound.

9
The STRIPE algorithm
  • Two approaches for exploiting the coherence of
    large patches
  • Generate one strip along each row or column of
    the patch
  • Minimizes number of swaps
  • Generate one strip for the entire patch
  • 3 swaps per turn
  • In both cases, we removethe patches and use a
    localalgorithm for the remainingtriangulation.

10
The STRIPE algorithm
  • Local algorithm 2 approaches
  • Dynamic whole-face triangulation
  • Completely triangulate each face
  • Dynamic partial-face triangulation
  • Ability to triangulate and walk only part of a
    face before exiting it
  • Fewer swaps

11
The STRIPE algorithm
  • Five ways to break ties
  • Arbitrary
  • Use the first face found among low-adjacency
    faces
  • Look-ahead
  • Same as SGI
  • Alternate
  • Alternate directions (because sequential strips
    alternate)
  • Random
  • Sequential
  • Choose the next face that wont produce a swap
    (if none random)

12
Results
  • Best approach for the OpenGL cost model
  • global row/column strips
  • patch cutoff size 5
  • local whole-face triangulation

13
Results
14
Results
15
Impact of buffer size
  • Typical buffer size is two vertices.
  • Would it be worthwhile to increase?

16
(No Transcript)
17
Summary and conclusions
  • Theres no practical need to develop better
    algorithmsSTRIPE is very close to being optimal.
  • STRIPE is 10-30 better than the SGI algorithm.
  • The better performance is due more to reducing
    the number of swaps than the number of strips.
  • Increasing the buffer size helps, but the
    improvements diminish very quickly.
  • A buffer size of about 8 is recommended.
Write a Comment
User Comments (0)
About PowerShow.com