Я пытаюсь использовать массивы вершин, чтобы нарисовать достаточно большую сетку, содержащую большое количество вершин. Текстуры были определены на основе этих данных, и их достаточно легко рисовать в непосредственном режиме по линиям:
glBegin(GL_TRIANGLES) {
for ( int faceIdx = 0; faceIdx < nFaces; ++faceIdx )
glVertex3fv(&vertexArray[vIdx]);
glTexCoord2fv(&texCoord[vIdx++]);
glVertex3fv(&vertexArray[vIdx]);
glTexCoord2fv(&texCoord[vIdx++]);
glVertex3fv(&vertexArray[vIdx]);
glTexCoord2fv(&texCoord[vIdx++]);
}
}
glEnd();
Однако для удобства чтения, скорости и всего остального я хочу использовать массивы вершин (с целью перехода к VBO). Есть ли способ обойти одну вершину в массиве несколько раз?
Насколько я понимаю, на данный момент необходимо указывать каждую вершину сетки столько раз, сколько она появляется на грани сетки, поскольку каждая вершина идентифицируется множеству координат текстуры (текстуры взяты из реального мира). изображение объекта, которое аппроксимирует сетка), т.е. мой массив координат вершин / текс выглядит так, как будто я заполнил его в непосредственном режиме.
Можно ли использовать массивы вершин, указав координаты текстуры, без использования избыточных (под которыми я подразумеваю повторяющиеся) вершин?