Quadtree arazi bölme - anlamadım


12

Okuduğum makalelerin çoğu, arazilerini dörtlü bir şekilde bazıyor. 38. sayfada bakınız :

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

İlk nokta alt iki ile çelişmiyor mu? Yaprak başına sabit bir 33x33 köşe ızgarası nasıl olabilir, ancak dörtlü bir ağaçtaki uyarlanabilir bölüm hakkında nasıl konuşabilirsiniz? Terminoloji kafa karıştırıcı ve bu konuda netliği takdir ediyorum!


İşte varsayımlarım:
Dörtlü değişikliklerin her seferinde isabetli olacağı yamaları yeniden yerleştirmek değil mi?

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

  1. Arazi sınırlarında başlayan dörtlü.
  2. Gözlemcinin bulunduğu yere doğru ilerleyin.
  3. Kısıtlı sürüm (komşular arasında en fazla 1 seviye farkı)
  4. Frustum cull.
  5. Arazi yamasını, ölçeğin farklı olduğu ancak çözünürlüğün her zaman 33x33 olduğu her bir sonuç yaprakına yerleştirin.

Yanıtlar:


7

Hayır gerçek değil. Arazi ayrıntı düzeyi için dörtlü kullanmayı düşünüyorsanız, depoladığınız düğümlerin tümü genellikle aynı veri yapısına sahip olacaktır.

Örneğin, bu yapı düğümlerin tutacağı 33 × 33 bir alt yapıdır. Düğüm seviyesine bağlı olarak, bu 33 × 33 ağ daha geniş bir alanı kapsayacak şekilde uyarlanacak (uyarlanabilir). Daha büyük düğüm daha büyük bir alanı dolduracaktır, ancak submesh hala 33 × 33 tepe yamasıdır.

Ağaç kurulduktan sonra, ağaçtan aşağı inip kesişmeyen düğümleri atarak frustum culling'inizi yapabilirsiniz.

Akılda tutulması gereken bir şey, daha büyük bir düğüm daha küçük bir düğümün yanına geldiğinde ortaya çıkan çatlakları ele almanız gerekecektir. Kolay bir yol, kafesler arasındaki paylaşılmamış tüm köşeleri ayarlamaktır (daraltmak).

Sana değiştirilen ağaç hakkında başka bir soru, evet. Ağacı yöneten verilere girmek istemiyorsanız, yalnızca bir yığın oluşturmanızı ve görünüm yeterince hareket ettiğinde onu temizlemenizi öneririm.


Farklı ebatlardaki karolardaki görünür dikişlerle ilgili sorun, sunumun 39-40. Slaytında açıklanmıştır. Görünüşe göre T-kavşaklarını, kavşaklarda bulunan 9 kafesden birini kullanarak çıkarırlar (bkz. Slayt 40).
bummzack

yasal uyarı: IDNRTFA ;-)
bitcruncher 21

3

Arazinin "birimi" 33x33 bloktur. Yakınsanız, göreceğiniz şey budur. Daha uzaktaysanız, bu bloklar alt LOD parçalarına birleştirilir.

Sabit parçaları en düşük seviyede (yaprak) kullanmasının nedeni, modern donanımın statik geometri ile çok daha hızlı olmasıdır. Nihai poligon sayısını azaltmak için çok fazla çalışmanın gerçekleştirildiği ROAM gibi sistemler, büyük performans cezalarına neden olur.


Yani uç yaprak her olası uç yaprak değil (en küçük ızgara boyutunda), mesafeye bağlı olarak bu yinelemenin uç yaprağıdır, bu yüzden bazıları 16x16 olabilir ve uzak olanlar 256x256 (veya her neyse) olabilir? Bu, dörtlü ağaç her değiştiğinde, yamaların tekrar yerleştirilmesi ve ölçeklendirilmesi gerektiği anlamına gelmez mi?
George R
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.