Xファイルエクスポーター:頂点単位のUV

世の大半の3DソフトはUVを面単位で管理するのだがXファイルは頂点単位でUVを持つ。
そのため何も考えず面のUVを頂点にプロットしてると隣接面でUVが連続してない所が破状してしまう。
これを回避するためには共有できないUVの頂点の数だけ頂点を増やさねばいけない。
頂点数の増大はできるだけ最低限に抑えたいのだが少々めんどくさい。
そこで気がついた事なのだがBlender付属のXファイルエクスポーターが頂点数爆発するのは
面単位UVを再現するために面を走査して重複箇所も含めて頂点を出力しているためなのだ。
ただデータとして冗長でも重複頂点はDirectX側で読み込んだ際、モデル最適化をやってしまえば
消えるはずなのでレンダリングのペナルティは無さそう。のでエクスポータ側で行うだけ無駄のような気もする。
とりあえず出力頂点をなるべく少なくする方法を考えてみたのでそれで実装してみることにする。