I didn’t see I had an answer here.
I must admit this is not 100% crucial. This is most of an ease than another thing. This is why I used the verb ‘help’.
In the ground example, I was seeing this kind of thing would be of help under this situations:
a) Dynamic movement of the ground (or you can put anything else than a ground). Let’s say a part of the ground is rising from the bottom to form some kind of a mountain. In the case where there are ten thousands of polygons, the algorithm (even when using some space partitioning) would likely be slow: seeking all the faces sharing the same vertex, and doing this for all the faces that must move without falling into redundancies.
So, for answering your question and if I understood it correctly: I would need to update more than one vertex when index arrays cannot be used (just because normal array does not match the vertex array for example, or the color array).
I know this could be done in software just by doing as if such enhanced arrays exist and then apply an algorithm to upload the arrays into GL with repeating the doubles where needed.
However this will slow things to my point of view:
First, on the CPU side where you need to update each vertices sharing the same geometric position. Or if you use ‘fake enhanced arrays on CPU side as stippled above’, again lost CPU time because of the need to transform them into acceptable arrays for GL (ie form all the polygons from all the vertices, normals, texcoord and the multiple index arrays).
Second: on the transfer side, when you will need to upload more data.
I know this point can be countered. Generally we have to choose between amount of data and speed. However I’m pretty sure this point will allow to put less data into GL (gaining transfer time) and also not slowing things.
b) for lod and more specifically dynamic lod, this will allow under some cirumstancies to do the things more quickly: when subdividing a triangle, this will create only a new single vertex for each new subdivision of a triangle into 3 new triangles.
Anyway, thanks for the care, this will at least make me understand why this will be good or why this won’t be a good thing.