The Radiance synthetic imaging system
Taken from the Radiance web site http://radsite.lbl.gov/radiance/
Radiance is a suite of programs for the analysis and visualization of lighting in design.
Radiance can be thought of as a renderer as that is the task it is often used for. What makes Radiance different is that it is really a "lighting simulator". So, instead of doing its calculation in raw RGB values and concentrating on fake effects, it uses real units (even if they're still in the RGB colour space) and tries to accurately simulate as much as possible. The feature that really stands out is its ability to accurately simulate diffuse (i.e non-direct) lighting in a scene.
Radiance is able to calculate diffuse lighting like radiosity. However, Radiance is a ray tracer and is thus able to handle non-flat objects such as spheres and cylinders. It determines diffuse light by shooting off many rays from every surface a ray hits. This puts Radiance in the catagory of Monte Carlo simulation since these diffuse rays go off in random directions. Obviously there is a recursion limit (usually only 1 or 2 levels of recursion are needed for most scenes), and there are several other parameters to tune. A scene will seem splochy if the lighting varies alot and too few diffuse rays are spawned.
Radiance avoids being bogged down in ray intersection tests by breaking the scene into an octree data structure as a pre-processor step.
i.e: The scene is bounded by a cube, which is recursively divided and subdivided along the 3 axis' into 8 equal cubes. The recursion ends when a cube contains either no objects or exactly (a part of) one object, or has hit a fixed level or size restriction.
This creates a type of 3D binary tree that makes it very fast and efficient to trace a ray even in very large and complex environments.