Индексный буфер (Index buffer)
Буфер целочисленных индексов, указывающих на вершины в вершинном буфере: общая вершина хранится один раз, а не дублируется для каждого треугольника, который её касается.
У куба 8 углов, но 12 треугольников — то есть 36 ссылок на вершины; хранить 36 полных вершин — это лишняя память и неэффективная работа кэша вершин GPU. Индексный буфер (в OpenGL — Index Buffer Object или Element Buffer Object, GL_ELEMENT_ARRAY_BUFFER) хранит 36 небольших индексов, указывающих на 8 уникальных вершин, которые лежат в вершинном буфере в единственном экземпляре.
Индексированная отрисовка (glDrawElements, DrawIndexed) позволяет кэшу после трансформации не запускать вершинный шейдер повторно для только что обработанной вершины. Индексы обычно 16-битные (до 65 536 вершин) или 32-битные; выбрав меньший из подходящих, вы вдвое сократите нагрузку на шину.