Может ли это быть сделано более эффективно, чем с помощью массива вершин?
VBO позволяют драйверу хранить вашу геометрию в (возможно) видеопамяти, а не загружать ее в драйвер каждый кадр, как с массивами вершин.так или иначе.