It comprises a set of triangles (typically in three dimensions) that are connected by their common edges or vertices.
This is typically because computer graphics do operations on the vertices at the corners of triangles.
In a large mesh, there could be eight or more triangles meeting at a single vertex - by processing those vertices just once, it is possible to do a fraction of the work and achieve an identical effect.
[citation needed] In many computer graphics applications it is necessary to manage a mesh of triangles.
This document describes a simple data structure that is convenient for managing the connections.
[citation needed] Various methods of storing and working with a mesh in computer memory are possible.
[citation needed] Connectivity between the components is completely determined by the set of triples representing the triangles.
The abstract representations of these for the simple data structure described here are[citation needed] The maps support the standard insertion and removal functions for a hash table.
The graphics system processes the vertices first and renders the triangles afterwards, using the index sets working on the transformed data.
In OpenGL, this is supported by the glDrawElements() primitive when using Vertex Buffer Object (VBO).