Cone tracing is an approach in which the rays are extended to have a volume of a conical shape. Instead of handling just rays that are lines in the space, each ray is associated with a linearly increasing radius. Algorithmically this is very similar to the ray-tracing discussed above. The only main differences are in the detection of rays. There are actually two different ways to implement cone tracing. They are identical to each other at early part of the simulation although they might start to express different kinds of errors later in the simulation depending on the details of implementation. The first interpretation is to use cones as described above. This makes it possible to use point-like receivers similarly as in the image-source technique. The detection of rays by a listener becomes now of a question whether a point is inside of a cone or not.
The other interpretation of this duality with cones is to keep the rays similar as in the original ray-tracing, but make the receiver to have time-dependent radius. Increasing the receiver radius linearly makes it equivalent to the interpretation with cones. In both of these cases, the energies carried by rays or cones should be attenuated by a factor $1 / r^2$ to accommodate the increase in either the cone volume or in the receiver size.
The cone-tracing approach is attractive as the resulting responses of these simulations will be most accurate at the beginning of the response while the accuracy will decrease towards the end of the response. This is well aligned with human perception as it has been shown that accurate reproduction of the early part of the response is more important than accuracy of the higher-order paths. In that area overall characteristics of the response is more important than accurate reproduction of individual reflection paths.
The downside of this approach is in the difficulty of implementing reflection of the cones properly. If a cone hits only one surface in a reflection, then it reduces to the same as reflection of a single ray in ray-tracing. If a cone hits several surfaces in a single reflection, then it should be split into several new beams, and that introduces challenges. The main one is that it is not possible to split a cone to several new cones that would cover exactly the same volume. Thus, this will introduce some error in any case. This is actually the point in which the two interpretations discussed above diverge from each other. If the receiver of increasing size is used, then there is no possibility to perform any splitting. However, if no cone splitting is performed, but the cone is reflected against the surface hit by the center axis of the cone, then these two interpretations are still identical to each other. In both of them, there is a potential problem later in the simulation when the receiver volume grows so large that it does not fit completely inside the room any more, or when the cone volume is so large and cover so many surfaces in a single reflection that reflection against only a one surface is not reasonable any more.
Pyramid tracing is similar to the cone tracing discussed above, but with the difference that in this approach the cross-section of the beams is triangular instead of being circular as in the cone tracing. In addition to pyramid tracing the cross section of beams can have other simple shapes as well, as in the technique known as frustum tracing where the beams have a quadrilateral cross section. This can be contrasted to the image-source-based beam-tracing in which the beam shapes are defined by the projections of the surrounding geometry.
The main difference between these two styles of beam-tracing techniques is that in all the ray-tracing inspired techniques the beams are aimed to be as similar to each other as possible. For example, in the pyramid tracing the initial emission of beams is based on an approximately even triangulation of the sphere surrounding the sound source, and each triangle on the surface of that sphere corresponds to one pyramidal beam. By this means all the beams can be assigned to have the same starting energy. In the image-source-based beam-tracing, the initial beams are of variable shape and size. Moreover, as this technique is primarily used to find only the specular reflection paths there is no need to assign energies to those beams.
The pyramidal beams are preferable over the conical ones in some aspects. Firstly, the initial emission can be done in a more accurate manner as the surface of a sphere can be easily triangulated whereas covering a sphere with circles is not possible such that all the areas are covered exactly ones. In cone tracing, the initial cones will always either be overlapping each other or then there will be holes on the surface that are not covered by any of the cones.
The second main advantage is that splitting of pyramidal or frustum-shaped beams is much easier than splitting of conical beams. If a pyramidal beam hits an edge shared by two surfaces, it can always be split into three new pyramidal beams each having triangular cross-section that all together cover exactly the same area as the originating beam. If the beam hits several polygonal surfaces in a single reflection, it is still possible to split the reflection into new pyramidal beams, but the number of beams will be more than in the case of reflection against two surfaces. If the initial shape of the beams is quadrilateral, it is similarly possible to split the beams. However, it is not always possible to retain the quadrilateral shape, and the splitting may result in pyramidal beams as well (that can be considered to be a degenerated form of a quadrilateral beam).
If all the required beam splitting operations are performed in each reflection, the image-source-based beam-tracing and pyramid tracing start to converge. In both cases the beams will get narrower and narrower and the reflection patterns will get more and more similar to each other when considered from the resulting image-source tree viewpoint. The image-source tree produced with the image-source-based beam-tracing has the minimal possible size to cover all the specular reflections, whereas the pyramidal and frustum tracing span a much wider original tree but at high specular reflection orders they should be more similar to the image-source-based beam-tracing result.
One advantage of ray-tracing-based beam-tracing is that these techniques can be used to model even diffuse reflections if there is a need for that. Making a diffuse reflection with these techniques can be implemented simply, for example, by extending the aperture of a beam, and thus widening the scope covered by the beam. Another option is to act similarly as in ray-tracing and perturb the cone axis to deviate from the specular reflection direction.
III.5.4 Registration of rays (previous) | III.5 Ray-tracing techniques (up) | III.5.6 Brief History (next) |