Jump to content
  • Advertisement


This topic is now archived and is closed to further replies.


Scene graph, Character models, Collision detection data structures

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

I''m having a bit of trouble making the jump from theory to application when it comes to these things. It''s my understanding that a level/world/scene graph is best represented by a tree (octree, quadtree, bsp tree), and each node contains basic information until a leaf node is reached, which then contains the actual polygons to be rendered. I understand all that for static geometry, but for moving objects, such as a character model, am I meant to further subdivide and attach it as a node in the ''world'' tree? How are Collision Detection trees, such as an OBB tree, represented? Is it meant to be part of the branch that contains the model? Or should it be stored outside of the ''world'' tree? Also, the octree is generated at runtime? Or is it also compiled the same as a BSP tree? Thanks in advance, I hope my confusion is clear enough to warrant any insight

Share this post

Link to post
Share on other sites
No matter whether you use octrees or quadtrees or bsp, they all are precompiled. On runtime you traverse the tree and draw whats visible. There are also alternatives to those trees.

You can put the pointer to your dynamic objects in the tree nodes, during the tree traversal you see then which objects need to be updated. The problem is then that objects need animation which are not in view, e.g. car race, back opponents must be moved while not visible.

I didnt put the objects into the data of the static world, I just hold a list of all objects that is sorted by distance to the camera. All objects inside a "bubble" around the camera are moved, others not.

Put it like you need it, thats not the core time critical stuff.

- thomas

Share this post

Link to post
Share on other sites

  • 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!