クワッドツリーの地形分割-わかりません


12

私が読んだ論文のほとんどは、地形を何らかの形で四分木に基づいています。38ページでこれを参照してください

http://www.slideshare.net/repii/terrain-rendering-in-frostbite-using-procedural-shader-splatting-presentation?from=ss_embed

最初の点は下の2つと矛盾していませんか?葉ごとに33x33の固定された頂点グリッドをどのようにして、クアッドツリーの適応分割について説明できますか?用語は紛らわしく、これについて明確に理解していただければ幸いです!


私の仮定は次のとおりです。
クワッドツリーの変更がヒットするたびにパッチを再配置しますか?

http://www.dukecg.net/QuadtreeTerrain.png

  1. 地形の境界から始まる四分木。
  2. 観測者の位置まで繰り返します。
  3. 制約バージョン(隣人間のレベル差は1以下)
  4. 錐台カル。
  5. 結果の各リーフに地形パッチを配置します。スケールは異なりますが、解像度は常に33x33です。

回答:


7

いいえ、そうでもありません。地形の詳細レベルにクアッドツリーを使用することを考えている場合、保存するノードはすべて同じデータ構造を通常持っています。

あなたの例では、その構造は、ノードが保持する33×33サブメッシュです。ノードのレベルに応じて、その33×33メッシュは、より広い領域をカバーするように適応(適応)します。より大きなノードはより大きなスペースを埋めますが、そのサブメッシュは依然として33×33の頂点パッチです。

ツリーが構築された後、ツリーを下って交差しないノードを破棄することにより、錐台カリングを行うことができます。

心に留めておくべきことの1つは、大きなノードが小さなノードの隣に描画されるときに発生するクラックに対処する必要がある可能性が非常に高いことです。簡単な方法の1つは、メッシュ間の共有されていない頂点を単純に調整(縮小)することです。

あなたについては、置換されるツリーに関する他の質問、はい。ツリーを管理するデータを取得したい場合を除き、スタックを作成して、ビューが十分に移動したらそれをフラッシュすることをお勧めします。


プレゼンテーションのスライド39〜40で、異なるサイズのタイルで目に見える継ぎ目の問題について説明しています。どうやら彼らは、ジャンクションで9つの可能なメッシュの1つを使用してTジャンクションを削除します(スライド40を参照)。
bummzack

免責事項:IDNRTFA ;-)
bitcruncher

3

地形の「ユニット」は33x33ブロックです。近くにいる場合、それが表示されます。遠くにいる場合、これらのブロックは低いLODチャンクに融合されます。

最下位レベル(リーフ)で固定チャンクを使用する理由は、最新のハードウェアが静的ジオメトリを使用する方がはるかに高速だからです。最終的なポリゴン数を減らすために多くの作業が行われるROAMなどのシステムでは、パフォーマンスが大幅に低下します。


したがって、エンドリーフは可能な最小のリーフではなく、距離に基づいてその反復のエンドリーフであるため、16x16と遠いものは256x256(または何でも)ですか?それは、クワッドツリーが変更されるたびに、パッチを配置し、再度スケーリングする必要があるという意味ではありませんか?
ジョージR
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.