XNA Quadtree mit LOD

7

Ich möchte eine ziemlich große Umgebung erstellen und möchte daher einen Quadtree implementieren und LOD darauf verwenden. Ich habe zahlreiche Beispiele durchgesehen und bekomme die Grundidee eines Quadtree. Beginnen Sie mit einem Wurzelknoten mit 4 Eckpunkten, die die gesamte Karte abdecken, und teilen Sie ihn in 4 untergeordnete Knoten, bis ich einige Kriterien erfülle (maximale Anzahl von Dreiecken).

Ich suche nach einem sehr sehr grundlegenden Algorithmus oder einer Erklärung für das Zeichnen des Quadtree. Welche Eckpunkte müssen pro Iteration gespeichert werden? Wann bestimme ich, welche Eckpunkte gezeichnet werden sollen? Wann müssen Indizes und Eckpunkte aktualisiert werden? Hoffen Sie, den Grenzstumpf zu integrieren? Füge ich übergeordnete und untergeordnete Scheitelpunkte hinzu?

Ich suche nach sehr einfachen Anweisungen, was zu tun ist. Ich habe das Internet seit Tagen durchsucht, aber jeder fügt zusätzlichen Code und einen anderen Dreh ohne Erklärung hinzu.

Ich verstehe Quadtrees, aber nicht in Bezug auf 3D-Rendering und Lod. Ein Link zu einer externen Quelle wurde wahrscheinlich bereits von mir gelesen und hilft nicht weiter.

Grüße, Byron.

Bob
quelle
1
Was Sie beschrieben haben, ist nicht die Methode, mit der Sie ein Gelände mit einem Quadtree effizient zeichnen würden. Sie unterteilen das Gelände auf Scheitelpunktsebene nicht in den Quadtree. Sie unterteilen das Gelände in Blöcke mit vielen Eckpunkten, und jeder Block ist einem Quadtree-Knoten zugeordnet. Es gibt viele Möglichkeiten, dies zu tun. Es gibt mehrere Quad-Tree-Terrain-Beispiele im Netz, die in XNA geschrieben wurden, aber Sie sagten, Sie möchten nicht, dass ich auf diese verlinke, also ...
Olhovsky
@ Olhovsky, dies sollte wahrscheinlich als Antwort aufgeführt werden
Joel Martinez
@ Joel - Es ist keine Antwort, weil es die gestellte Frage nicht beantwortet.
Bob

Antworten:

2

Die "moderne" Art, Gelände zu rendern, ist die Verwendung von LOD-Chunks .

Bei den letzten Hardware-Generationen, beispielsweise in den letzten 5 bis 10 Jahren, ist das Herumspielen mit den Geometrie-Grundelementen auf Frame-Ebene (wie z. B. für ROAM erforderlich) kontraproduktiv, da dies zu einem schrecklichen Leistungseinbruch führt. Sie sind viel besser dran, eine ganze Reihe unveränderlicher Stücke zu bauen und die richtigen basierend auf der Entfernung usw. auszuwählen.

drxzcl
quelle