Największa praktyczna różnica pomiędzy drzewami BSP i innymi rodzajami drzewek 3D polega na tym, że drzewa BSP mogą być bardziej optymalne, ale działają tylko na geometrii statycznej. Dzieje się tak, ponieważ drzewa BSP są generalnie bardzo powolne w budowie, często zajmując godziny lub dni dla typowego statycznego poziomu gry miejskiej.
Dwa główne powody, dla których drzewa BSP trwają dłużej, to (a) wykorzystują płaszczyzny podziału bez osi, które trwają dłużej, aby optymalnie znaleźć, oraz (b) dzielą geometrię na granicach osi, nie zapewniając żadnych obiektów przecinają podzielone samoloty.
Inne typy drzewek 3D (Octuty, Quadtrees, kd-tree, Hierarchia obwiedni-objętości) używają ograniczających się do osi objętości, a woluminy (opcjonalnie) mogą się nakładać, więc zawarte obiekty nie muszą być obcięte na granicach objętości. Dzięki temu drzewa są mniej optymalne niż drzewa BSP, ale szybciej się je buduje i łatwiej je zmieniać w przypadku obiektów dynamicznych.
Ekstrapolacja tych czynników w sytuacjach ... Obszary
Outdoor zazwyczaj używają wysokość pola opartych reprezentacje ziemi albo proste heightmaps lub bardziej skomplikowanych technik geo-mip-mapping jak wędrować. Sama ziemia nie uczestniczy w dzieleniu przestrzeni 3D, a jedynie obiekty umieszczone na ziemi.
Światy z dużą ilością przykładów prostszej i podobnej geometrii (domy, drzewa, asteroidy, itp.) Często wykorzystują drzewo inne niż BSP (np. BVH), ponieważ umieszczenie geometrii w drzewie BSP oznaczałoby duplikowanie i dzielenie geometrii szczegółów dla każdej instancji.
I odwrotnie, duża niestandardowa statyczna siatka bez instancji, taka jak scena miejska lub złożone środowisko wewnętrzne, zazwyczaj wykorzystuje drzewo BSP w celu poprawy wydajności środowiska wykonawczego. Fakt, że drzewo BSP dzieli geometrię na granicach węzłów, jest pomocne w renderowaniu wydajności, ponieważ węzły BSP mogą być używane jako wstępnie zorganizowane partie renderowania trójkątów. Drzewo BSP można również zoptymalizować pod kątem okluzji, unikając konieczności narysowania części drzewa BSP, o których wiadomo, że znajdują się za inną geometrią.
Zobacz także: Octree vs BVH, Bounding Volume Hierarchy Tutorial, BSP Tutorial.
Dobra odpowiedź, chociaż nie jestem pewien, co rozumiesz przez "wysyłanie" obiektu do procesora graficznego zamiast pojedynczych trójkątów. Czy odnosisz się do trybu VBO i natychmiastowego? Ponieważ można to zrobić za pomocą obu podejść, które myślałem ... – Aktau
@DavidJeske Ta odpowiedź ma sześć lat. Długi czas w informatyce. To mogło się teraz zmienić. –
Komentarz dotyczący wolniejszego rysowania przy pomocy BSP jest nieprawidłowy. BSP zostały zaprojektowane w celu optymalizacji dużej geometrii statycznej. Były pierwotnie używane do optymalizacji okluzji w celu rasteryzacji oprogramowania i od tego czasu były również używane do wstępnego obliczania partii rysunku w celu rasteryzacji sprzętu. BSP nie są dobrym rozwiązaniem, gdy istnieje wiele instancji, ponieważ obiekty muszą być instancjami i podzielone na BSP. BSP są również szkodliwe dla obiektów dynamicznych, ponieważ są zbyt wolne do zbudowania. –