Skip to main content
GameDev.net gamedev.net
🔒 Locked

BSP Trees: Are they still useful?

Started by jam1978 Jan 29, 2001 at 10:43 AM 11 replies 4.5k views
Original Post
jam1978
jam1978
Hi to all, I''m writing a 3D engine based on OpenGL. Some guys told me that BSP Trees aren''t useful anymore because they tend to be optimal only with low-detailed worlds. So my question is: Do I really need to implement BSP Trees in my engine or can I simply trust the hardware z-buffer ? Is it possible to write a portal engine without using BSPs? Thanx in advance.
Gazza
Gazza

Well whoever this ''some guy'' was he talks utter nonsense.

BSP trees can still be very useful, in fact they are very good for HIGH detailed indoor worlds if used in conjunction with a potential visibility set.
Perhaps this ''some guy'' was refering to the fact that BSP trees are no longer needed for back to front rendering because of Hardware Z buffers and this is certainly true. BUT BSP tree have many MANY other benefits that CAN make them faster than ANY other rendering technique.
They can be used for Potential Visibility Sets anf for perform VERY fast line of sight determinations. In fact with a BSP tree you can check for line of sight between two points without having to check a SINGLE polygon.
Having seem games Like Quake3 and others based on that engine, i would certainly say Yes, BSPs are still VERY useful

If you are only using the BSP for Back to Front rendering the yeah you can just leave it tot he z buffer. In my engine i use a BSp and a Z Buffer because i only use the BSp to calculate what polygons are visibly each frame which is VERy fast.

Yes you can write portal engines without BSPs. They are two totally seperate techniques for rendering a scene.
Portal are usually not as FAST as BSP engines with PVS but are more flexible.

tcs
tcs
BSP trees are getting a bit outated the CPU overhead is not worth it. YOu should find a more T&L compatible spatial sorting structure

Tim

--------------------------
glvelocity.gamedev.net
www.gamedev.net/hosted/glvelocity
Tim--------------------------glvelocity.gamedev.netwww.gamedev.net/hosted/glvelocity
Slinger
Slinger
BSP trees are well worth your time.
They are not just used for determining what polys are visible (that is the main use), you can also use them for collition detection. Go find yourself a good tutorial on Solid BSP trees. You can save alot of cycles with them.
InFerN0
InFerN0
BSP trees are still very useful and used in the majority of FPS development. tcs: not veryone has a T&L video card.

InFerN0

Not all who wander are lost...
InFerN0Not all who wander are lost...
msn12b
msn12b
quote:
Original post by tcs

BSP trees are getting a bit outated the CPU overhead is not worth it. YOu should find a more T&L compatible spatial sorting structure




What the HELL is a T&L compatible spatial sorting structure? A BSP combined w/ a PVS, i.e. no sorting whatsoever, is pretty much the fastest out there right now. And by PVS, I mean a cluster based system that has all visible clusters from a given cluster. Hence, all sorting is precalculated, and can be dumped to the card en-masse.

T&L and spatial sorting are completely orthogonal beasts.

MSN
crackdown
crackdown
Speaking of BSP trees: does anybody know of a good tutorial on them? I''ve been searching for weeks with zero results (allright, I found one or two documents on the subject, but to understand them I need to know how to create and use a bsp tree).
Ratheous
Ratheous
Go to www.mrgamemaker.com
( http://64.33.37.114/tutorials.html )
Their tutorials on BSP pratically define the site.

____________________________________________________

"Two wrongs do not make a right; it usually takes 3 or more."

____________________________________________________
"Two wrongs do not make a right; it usually takes 3 or more."
Some mistakes are too much fun to only make once.
Never anger a dragon, for you are crunchy and you go well with brie.
crackdown
crackdown
Thanks a lot, you saved my life. Or at least, you saved my game engine, which is almost the same :-)
mja
mja
ok.
if you think BSP trees are out dated, ca you give me a link for something a bit better or some code, either way would be great!

thanks
mja

OpenGL Game Programmer:
mja_today@hotmail.com
95539717
Countach
Countach
Indeed, the BSP+PVS combo is the king of the occlusion algorithms, at least for indoor environments. However for outdoor environments some kind of LOD (Level Of Detail) or other subdivision algorithm is usually incorporated which is hard to mix with the static nature of BSP trees. So the best thing would be an engine that supports a variety of algorithms (perhaps with a dll plugin system).
-------homepage - email
mja
mja
that dosnt help on the link side of things!
if you could help me on BSP trees, or Skeletal Animation please mail me or icq me! that would be great as im getting a bit stuck!!

mainly on Skeletal Animation..

thanks
mja -> 95539717 (ICQ)
mja -> Mja_today@hotmail.com (MAIL)

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.