3Dである頂点配列が不規則であって
それをTriangleListで描く場合
どのように並べ替えるのがいいのでしょうか?

時計回りで頂点を指定する場合
X座標で小さい順に並べて
まず一番小さいの選んで
次の頂点は、Xは初めの頂点と同じか大きい、Zも同じか小さい
3番目の頂点はXは2番と同じか小さい、Zは2番と同じか小さい
など考えたのですが
これだと同一箇所に頂点があるとポリゴン同士が重なってしまいます。

面積が最小のポリゴンで重なりなく全ての頂点を使うには
どのような並べ替え方をすればいいのでしょうか?