Which space partitioning technique (or combinations of techniques) is best for...

Started by
3 comments, last by fastian 21 years, 7 months ago
Hi, I''ve been going through a lot of space partitioning techniques lately and I must say I am totally confused... There is Octree subdivision, BSP (with PVS), Portals, Frustum culling and a bunch of others. Now if we look at current Quake and UT engines and even the upcomming doom3 engine, They use both BSP and portals but not others. So does this suggest BSP with portals is the way to go. I am working on an FPS (first person view engine to be exact) Any suggestions/help on space partioning to use will be extremely helpful. Regards, Fastian
Advertisement
IMHO, Binary Space Partitioning (BSP) is definitly the way to go.
I wouldn''t totally rely on existing engines to show what is ''best'', don''t forget they have a lot invested in those particular techniques (including building levels, editors, collision detection etc.) and making a change to what might be a ''better'' system would take a huge amount of work. Note the quotes because there is no right system. Your best bet is to *try them out*, when the initial Quake engine was designed, Carmack went through loads and loads of systems until settling on the BSP/PVS system.

For me, I''ve been using an octree to partition a semi-soup. It works really well for this, maybe I''ll add portals if I can work out an easy way for the world designers to add them, or have them generated automatically.
I don’t mean to hijack the thread, but I have a semi-related question. It seems to me that the reason for having a scene graph is to organize your game objects for performing certain operations on them. These operations include culling and collision detection. Since these operations benefit from spatial organization, it would make sense to me that a scene graph should be organized spatially. That is, every node handles a given area and its children handle a subset of that area. But this is pretty close to calling it a quadtree or octtree already (except perhaps that a scene graph wouldn’t be limited one type of node). So I’m not sure I see a significant difference between a scene graph used this way and a quadtree/octtree. What is the difference?
One could argue that an octree is a type of scenegraph.

Others think of a secenegraph only as defining object relations. When used in this last way, a scene graph is more useful for game logic, physics, and AI than it is for graphics.

You may need more than one representation of your level. That''s fine.

This topic is closed to new replies.

Advertisement