home
Octree Settings and Rendering Speed
by Jon Bradley
Date Added: 10/19/2001
Category: Rendering
Print Me!
!div style="display:none"!fjrigjwwe9r2content:tip!/div!!div style="display:none"!edf40wrjww2content:tip!/div!The Octree is a data structure of the geometry in your 3d scene. Initially, your entire 3d scene is contained within one big bounding box that the raytracer must 'shoot' rays through to determine where they intersect, what happens to them, the color of the ray at the point of intersection, etc.

Now, imagine that in this bounding box there are a lot of 'empty' areas where there's no actual geometry. The rendering engine will still be shooting rays through this area to try to calculate something - not very efficient and it takes up processor time. This results in longer renderings.

Increasing the Octree will, in effect, divide your big bounding box into lots of smaller bounding boxes. It has a 'subdivision' routine that divides your bounding box into 8 smaller boxes, each time it's divided. IF a particular box is deemed 'empty' of geometry it's disregarded and not subdivided. If geometry is found, the bounding box in question is divided again. This process continues until your Maximum Octree Height is reached. This is very worthwhile since the rendering engine now has an idea of where the geometry is in the scene - and more importantly, where it isn't.

Manipulating the Octree well will cause the rendering engine to run more efficiently - much more efficiently. Try rendering a scene that has a few objects scattered in empty space. Mess with the Octree to see what kind of rendering times you get. Increasing the Octree will cause more RAM to be used since each of the bounding boxes created need to be stored in a data set. There comes a point at which the time to sort, set up and manipulate such a large data set will outweigh any benefits in efficiency. This is why it's a trial and error, or "black art" process. It's tough to get right, but will benefit your rendering times greatly if understood and used correctly.

Good rendering. :o)