So I see many cube meshes using 12 verts:
buffer->Vertices.set_used(12);
buffer->Vertices[0] = video::S3DVertex(0,0,0, -1,-1,-1, cubeColour, 0, 1);
buffer->Vertices[1] = video::S3DVertex(1,0,0, 1,-1,-1, cubeColour, 1, 1);
buffer->Vertices[2] = video::S3DVertex(1,1,0, 1, 1,-1, cubeColour, 1, 0);
buffer->Vertices[3] = video::S3DVertex(0,1,0, -1, 1,-1, cubeColour, 0, 0);
buffer->Vertices[4] = video::S3DVertex(1,0,1, 1,-1, 1, cubeColour, 0, 1);
buffer->Vertices[5] = video::S3DVertex(1,1,1, 1, 1, 1, cubeColour, 0, 0);
buffer->Vertices[6] = video::S3DVertex(0,1,1, -1, 1, 1, cubeColour, 1, 0);
buffer->Vertices[7] = video::S3DVertex(0,0,1, -1,-1, 1, cubeColour, 1, 1);
buffer->Vertices[8] = video::S3DVertex(0,1,1, -1, 1, 1, cubeColour, 0, 1);
buffer->Vertices[9] = video::S3DVertex(0,1,0, -1, 1,-1, cubeColour, 1, 1);
buffer->Vertices[10] = video::S3DVertex(1,0,1, 1,-1, 1, cubeColour, 1, 0);
buffer->Vertices[11] = video::S3DVertex(1,0,0, 1,-1,-1, cubeColour, 0, 0);
Why are there 12? When a cube has 8 points :S what are these last 4 points used for?
buffer->Vertices[8] = video::S3DVertex(0,1,1, -1, 1, 1, cubeColour, 0, 1);
buffer->Vertices[9] = video::S3DVertex(0,1,0, -1, 1,-1, cubeColour, 1, 1);
buffer->Vertices[10] = video::S3DVertex(1,0,1, 1,-1, 1, cubeColour, 1, 0);
buffer->Vertices[11] = video::S3DVertex(1,0,0, 1,-1,-1, cubeColour, 0, 0);