Temporal coherence (TC), the correlation of contents between adjacent rendered frames, exists across a wide range of scenes and motion types in practical real-time rendering. By taking advantage of TC, we can save redundant computation and improve the performance of many rendering tasks significantly with only a marginal decrease in quality. This not only allows us to incorporate more computationally intensive shading effects to existing applications, but also offers exciting opportunities of extending high-end graphics applications to reach lower-spec consumer-level hardware.This course aims to introduce participants to the concepts of TC, and provide them the working practical and theoretical knowledge to exploit TC in a variety of shading tasks. It begins with an introduction of the general notion of TC in rendering, as well as an overview of the recent developments in this field. Then it focuses on a key data structure -the reverse reprojection cache, which is the foundation of many applications. The course proceeds with a number of extensions of the basic algorithm for assisting in multi-pass shading effects, shader antialiasing, casting shadows and globalillumination effects. Finally, several more general coherence topics beyond pixel reuse are introduced, including visibility culling optimization and object-space global-illumination approximations. For all the major techniques and applications covered, implementation and practical issues involved in development are addressed in detail.In general, we emphasize "know how" and the guidelines related to algorithm choices. After the course, participants are encouraged to find and utilize TC in their own applications and rapidly adapt existing algorithms to meet their requirements.The version of the course notes you are currently reading was created at September 23, 2010. The newest version of these course notes can be downloaded from this URL.
Course PrerequisitesThis course should give a computer graphics practitioner, student or researcher the working and theoretical knowledge to implement state-of-the-art temporal coherence techniques. The content of this course is delivered by talks and course notes. Prerequisites incldue knowledge of basic real-time computer graphics, such as programmable shading pipeline, model transformation, rasterization and texture mapping. Experience in writing vertex and fragment shaders is preferred.