octree or BSP ?

I have to deal with all objects of my scene and I have some questions on that :

  • What data structure ? I understood that octrees were faster to build than BSP and that BSPs were practical for static objects. So as I am doing a 3D engine (a beginning of 3D engine), I really don’t know which choose.

  • I want to do the frustum culling with the tree, so how can I know if a leaf (with these objects) is in the frustum ?

  • Is it easy to refresh (or rebuild) an octree in case of dynamic objects ?


What do you want to do with the spatial data structure?
Some of them are good to handle collision detection, others are good to visibility culling…

To the visibility culling, some structures are good to indoor scene, some are good to dynamic scene… etc… what kind of scene are you going handle?

You can always use a hybrid solution… one structure to handle the static part of the scene and one to handle the dynamic.

With octree its easy to do the Frustum Culling. But, octree isnt good with dynamic scene because you will need recompute the octree before each frame.

BSPTree is good to an indoor scene. Like the Quake BSPTree… with the Quake BSPTree you can easly have HSR and Portal Culling, calculating the PVS.

Since I have posted this, I have found some explanations on it and I don’t know what kind of scene I will have to display so I will implement the octree solution now (maybe with 2 octrees like you said) and I will see later.

Do you use other forums ? (I use www.developpez.com)


Sometimes i check the gamedev forum and find some good discussions.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.