An Octree, a Portal, or a BSP?

Started by
2 comments, last by bit 24 years, 4 months ago
Hi,

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

Advertisement
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.
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.

Thanks.

- Chris

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 www.gamasutra.com 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.

-the logistical one-http://members.bellatlantic.net/~olsongt

This topic is closed to new replies.

Advertisement