I'm developing an Octtree Scene Manager for XNA Game Studio Express, which is almost ready to release once I have a codeplex project for it.

I have a question for the people on this forum about a feature.

Should I add Ray or LineSegment intersection testing (which I think would be must faster than some other methods) or should that be left to some other collision testing components

An octree (in this case a "loose" octree) is very fast at finding ray intersections with areas (cube), but I'm trying to decide if it is the responsiblity of an octree to do this or should it just worry about display issues.

What do you think

Re: XNA Game Studio Express Ray intersection with an octtree scene manager?


IMHO, I'd mainly use an octree system (or maybe a BSP one, portals, etc.) to assess what has to be displayed. So I'd leave raycasts processing as part of another component (like a physics handler).

That way, you keep a clean implementation. Still, you could set your octree system to serve your raycast (or physics) system, but keeping both as different components.

Re: XNA Game Studio Express Ray intersection with an octtree scene manager?

Jon Watte

For a spatial subdivision structure to be useful, then the users of that structure need to be able to accelerate queries for it to be useful. In a typical octree, you will see queries like "return list of things or nodes intersecting this OBB / AABB / Frustum / Sphere / Capsule / Line Segment." Once you have those queries, precise collision testing can be left to some other library. However, you have to make sure that the handling of your nodes is sufficiently flexible that the user can put in the necessary data in the first place.

Btw: if what you do is an octree, and you don't provide management of things like procedural geometry, shader parameter state, transparency sorting, render passes and render targets, then your "scene manager" is actually just a "spatial index." Which is very useful in itself -- just use the right names for things to avoid confusion.

Re: XNA Game Studio Express Ray intersection with an octtree scene manager?


I do hope that this octtree will support (or allow the user to control) more than just spatial aspects of the scene using the octree.

I am also providing the source (in it's simplest form) right now, so that others can use it along with whatever they might already have (and be used to) in the way of collision/avoidance managment.

I guess, that is really the basis of my original question/inquiry. Should I continue to develop the octree to be a full scene management project or leave it in a simpler form for others to expand on using other libraries that already handle certain aspects of the scene that may not even be visible. In other words, is it worth my time.....(other than for my own use) to keep expanding either project (Quadtree or Octtree) or would others rather just expand on what I have done to this point. It IS worth my time if enough people can/will use it. I have used other people's efforts in the past (which I'm thankful for). Should these projects just be a "Here's how you do this part of it" or more

So far, I've not received a lot of feedback on what people are doing with these projects. So, I don't know.