Jump to content
  • Advertisement
Sign in to follow this  
Thomas Mathers

Questions about Solid Leaf BSP Trees

This topic is 4833 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

Hello All, I have just implemented a generic BSP algorithm. When I was browsing around on the internet for further optimizations that I could make to the algorithm I stumbled upon three other algorithms which modify the generic one. The Solid-Leaf BSP algorithm was the one that caught my eye. Supposedly it is more suitable for the rendering of a BSP tree and for collision detection. However I am a bit confused on how it actually works. I understand that you need to store the partitioning plane in each node. I also, understand that the geometry needs to be stored in the leafs of the scene. What I do not understand is how you go about creating the tree. What condition must be met in order for you to stop looping? Is it the same as regular BSP trees where you stop once you have convex data? or is there some other heuristic? How do you know if you have solid data?

Share this post


Link to post
Share on other sites
Advertisement
What you described is a Quake BSP, a solid-leaf BSP stores only empty/solid in the leafs (Ericson). Quake is a mix it is a solid leaf and leaf storing tree and the solid leaf is always 0 in the map. As far as I know building a solid leaf tree is the same you stop when no more polygon's are left in the list.

Share this post


Link to post
Share on other sites
You stop when the triangles form a convex region.
Take a look on this: http://www.devmaster.net/articles/bsp-trees/

Share this post


Link to post
Share on other sites
Yeah I have looked over that article. I thought that article was only applying to the generic BSP algorithm. Do you also stop executing when you reach convex geometry with the Solid Leaf BSP algorithm?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!