The basic radiosity algorithm presented above can be directly applied in this technique as well. The difference lies in the shootEnergy function and how it handles reflections.
This algorithm iterates over all the outgoing reflection angles in the response. It divides the energy to outgoing spatially discretized slots according to the BRDF, that is a function of two angles, incident and reflection angles. In addition, there is a need for a function getAngle that returns the angle in which the former patch sees the latter one. Note that this is not a symmetrical function, and, thus, there is a need to compute this for both possible orders of the patches.
As already mentioned, it is not possible to accurately model specular reflections with this approach that uses spatially discretized BRDFs and responses. Increasing the BRDF discretization to cover those is not possible in practice due to increase in memory requirements. For this reason, the acoustic radiance transfer is best suited for such applications in which the early specular reflections are not essential or it can be used in a hybrid model in which it is combined with some other technique, such as the image-source method.
III.6.2 Bidirectional reflectance distribution function (BRDF) (previous) | III.6 Acoustic radiosity and radiance transfer (up) | III.6.4 Gathering of energy - second phase (next) |