So, in both D3D and OpenGL there\'s ability to draw from an index buffer.
The OBJ file format however does something weird. It specifies a bunch of vertices like:>
OBJ was not designed to map to OpenGL or DirectX.
Everything you said is true, and no, it's not possible to use per-attribute indices.
You have to convert the OBJ representation to something that only uses a single index per vertex (possibly duplicating some vertex data along the way).