Вершина - это не просто позиция. Вершина - это весь вектор положения, цвета, координаты текстуры и любых других атрибутов, которые вы в нее вкладываете.
Но я сомневаюсь - это?
Да, это так. Это также самый эффективный способ сделать это, поскольку он позволяет упростить кэширование.
Есть ли способ сделать это по-другому?
Вы можете использовать различные массивы для каждого атрибута, затем есть первичный индексный массив для адресации во вторичные индексные массивы, по одному для каждого атрибута, которые затем выполняют поиск для каждого атрибута.
Два косвенных обращения и очень низкая когерентность кэша. В целом накладные расходы вторичных индексных массивов будут занимать больше памяти, чем небольшие накладные расходы на «несколько» дублирующих вершин позиции. И вы избегаете двойной косвенности.
В целом, способ дублирования позиций вершин также является наиболее эффективным.