Advertisement Jump to content


This topic is now archived and is closed to further replies.


An Octree, a Portal, or a BSP?

This topic is 6967 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts


I'm planning on using a BSP-tree combined with a Beam tree, this should be pretty
fast for hardware. Quake1 uses a similar vsd system, so it works fine in software too.
I tried octree but they are way too slow, by them self at least. A portal engine with each
sector subdivided into an octree should work well, then you can have pretty big sectors.

KD-trees seem like a crappier version of BSP-tree...

If you don't know what Beam trees are, you can look it up in Micheal Abrash Black book
thingie, and Harmless algos on flipCode has some info. That's everything I've found on
beamtrees, CG P&P doesn't even mention it.

Anyway, good luck

Greetings Tobias

Share this post

Link to post
Share on other sites
In the general case I believe portal engines perform traversal the fastest. Then BSPs and then Octrees. Of course this is all implementation specific. Portals tend to have more restrictions on level design. This may not be a big deal if all your levels fit in a cube.

Share this post

Link to post
Share on other sites
Hey guys,

I have been reading, researching, and then reading some more. But, for the life of me, I can not seem to get a clear-cut answer to the following question: Which visibility system will allow front-to-back traversal the fastest and at the same time be useful for both hardware and software implementations? I have looked mainly into Octrees, Portals, and BSP-trees. I have heard a little about KD-trees ... but the articles are sparse.

The scene will be static ... nothing will need to be changed during the game ( other than the 3D sprites and the player ). Also, every level will map into a perfect cube.

I am planning on using a C-Buffer for Occlusion culling ( thus the need for front-to-back traversal ). So, while in software, I have a pretty damn fast method, then in hardware I can just say screw it, and throw the polygons at the card. Seem reasonable?

My brain is overloaded with information right now ... so, if anybody has some thoughts/ideas/whatever that might help, I'd appreciate it if you'd share.


- Chris

Share this post

Link to post
Share on other sites
An octree is only useful if your levels are truely 3D, meaning the height is the same as the length and width. If you only have even 20 or 30 foot walls an octree doesn't make sense. A quadtree is basically the same thing but divides up an essentially 3D space.

BSP trees are going to have the most pre-written algos out there. I'm not sure if you're trying to do research or just write the fastest engine you can.

Also, I'm guessing you already saw it, but had an article on occlusion culling that came from some speedy computer graphics book, and if I remember they were working with oct- and quadtrees.

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!