I'm probably just misunderstanding your goal. I'm thinking you are taking a 3d model of say a house or a terrain or something and projecting it onto a 2d plain - kinda like unwrapping the polygons of a model for texturing - basically flatting it out . Each face or polygon is made up of vertices. No mystery there. Whether the polygon/face is in 3d or in 2d, it is still made up of the same vertices, though their individual x,y, and z compenents will be different. Perhaps this doesn't apply to DarkGDK but I assume it does if you can make a memblock out of a mesh - if a 3d mesh is made into a memblock, the memblock stores the vertex numbers that make up the individual polygons/faces in the face information. The actual vertices are stored elsewhere and these vertices are referenced by the face data so it can tell the mesh how to build the 3d object. If you project a 3d object onto a 2d plane, face 1 on the 2d plane is still going to be made up of the same vertex numbers as face 1 in the 3d mesh. So you don't have to calculate which vertices to use to make the new polygon. If two polygons are sharing the same vertex, then that's going to be in the face indexes.
Quote: "But doesn't each set of three vertices withing a memblock refer to a specific polygon on a mesh?"
Not necessarily. You could, for example, have a disc where vertex 1 is in the center of the flat top of the surface. A series of triangles could be created from the outside ring to vertex 1 to create the surface of the disc. There could be 100 triangles each refrencing vertex 1. Vertex 1 IS NOT constantly repeated as a set of cooridnates every three vertices. It's only created once in the series of vertices and then referenced by the face indexes.
Maybe you are just starting off with a soup of vertices that have no polygon order and don't come from an already made 3d object. Maybe that's the difference in what I'm suggesting and therefore doesn't apply.
Kelebrindaes memblock matrix builds the matrix from a soup of vertices that are caclulated based on the size of the matrix. The soup has a specific order so they are easy to manage. The method of polygon creation that kelebrindea is using is to create each tile with it's own set of vertices to allow greater flexibility with the texturing control of each matrix tile. This increased flexibility increases the number of vertices beyond what is necessary to just create the matrix itself. A 2x2 memblock matrix created by kelebrindae's method uses 16 vertices. If you were to build the memblock matrix without needing such precise individual texturing control for each tile, you could use 9 vertices. You would still have texturing control, but it would be global for the whole matrix instead of local to individual tiles.
The method of unioning all the polygons of the vertices should be basically the same if you are staring with a non-tessalated soup of vertices. I was just trying to save you some time by telling you to just grab the polygon information out of the face-vertex indexes to build your XZ mesh.
Enjoy your day.