I'm currently making a custom render engine for Blender 3.0+. I'm programming in C++(core engine) and Python(Blender API). In the past I have made two other render engines, where the data stored for meshes are polygons, edges and vertices, which is quite usual.
Blender uses a different structure, where a polygon references multiple "MeshLoops". A "MeshLoop" references one edge and one vertex. What I don't quite understand is the reason behind this. Simple referencing a list of vertices would absolutely work (and that's how my render engine works for now).
I'm certain there is a reason for this, but I'm unable to find any more information about this. The API documentation about it simply states that is keeps the index of one vertex and one edge.
So my question is : what exactly is a MeshLoop, and what purpose does it serve ?
Usefull links :