   Tessellation and triangulation of 2d polygons
  This is a continuation of my older previous thread but with more specific questions.I am currently storing multiple complex shapes into arrays of 2d vertices forming an counterclockwise outline (hull) of the shapes. This shape can be concave and some will probably also contain holes in it.I need to do two things.First, if the shape is concave, "tessellate" it into multiple sub-mesh convex shapes. Then, for every of these convex shapes, get another vertices array forming the outline to pass it to the physics engine (who only accept convex hull, not triangles).Second, for every of these convex shapes, use a triangulation algorithm to generate a triangle list out of the convex hull for rendering.Now, I know this have been talked a lot, but I'm just overwhelmed by the amount of information and don't know which one to use so I though specifying my exact needs, someone might point me to an easy implementation. Or help me by, for example, telling me not waste time implementing something only useful for 3D graphics. Even better if I can have a list of newly created vertices inside the polygon to keep results ready to be used with a index buffer in mind.I've already searched a bit and this is what I found out, please correct me for any mistakes:-There's the "ear clipping" triangulation algorithm which seems to be easy enough to implement, but does not gives "optimal" triangles.-Then there's the "Delaunay triangulation", which also seems to work fine and give the optimal results. Problem is, from what I understand I need to already have points inside the polygon placed so it can create triangles with them, it doesn't actually create them by itself. Not sure about that since I still have to find a correct implementation of the algorithm.-Searching Tessellation and DirectX only gives article about the new DX11 hardware tessellation feature, which is not really what I'm looking for.-I've found this GLUtessellator sample page which is simply amazing. It does exactly what I need and works with everything. You just pass the "contour" of the polygon, and not only does it tessellate it, it completely output the topology to use with vertices lists to render it efficiently. I have to ask if there's something similar already available for DirectX? Keep in mind that triangle fan are deprecated in the latest DirectX versions.   