ombinando matrices de vértices con texturas en OpenGL

Estoy tratando de usar matrices de vértices para dibujar una malla razonablemente grande, que contenga una gran cantidad de vértices. Las texturas se han determinado a partir de estos y es bastante fácil dibujar en modo inmediato a lo largo de las líneas 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();

Sin embargo, para facilitar la lectura, la velocidad y el resto, quiero usar matrices de vértices (con miras a pasar a VBO). ¿Hay alguna forma de evitar poner un solo vértice en la matriz varias veces?

Según tengo entendido en este momento, es necesario especificar cada vértice de la malla tantas veces como aparece en una cara de la malla, ya que cada vértice se identifica con múltiples coordenadas de textura (las texturas se capturan de una imagen del mundo real de el objeto que se aproxima a la malla), es decir, mi matriz de coordenadas de vértice / tex lee como si la hubiera llenado en modo inmediato.

¿Hay alguna forma de usar matrices de vértices, mientras se especifican las coordenadas de textura, sin usar vértices redundantes (por lo que quiero decir repetidos)?