HI I'm considering different ways to implementing mesh fragmentation. One example would be fracture in the unreal engine. I've found a few interesting reads about this using vornoi.
One approach was intersecting the object with a plane, displace a few vertexes on the plane and cut the mesh using it. Creating multiple planes and rotating them would resulting in several fragments.
I'm not very well traversed in graphics but I also came upon constructive solid geometry and figured that using intersection operations could result in a fragmented mesh.
I was something something along the lines that first you separate all/some of the faces of the mesh from each other or rather create copies of these. Then you extrude these inwards. Then using different CSG operations you create the fragments using intersection operations and kinda carve out the original mesh. And to avoid too much fragmentation you only carve from the original and not the fragments so that even if the extruded faces would overlap at times this would not result in extra fragmentation.
I'm curious if this could work? One problem I foresee is if you have a rectangle mesh it wouldn't produce very interesting results but if you subdivided the mesh first and then pick the order of faces to intersect at random it could produce better results.