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

dynamic objects in ABT

Started by Thorris May 12, 2004 at 4:39 PM 4 replies 800+ views
Original Post
Thorris
Thorris
Hello, the last days I read through some of the very interesing threads about ABT''s and Yann''s game. In one of his posts he said he is using a second ABT for dynamic objects. I thought about using something similar in my engine, but I came over a big problem. I cannot split dynamic objects when splitting an ABT node, because this couldn''t be treated together with animation/movement/LOD. Thus I have to find a split plane that doesn''t intersect any of the dynamic objects. But this is not always possible. Let''s take a forrest as example. The trees are all dynamic objects (because of wind, etc.) and they stay close to each other. In most cases their bounding volumes will intersect, because branches in the tree-top will range into other tree-tops. But how can I split the ABT node now. One possible solution would be to store the trees in each node they intersect and flag them as already rendered when traversing a second time. But this leads to the problem where to set the split plane. Another example are huge dynamic objects like a rain particle system. A possible solution here would be to split the particle system into smaller ones. I would love to hear some other opinions on this topic. Ciao, Thorris.
Karg
Karg
One way to got about this is to have multiple ABTs.
One is for static grometry(it will not change). Divide this at the triangle level.
One is for semi-static objects(moves, but has a fixed range of motion). Divide this at the object level(bounding volume of all possible positions).
And one for dynamic objects. Same as semi-static, but the location can also change. This one will have to be rebuilt as the objects move.

karg
_DarkWIng_
_DarkWIng_
You are also missing one of the keypoints of ABT. Nodes can be overgrown. Look in the paper about loose octrees as they use the same thing. This way you waste a bit of space but you never get duplicated entrys in nodes or any trouble with objects on node borders. In general Karg idea is very good. As far as I can remember Yann also had 3 types of objects: Static, semi-dynamic (can ony move/morph/rotate.. in small area. Things like doors, trees,.. ), dynamic (you can do anything with them).

You should never let your fears become the boundaries of your dreams.
You should never let your fears become the boundaries of your dreams.
Thorris
Thorris
Hello

Karg''s idea of three ABT''s is not bad. I will think about that.

I know that nodes can overgrow, but that relates more to completely dynamic objects.

With dynamic I didn''t mean that the tree moves around, but it is animated. And of course the AABB covers the whole area of possible motion.

The problem of where to split the nodes still remaines. Let''s say we have 1000 trees. We could take a node (that intersects surrounding nodes) for each tree, but this will result in a shallow tree, which is very bad for frustum culling.

The only solution I see for that is to group several objects in one node and subdivide it further.

Ciao, Thorris.
_DarkWIng_
_DarkWIng_
quote:
Original post by Thorris
I know that nodes can overgrow, but that relates more to completely dynamic objects.
...
The problem of where to split the nodes still remaines. Let''s say we have 1000 trees. We could take a node (that intersects surrounding nodes) for each tree, but this will result in a shallow tree, which is very bad for frustum culling.


I think overgrowth relates to all forms of ABT. I use it even on static geometry (just triangles) benifits of less triangles very well outweight the negative effects of a little less efficient frustum culling.

And in your case... with trees:


Lets say you selected splitting plane (red). Then just add objects crossing the split plane to the child nodes (blue, green) based on how much object is over the split plane. There rebuild child nodes AABB.


You should never let your fears become the boundaries of your dreams.
You should never let your fears become the boundaries of your dreams.

Topic Locked

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

Sign in to reply to this topic.