Real-time GI for dynamic environments using temporal filtering

Figure 1. Re-projection is used to filter out pixels with mismatching positions between frames

Global Illumination (GI) results from the combination of direct and indirect illumination, with the latter being much more complex to calculate [1]. Ray tracing-based techniques determine the indirect light contribution by simulating individual light paths per pixel. In order to accelerate this computation, Virtual Point Lights (VPLs) can be used to approximate indirect lighting [2]. Moreover, using temporal filtering and re-projection, previous frames can be reused when drawing the current frame, thus further reducing costs.

A scene is rendered by accumulating lighting from all VPLs. Temporal sampling cuts costs by only computing lighting for a subset of VPLs in the scene per frame and accumulating lighting for the rest of the VPLs from previous frames. Previous frames are re-projected to accommodate scene changes from one frame to the next. Surfaces in previous frames which are not present in the current frame are identified by comparing each previous pixel position in the scene with the position of the pixel they are re-projected onto. Previous pixels with mismatching positions are filtered out. This process is illustrated in Figure 1.

The developed system was evaluated, with temporal sampling enabled and disabled, along two aspects: performance and quality. Performance results show that temporal sampling returns faster frame times, thanks to re-projection being cheaper to compute than using all VPLs at once. Quality tests show that in general, image quality improves. However, temporary dark artefacts may develop around previously occluded surfaces. These are outlined in Figure 2, where the camera is strafing right and the parts of the wall that were behind the pillars in previous frames exhibit fake shadows while indirect lighting is computed for all VPLs over a number of frames.

Figure 2. Fake shadows are temporarily rendered as a results of indirect lighting computed from VPLs over a number of frames.

The method proposed and developed aimed to achieve faster performance with minimal quality loss. The results show that this has been achieved with up to 15x performance speedup. The method is likely to scale well with better hardware as illumination computation per VPL is the largest bottleneck in the method’s pipeline. Future work can expand on this by selectively rendering parts of a scene depending on the amount of valid data available. Selectively updating all buffers for every frame could eliminate any artefacts introduced by temporal sampling.


[1]         Kajiya, J. T. (1986, August). The rendering equation. In ACM SIGGRAPH computer graphics (Vol. 20, No. 4, pp. 143-150). ACM.

[2]         Keller, A. (1997). Instant Radiosity. In Computer graphics proceedings, annual conference series (pp. 49-56). Association for Computing Machinery SIGGRAPH.

Student: Kevin Tonna
Supervisor: Dr Sandro Spina
Co-Supervisor: Dr Keith Bugeja
Course: B.Sc. (Hons.) Computing Science