Combinando matrizes de vértices com texturas no OpenGL

Estou tentando usar matrizes de vértices para desenhar uma malha razoavelmente grande, contendo um grande número de vértices. As texturas foram determinadas com base nelas e é fácil o suficiente desenhar no modo imediato ao longo das linhas de:

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();

o entanto, para facilitar a leitura, a velocidade e o resto, quero usar matrizes de vértices (com o objetivo de mudar para VBOs). Existe uma maneira de contornar colocando um único vértice na matriz várias vezes?

Como eu entendo no momento, é necessário especificar cada vértice da malha quantas vezes aparecer em uma face da malha, pois cada vértice se identifica com várias coordenadas de textura (as texturas são capturadas de uma imagem do mundo real de o objeto que a malha se aproxima), ou seja, minha matriz de vértices / coordenadas de tex lê como se eu a tivesse preenchido no modo imediat

Existe alguma maneira de usar matrizes de vértices, enquanto especifica as coordenadas da textura, sem usar vértices redundantes (com o que quero dizer repetidos