# OCTree vs. OBB (same thing?)

I am slowly learning the terminology for these graphics algorithms.

(1) Is OBB in jME also used for occlusion culling or only collision?

(2) What is the difference (if any) between OCTrees and OBBs?

(3) Is the "frustrum culling" feature done by using OBBs? Is there any other culling system currently in place (like if one object is in front of another?)

Forgive my ignorance.

:?

(1) OBB is a orientated bounding box. A box that contains a piece of geometry that can be oriented along any axis. It’s used for frustum culling (not occlusion as that isn’t in yet) and collisions.

(2) Octtrees splits a piece of geometry into four parts, then those parts into four parts and so on. It’s not related to OBB really, but the leafs of the octtree may be contained in OBBs.

(3) Frustum culling is the process of eliminating geometry from being rendered. The camera is made up of 6 planes. These planes contain the area that is visible to the camera. Tests are made to determine if a geometry node is in this frustum volume or not. These tests are done by comparing the planes with the Bounding Volume, the bounding volume could be: AABB (Axis aligned bounding boxes), OBB (oriented bounding boxes) or spheres.

The only other culling is front face versus back face culling.

Occulsion (if one object blocks another) is not currently in.

Thank you for the helpful clarifications.

(2) Octtrees splits a piece of geometry into four parts, then those parts into four parts and so on. It's not related to OBB really, but the leafs of the octtree may be contained in OBBs.

i thought those were quad trees.

And you thought right.

Typed before I read I guess…

(2) Octtrees splits a piece of geometry into eight parts, then those parts into eight parts and so on. It’s not related to OBB really, but the leafs of the octtree may be contained in OBBs.

If I have a huge huge world, the engine doesn't automatically build an octree for me right?  I mean I am guessing it wouldn't because that would take some time but is there any way I can do that using your code since I am assuming its already been written?  Also, are you doing any kind of balancing on the octree's that are produced?

Thanks

-Nate