Поскольку эти вершины имеют разные свойства, они не одинаковы. Так что да, некоторые данные могут быть избыточными, но не все. Обычно индексируемую геометрию можно использовать, когда вершины совместно используются гранями, но в этом случае они не являются общими.
OpenGL обеспечивает функциональность массива вершин, которая может использоваться для разделения битов данных вершин на независимые порции. Допустим, вы можете иметь координаты в одном последовательном массиве, цвета в другом и координаты текстуры и в третьем. Данные вершин не должны чередоваться. См glVertexPointer
, glColorPointer
, glTexCoordPointer
и т. Д.
Используя массивы вершин, вы могли бы сэкономить некоторую память, разделяя некоторые данные вершин, но это потребовало бы много вызовов отрисовки и не стоило бы этого в этом простом случае куба. Эта статья может быть весьма полезна, зацените ее.