Best way to draw mesh with face normals?

Not necessarily using flat shading, just using the same normal for all verts of a triangle. So we have vertex sharing between adjacent triangles, but not normal sharing. Is it better to:

  1. Duplicate the shared vertices and put both verts and normals in a vertex array,

  2. Put verts but NOT normals in the vertex array, draw verts using glArrayElement() with one immediate-mode glNormal call per triangle, or

  3. Do the whole thing with glVertex/glNormal?

(Assume any of the above options can be compiled as a dlist.)

Basically this question boils down to: is there any way to take advantage of the vertex sharing in this scenario?

[This message has been edited by MikeC (edited 02-11-2001).]