SGI algorithm
The SGI algorithm creates triangle strips from a set of triangles. It was published by K. Akeley, P. Haeberli, and D. Burns as a C program named "tomesh.c" for use with Silicon Graphics' IRIS GL API.[1]
The algorithm operates on the set of triangles that have not yet been added to a triangle strip, starting with the entire set of input triangles. Triangles are added to a strip until no triangle is available that can be appended to the strip. When choosing a triangle for starting or continuing a triangle strip, any of the triangles with the smallest number adjacent triangles is selected is selected. If the algorithm finds multiple such triangles when continuing a strip, it uses the The algorithm starts by choosing any triangle with the minimum number of adjacent triangles.
If implemented using a priority queue to quickly identify triangles that can start a new strip, the algorithm runs in linear time.[1]