One of the nice things about this method is it can be implemented two ways. These arrays can either be formed with a standard preprocess or with incremental improvements in each frame. Most of the images below use the incremental method since I can see the results quicker. Of course, what I've described works only for a static objects. Note the blocks still have no effect on the room.
Blocks do have an effect of the room.
Here, a grid is built up around dynamic objects, as above. However, there are two major differences. First, the grid is built up dynamically, which almost eliminates the preprocess stage, and only grid cells which are actually used need to be computed. Secondly, since the grid is built up statically, the interreflection term can be computed for a surface at a given orientation, which gives accurate results. Also in here is a hack to get the shadows to appear as dark as they do in the pathtraced image.