WAD ファイルに含まれる情報から Doom 2 レベルのポリゴンを作成しようとしています。私は壁を完成させました。残っているのは「フラット」、床と天井の領域だけです。Doom マップは「セクター」に分割され、それぞれが平坦で複雑な多角形に評価されます。
これには多くのアルゴリズムがあるため、単純な凸多角形を三角形に分解するのは簡単です。しかし、セクター ポリゴンの多くは凹面であり、中には他のセクターが中にある「穴」があるものもあります。以下は、特に複雑なポリゴンをオレンジ色で示した例です: http://screencast.com/t/BNKuzRVy8
この種の複雑なポリゴンを三角形に分解するアルゴリズム、または C# コードを推奨できる人はいますか?
このような内訳を間接的に記述した NODE、SEG、SUBSECTOR 情報などが WAD ファイルに含まれていることがわかっています。しかし、それは特に複雑です。Bツリー構造は必要ありません。セクター情報だけから複雑なポリゴン構造を持っているため、このすべての情報を解析してつなぎ合わせる必要は避けたいと思います。