I'm working on the map editor of a game, where you can create a grid of hexagons to paint. An example of a grid of radius 6:
What I want
Once map creation is done, I would like to generate a mesh for each of these islands of color, with the least possible number of vertices.
What I have so far
My approach gives me a list of outer vertices for an island and a list of inner edges, which represent holes in the mesh. Outer and inner edges never overlap.
The gray area on the right of the image above has 3 holes, so what my code gives me is a list of vertices around the gray area and 3 lists of vertices for each hole inside it.
Problems I'm having
While I can already triangulate islands without holes, I can't find a way to turn the ones with holes into meshs. How should I approach solving this problem?