The Real-Time Reprojection Cache

Report ID: TR-749-06
Author: Isidoro, John R. / Sander, Pedro V. / Nehab, Diego
Date: 2006-04-00
Pages: 8
Download Formats: |PDF|
Abstract:

Real-time pixel shading techniques have become increasingly complex, and consume an ever larger share of the graphics processing budget in applications such as games. This has driven the development of optimization techniques that either attempt to simplify pixel shaders, or to cull their evaluation when possible. In this paper, we follow an alternative strategy: reducing the number of shading computations by exploiting spatio-temporal coherence.

We describe a simple and inexpensive method that uses the graphics hardware to cache and track surface information through time. The Real-Time Reprojection Cache stores surface information in screen space, thereby avoiding complex data-structures and bus~traffic. When a new frame is rendered, reverse mapping by reprojection gives each new pixel access to information computed during the previous frame.

Using this idea, we show how to modify a variety of real-time rendering techniques to efficiently exploit spatio-temporal coherence. We present examples that vary as widely as stereoscopic rendering, motion blur, depth of field, shadow mapping, and environment-mapped bump mapping. Since the overhead of a reprojection cache lookup is small in comparison to the required per-pixel processing, the cached algorithms show significant cost and/or quality improvements over their plain counterparts, at virtually no extra implementation overhead.