A simple and efficient triangle strip filtering algorithm
A triangle strip is one of the standard rendering primitives used to reduce the amount of data transmitted to the graphics pipeline. In order to exploit such efficient triangulation data in level-of-detail-based rendering applications, real-time updating of triangle strips is required, and it can be done by repeating vertices. However, the number of degenerate triangles increases in strips as the mesh degrades to a coarser level. Such triangles only add overhead to the rendering task. In this paper, we propose a simple and efficient triangle strip filtering algorithm to convert a strip into a more suitable one for display. The proposed algorithm eliminates the vertices of degenerate triangles from a strip and then reorders the remaining vertices in such a way that the two consecutive triangles share a common edge. In addition, the filtering process takes O(n) time units since it scans vertices only once and does so sequentially from the first vertex to the last one in a strip. Experimental results show that the proposed filtering algorithm not only reduces the amount of data transmitted to the graphics pipeline by 22.2% on average, but also slightly reduces the filtering time by 7.1% on average, compared with the previous method.
triangle strip degenerate triangle 3d graphics triangle mesh level-of-detail