Next: Experiments and Results Up: Contents Previous: SGI-based Algorithm Implementation

4 OpenGL Speedup

While using the OpenGL library, some other speed-up improvements could be done. Few years ago, new extensions had been added to OpenGL system. These extensions are working with vertex arrays and indices to these arrays. If not using these extensions, three vertices (3*3 coordinates) are needed to define each triangle. For two triangles 3*3*2 coordinates are needed, etc. In fact, the vertex coordinates are shared by more than one triangle (e.g.,in Delaunay triangulation one vertex is shared by approximately 6 triangles). The reduced data size should be twice smaller than the original size. Original size is t * 3 vertices * 3 coordinates = 9 * t, while reduced size is v * 3 coordinates + t * 3 indices, where t is the number of triangles and v is the number of vertices. Because in a usual triangle model the number of vertices is about twice smaller than the number of triangles, the reduced size is (t/2) * 3 + t * 3 = 9 * t/2.

It's also possible to use these extensions in combination with triangle strips. The reduced data size while using triangle strips and OpenGL extension should be about 6 times smaller than the classic method (three times smaller using triangle strips and twice smaller using the extension).

Petr Vanecek,, 2002-03-19