Global: --- lstVerticies [x,y,z,normal,uv,...] --- listMaterialFaces [vertID1, vertID2, vertID3] // indexes into global lstVerticies per Object: --- name --- Face Count // number of elements in lstFaces --- lstFaces [vertID1, vertID2, vertID3] // indexes into global lstVerticies wanted per object: --- name --- lstVerticies [x,y,z,] --- listFaces [vertID1, vertID2, vertID3] // indexes into local lstVerticies --- listUVs [u,v,w] for each object: --- initialise a counter 'N' to 0 --- create an array 'A' size length as global lstVerticies, assign a value of 0 to each entry in array --- for each face: --- --- for each id: --- --- --- look up A[id] --- --- --- if 0: --- --- --- --- increment N --- --- --- --- set A[id] to N --- --- --- --- set object's lstVert[N] to the x,y,z from global lstVerticies --- --- --- --- set object's listUVs [N] to the u,v,w from global lstVerticies --- --- --- --- set id to N --- --- --- else --- --- --- --- set id to A[id] --- --- --- end if