Triple product integrals evaluate the shading at a point by factoring the reflection equation into incident illumination, visibility, and BRDF. By densely sampling the space of incident directions, this approach is capable of highly accurate rendering scenes lit by high-frequency environment lighting, containing complex materials and featuring intricate shadows. Efficient evaluation of triple product integrals using Haar wavelets enables near-interactive rendering of such scenes, while dynamically changing the lighting and the view. Although faster methods have been proposed in the recent real-time rendering literature, the approximations employed in these methods typically limit them to lower frequency phenomena.
In this paper, we present a new approach for high-frequency scene relighting within the triple product framework. Our approach breaks the computation to smaller solid angles (blocks) over most of which the triple product degenerates to a dot product. We introduce a lossless, yet compact, differential representation of the visibility function over each block, and sample the BRDF on the fly, eliminating the need to store multiple rotated copies of each BRDF. By combining these ideas, we are able to achieve true interactive performance even when running on a CPU, while supporting high frequency effects in scenes with high vertex counts.