XNA Quadtree with LOD


7

私はかなり大きな環境を作成したいと考えています。そのため、四分木を実装してLODを使用したいと考えています。数多くの例を調べてみましたが、四分木の基本的な考え方がわかりました。マップ全体をカバーする4つの頂点を持つルートノードから開始し、いくつかの基準(三角形の最大数)を満たすまで4つの子ノードに分割します

四分木の描画に関する非常に基本的なアルゴリズムまたは説明を探しています。イテレーションごとにどの頂点を保存する必要がありますか?描画する頂点はいつ決定するのですか?いつインデックスと頂点を更新するのですか?境界錐台を統合したいですか?親と子の頂点を含めますか?

私は何をすべきかについての非常に簡単な指示を探しています。私は何日もインターネットを探していましたが、誰もが説明なしで余分なコードと別のスピンを追加します。

クワッドツリーは理解できますが、3Dレンダリングとロッドについては理解できません。外部ソースへのリンクはおそらくすでに自分で読んでいるので、助けにはならないでしょう。

よろしく、バイロン。


1
あなたが説明したのは、四分木を使用して地形を効率的に描画するために使用する方法ではありません。頂点レベルの地形を四分木に分割しません。地形を多数の頂点を含むブロックに分割し、各ブロックを四分木ノードに割り当てます。これに対処するには多くの方法があります。XNAで記述されたネット上にいくつかのクアッドツリーテレインの例がありますが、それらにリンクさせたくないと言っていました...
Olhovsky

@Olhovsky、これはおそらく回答としてリストされているはずです
Joel Martinez

@ジョエル-質問に答えないので、答えではありません。
ボブ

回答:


2

地形をレンダリングする「モダンな」方法は、チャンクLODを使用することです。

ハードウェアの最後の数世代、たとえば過去5〜10年では、フレームごとのレベルでジオメトリプリミティブを操作すること(たとえばROAMに必要な場合)は、パフォーマンスに大きな影響を与えるため、逆効果です。不変のチャンクの配列全体を構築し、距離などに基づいて適切なチャンクを選択する方がはるかに優れています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.