Jump to content
  • entries
  • comments
  • views

There's a fly in the ointment

Sign in to follow this  


I found a bunch more small bugs and fixed them, but I haven't posted the changes yet...
I've created a test geometry involving two boxes, one inside the other, with the outer box's normals pointing inwards.
The BSP generator can't handle it. That's not good.

The BSP generator has two big problems.
The first is with this concept of just duplicating partitioned triangle indices that I've been trying out.
We end up passing entire geometries down the tree where they are duplicated endlessly.
The second problem is that I have not implemented some way of marking a splitting plane as having been previously used, and so not a suitable candidate in subsequent selections.

There may be no alternative but to implement a full partitioning of the input geometry.
I was hoping to avoid this because the result is that we generate a LOT more triangles and new vertices.
However I see no way to avoid it.

If anyone wants to comment, now is a good time :)

Having gone most of the way to fully implementing a complete triangle splitting bsp tree generator, I found more fundamental bugs in the implementation - subsequently I discovered that the Triangle Index based scheme probably would have been ok had these bugs not been causing hell.
Oh well, I'll forge ahead.
I have repurposed the global list of planes in the tree container class to record the planes I've actually used as a splitting plane, and implemented a Triangle class which contains indices and the triangle's plane.
Various methods have been adjusted to take a Triangle*
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 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!