Der größte praktische Unterschied zwischen BSP-Bäumen und anderen Arten von 3D-Bäumen besteht darin, dass BSP-Bäume optimaler sein können, aber nur mit statischer Geometrie arbeiten. Dies liegt daran, dass BSP-Bäume im Allgemeinen sehr langsam erstellt werden und für ein typisches statisches städtisches Spielniveau oft Stunden oder Tage benötigen.
Die beiden Hauptgründe, warum das Erstellen von BSP-Bäumen länger dauert, sind (a) sie verwenden nicht achsenausgerichtete Aufteilungsebenen, deren optimale Suche länger dauert, und (b) sie unterteilen die Geometrie an den Achsengrenzen, um sicherzustellen, dass keine Objekte die Aufteilungsebenen kreuzen.
Andere Arten von 3D-Bäumen (Octrees, Quadtrees, kd-tree, Bounding-Volume-Hierarchy) verwenden achsenausgerichtete Begrenzungsvolumes, und Volumes dürfen sich (optional) überlappen, sodass enthaltene Objekte nicht auf Volume geschnitten werden müssen Grenzen. Beides macht die Bäume weniger optimal als BSP-Bäume, aber schneller zu erstellen und für dynamische Objekte einfacher zu ändern.
Extrapolation dieser Faktoren in Situationen ...
Außenbereiche verwenden normalerweise höhenfeldbasierte Bodendarstellungen, entweder einfache Höhenkarten oder komplexere Geo-Mip-Kartierungstechniken wie ROAM. Der Boden selbst nimmt nicht an der 3D-Raumaufteilung teil, sondern nur Objekte, die auf dem Boden platziert sind.
In Welten mit vielen einfacheren und ähnlichen Geometrien (Häuser, Bäume, Asteroiden usw.) wird häufig ein Nicht-BSP-Baum (z. B. ein BVH) verwendet, da das Einfügen der Geometrie in einen BSP-Baum das Duplizieren und Aufteilen der Geometrie bedeuten würde Detailgeometrie für jede Instanz.
Umgekehrt verwendet ein großes benutzerdefiniertes statisches Netz ohne Instanzen, wie z. B. eine städtische Szene oder eine komplexe Innenumgebung, normalerweise einen BSP-Baum, um die Laufzeitleistung zu verbessern. Die Tatsache, dass der BSP-Baum die Geometrie an Knotengrenzen aufteilt, ist hilfreich für die Renderleistung, da die BSP-Knoten als vororganisierte Dreieck-Rendering-Stapel verwendet werden können. Der BSP-Baum kann auch für die Okklusion optimiert werden, ohne dass Teile des BSP-Baums gezeichnet werden müssen, von denen bekannt ist, dass sie sich hinter einer anderen Geometrie befinden.
Siehe auch: Octree vs BVH (archiviert vonOriginal), Bounding Volume Hierarchy Tutorial , BSP Tutorial .