After trying to solve the problem for awhile, I can now see the mesh, however I see 2 triangles instead of a box (incomplete box)

I guess the problem is with the indices, I have 8 vertices, how do I calculate the indices for the box?

Inside ModelLoader.cpp you have:

// Read in the faces. if(input == 'f') { fin.get(input); if(input == ' ') { // Read the face data in backwards to convert it to a left hand system from right hand system. fin >> faces[faceIndex].vIndex3 >> input2 >> faces[faceIndex].tIndex3 >> input2 >> faces[faceIndex].nIndex3 >> faces[faceIndex].vIndex2 >> input2 >> faces[faceIndex].tIndex2 >> input2 >> faces[faceIndex].nIndex2 >> faces[faceIndex].vIndex1 >> input2 >> faces[faceIndex].tIndex1 >> input2 >> faces[faceIndex].nIndex1; faceIndex++; } }

Which assumes 3 vertices per face, aka. triangle, however in your .obj file:

g Box001 usemtl Material__26 s 2 f 1/1/1 2/2/1 3/3/1 4/4/1 s 4 f 5/4/2 6/1/2 7/2/2 8/3/2 s 8 f 1/4/3 4/1/3 6/2/3 5/3/3 s 16 f 4/4/4 3/1/4 7/2/4 6/3/4 s 32 f 3/4/5 2/1/5 8/2/5 7/3/5 s 64 f 2/4/6 1/1/6 5/2/6 8/3/6 # 6 polygons

each face (polygon) contains 4 vertices.

You have 2 choices here:

- load correct number of vertices for each face / polygon and triangulate them;
- when you export .obj file there
*should*be an option to triangulate meshes / faces / polygons, use it to generate triangles instead of arbitrary polygons.