Point Region vs. MX Octrees
I've been doing some research into octrees lately and had a question that I haven't been able to find the answer to on google.
On Wikipedia a page on octrees mentions a Point Region (PR) Octree and an MX Octree. The difference between the two is that an xyz coordinate for a PR tree defines a corner of an octree's node (center of parent's division by three planes) and an xyz coordinate for an MX tree defines the center of a node.
Because of this, the root of a PR octree can represent infinite space while the root of an MX tree has to define a finite space to know what the xyz coordinate is.
My question is this:
What are the pros and cons of each form of the octree? Are there any significant advantages of one over the other?
Thanks,
Caldiar
Time for speculative bumppage.
From what I can tell there doesn't seem to be a large difference between the two past the Depth 0 (root node).
Since I need to use the octree structure for view-culling, collision checking, and, in a potential case, as direct representation of geometry, it seems that either will do.
I'm going to use the MX variety for now and check this thread to see if somebody with more experience with data structures can provide some more insight on this for me.
Thanks :)
From what I can tell there doesn't seem to be a large difference between the two past the Depth 0 (root node).
Since I need to use the octree structure for view-culling, collision checking, and, in a potential case, as direct representation of geometry, it seems that either will do.
I'm going to use the MX variety for now and check this thread to see if somebody with more experience with data structures can provide some more insight on this for me.
Thanks :)
There is a large difference between the described two types - PR one is adaptive, meaning that you can tweak the node point at octree construction time to make the octree represent the actual geometry closer. (for example, if the world consists of two objects with small radius and positions like (-100, -100, 0) and (100, 100, 0), PR octree will be able to represent this with 3 levels, where at level 3 there will be two nodes that exactly represent the objects' AABBs, and all other nodes will be empty), and MX octree will require more levels and the non-empty leaf nodes will still have some extra space around the objects.
Though if you need adaptive properties (i.e. they make a difference in your scenes and you're willing to put more computational effort in tree construction), I'd recommend something different than octree - perhaps, kD-tree or ABT.
Though if you need adaptive properties (i.e. they make a difference in your scenes and you're willing to put more computational effort in tree construction), I'd recommend something different than octree - perhaps, kD-tree or ABT.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement