BSP樹與八叉樹各有什麼優劣,分別有什麼應用場合?

時間 2021-05-29 23:05:31

1樓:缺錢找活

1. bsp和八叉樹一般都是空間分割2.bsp分成兩份,八叉樹分割成8份3.

那麼八叉樹的樹不是很高,bsp分割的樹高會比較大嘛4.BSP適合排序八叉樹不適合呀5.與八叉樹剖分相比,BSP樹具有記憶體耗費小,剖分方式靈活,產生的無效區域較小的優點;且對大部分場景來說,BSP樹較八叉樹更為平衡,還可以順便執行碰撞檢測Ps:

來個活唄!

2樓:

BSP 適合結構比較緊湊的互相遮擋多的場景,每個空間都會分割到最低,剔除效率更高,但是需要的預處理更複雜,實現起來比較麻煩。

四叉樹和八叉樹基本上是一樣的,就是帶不帶高度或深度軸而已。這兩種更加適合開闊的場景,為了實現和效能考慮一般會規定最大遞迴深度,在最大深度後應用一些其他手段處理。實現更簡單。

以現在的計算機的硬體水平, 無論哪種場景都可以用四叉樹和八叉樹管理,除非碰到效能瓶頸不然沒必要過度優化。

3樓:

在當今圖形裡:

BSP的原理是2分場景,精確演算法需要切割三角形,主要用於舊式的軟渲染,保證減少光柵化級別的計算,在當今GPU比CPU運算速度高的時代,三角形級別的CPU運算是不值當的,所以可以說三角形BSP已被主流淘汰,另外可參見遮擋剔除(Occlusion Culling),這項技術也可以使用BSP實現。

Octree顧名思義就是8分場景了,現在僅要求物體級別的精度,主要用於減少Draw Call(繪製次數),一般用於大規模場景以及LOD策略。

其實以上結構在GPU效能越來越高的未來,都可能變成不必要的優化手段。CPU資源應該被更多的用於業務邏輯,越來越多的場合這些結構都已被批次渲染取代。

4樓:錢康來

SO上的類似問題 3d - When to use Binary Space Partitioning, Quadtree, Octree?

為什麼說「滿二叉樹也是完全二叉樹」?

一名 1 先明確完全二叉樹的概念。先上圖!完全二叉樹分為樓主所說的 圖1就是了 還有一種完全二叉樹是圖2。圖2也是完全二叉樹!圖2也是完全二叉樹!圖2也是完全二叉樹!概念 完全二叉樹分為兩種,1 最後一層沒有滿,那麼最後一層的節點都得在左邊。2 最後一層滿了,那就得全滿才行,圖2。完全二叉樹就這麼個...

遊戲場景管理的八叉樹演算法是怎樣的?

左慶 前面狠多人都介紹了八叉樹的原理,我就補充一點。實際應用中,八叉樹在儲存三角麵片時可能會遇到這樣的問題 不管怎麼切,總發現有些麵片同時位於兩個 或者多個 節點對於沒有大小的元素 點 是不會存在這個問題的。 好像貼圖裡面涉及到少量的八叉樹構建吧,實時更新好像沒有涉及,不知道是否有幫助,沒幫助請摺疊...

完全二叉樹為什麼最適合順序儲存結構?

花露水和暖壺 先說明一下,只有完全二叉樹才能順序儲存,或者說順序儲存只適合於完全二叉樹,理由如下 一般情況下,如果將樹的結點從上到下,每一層從左到右從1開始挨個編號,那麼結點 i 的左孩子就是2i,右孩子就是2i 1,將這個規律反映到順序儲存中,我們可以根據陣列的下標i也能找到左孩子 2i 和右孩子...