I've been working on segmenting a polygon to some arbitrary complexity. When I first encountered this problem, I took in an array of Vector2[]'s, computed the centroid, and walked the outside, generating a list of polygons to draw triangle lines from the centroid to. ( I walked the outside with Bresenham's Line Algorithm )

However, this isn't really going to solve the problem for me - it generates a set of triangle faces that have no coordinate points between the centroid and the exterior of the polygon. I've been trying to solve the problem, and I came across documents discussing BSP trees and how they're generated.

While most of the articles I found discussed BSP trees for rendering sets of polygons that may or may not span the plane that intersects the subject of the algorithm, it seems like it would be reasonable ( maybe ) to use a BSP tree algorithm to split a polygon into a more complex mesh of constituent polygons that still combine to form the original general shape.

Any folks out there that can help me Am I on