Try looking at Quake MD2 format (a good tutorial here) http://tfc.duke.free.fr/old/models/md2.htm , which is specifically designed for downloading in OpenGL. It is a good thing to learn, but it is a little old.
In contrast, the OBJ format is still highly developed, and for him it is a lot (simplicity, wide support). It looks like you are on the right track, since it seems you understand that the format has separate indexes for vertices, normals, and texture lines, and therefore has the requirement to create a separate index buffer for your vertex arrays.
The trick to making it work well is to use a quick hash solution to store / retrieve face descriptions of "vert / norm / tex". (My first attempt at an OBJ importer took 7 seconds to read the object of the front side 10000, now it is up to 0.5 seconds - and probably can be improved! Good luck!
source share