III.3.2 Clipping of beams
In addition to the main principle described above there are two more improvements that can be utilized to speed-up the computation even further. Basically the aim in these is to clip the beams whenever possible to make them narrower and thus reduce the growth rate of the image source tree.

First such improvement is illustrated below. In that setup there is one large reflector and a smaller one. Basic beam-tracing will suggest that there would be possibility for third and fourth order reflections whereas there are none in reality. This can be seen by applying beam-clipping against originating beam. The solid angle covered by the smaller reflector is relatively narrow, and when that is reflected against the larger reflector, the size of the beam should not increase as it will do in the basic beam-tracing. After proper beam-clipping, it is seen that now the second-order beam from the larger reflector is clearly narrower, and the smaller reflector is completely out of that meaning that there can't be any higher order reflection paths in this setup.

- Alternate between 'Basic beam-tracing' and 'Basic beam-clipping' to see how the shape and order of beams change
- Move the listener around and note that realizable reflection paths take place only in the area covered by the beams obtained with clipping
- You can move the source as well to see how the beams change.


Time:
Zoom: Visualization: Wavefronts Full ray paths Raylets
Type of beam traxing: Basic beam-tracing Basic beam-clipping

The only algorithmic change would be that the constructBeam needs to make the clipping of the beams such that the resulting beam is the intersection of the new beam and of the originating beam after reflecting it against the reflector.

Algorithm: Clip the new beam against the originating beam

The beam-tracing algorithm that takes this clipping into account would look as in the following.

Algorithm: Beam-tracing approach for recursive computation of image sources

Note especially the line 8 as it is possible that the new beam gets completely clipped out, and in that case there is no reason to consider this surface for the current image source further, and it can be neglected.