Индексированный рендеринг
Вершины хранятся в вершинном буфере один раз и переиспользуются через отдельный список индексов, а не дублируются для каждого треугольника.
У куба восемь углов, но двенадцать треугольников, которые их делят. Без индексов каждый треугольник тащит свои три вершины — тридцать шесть копий. Индексированный рендеринг хранит восемь уникальных вершин и список индексов на них, сокращая и память, и работу вершинного шейдера, которую GPU может кэшировать.
Кэш преобразованных вершин поощряет порядок индексов, при котором недавно использованные вершины встречаются снова, — этим и пользуются оптимизация кэша вершин и triangle strips. glDrawElements/DrawIndexed — индексированный путь; альтернатива, glDrawArrays, перечисляет каждую вершину заново. Стандарт со времён фиксированного конвейера.