Courses

Saturday, 18 December | 2:15 PM - 6:00 PM | Room 314

Presented in English / 영어로 발표 됨

Exploiting Temporal Coherence in Real-Time Rendering

Saturday, 18 December | 12:15 am - 4:00 am | Room 314

Temporal coherence, the correlation of content between adjacent rendered frames, exists across a wide range of scenes and motion types in practical real-time rendering. Taking advantage of temporal coherence can save redundant computation and significantly improve the performance of many rendering tasks with only a marginal decrease in quality. This not only allows incorporation of more computationally intensive shading effects in existing applications, but it also offers exciting opportunities to extend high-end graphics applications to reach lower-spec, consumer-level hardware.

This introduces the concepts of temporal coherence and provides the working practical and theoretical knowledge required to exploit temporal coherence in a variety of shading tasks. It begins with an introduction to the general idea of temporal coherence in rendering and an overview of the recent developments in the field. Then it focuses on a key technique: reverse reprojection cache, which is the foundation of many applications. The course explains a number of extensions of the basic algorithm for assisting in multi-pass shading effects, shader antialiasing, casting shadows, and global-illumination effects. And it introduces several more general coherence topics beyond pixel reuse, 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.

The course emphasizes "know how" and the guidelines related to algorithm choices. After attending the course, participants are encouraged to find and utilize temporal coherence in their own applications and rapidly adapt existing algorithms to meet their requirements.

Level

Intermediate

Intended Audience

Game and graphics developers. Researchers who are interested in real-time rendering and rendering acceleration. Graphics hardware developers.

Presentation Language

Presented in English / 영어로 발표 됨

Prerequisites

Knowledge of basic real-time computer graphics, such as the programmable shading pipeline, model transformation, rasterization, texture mapping. Experience in writing vertex and fragment shaders is preferred.

Syllabus

Introduction  - Daniel Scherzer
  What is temporal coherence?
  When is it useful? Example scenarios
  Applications in real-time rendering.
Background  - Daniel Scherzer
  Overview of the related techniques
    CPU-based techniques from the old time
    GPU-based real-time techniques
  Taxonomies - different perspectives of tackling the problem
    Space - where do we store data?
    Data flow - forward vs. reverse reprojection
    Data reuse locality
Image-space real-time reverse reprojection - Lei Yang 
  The essentials
  Implementation
    Determining cache coordinates
    Detecting cache misses
    Cache resampling and filtering
    Refreshing strategies
    Control flow optimization
  Determining what to cache
  Analysis
    Computational overhead
    Resampling error
    Quality - speed tradeoff
    Direct application examples
Applications and extensions of reverse reprojection (Part I) - Lei Yang 
  Multi-pass rendering effects
    Stereoscopic rendering
    Motion blur
    Depth of field effects
  Amortized sampling
    Theory
     Achieving subpixel accuracy: shader antialiasing

Break

Applications and extensions of reverse reprojection (Part II) - Daniel Scherzer
  Application in discrete LOD blending
  Application in casting shadows
    Pixel-correct shadows
    Soft shadows
  Application in global illumination
    Screen-space ambient occlusion
    Imperfect shadow maps
  Spatio-temporal upsampling

Temporal coherence in object space - Oliver Mattausch
  Temporal coherence in culling techniques
    Hardware occlusion queries
    Coherent hierarchical culling (CHC)
    Near-optimal hierarchical culling (NOHC)
    Coherent hierarchical culling revisited (CHC++)
  Incremental instant radiosity

Wrap Up - All
    Conclusion, panel-style Q&A discussion

Daniel Scherzer
Technische Universität Wien

Lei Yang
Hong Kong University of Science and Technology

Oliver Mattausch
Technische Universität Wien

Instructor Bios

Daniel Scherzer
Daniel Scherzer is an assistant professor at the Institute of Computer Graphics and Algorithms of the Technische Universität Wien, where he received an MSc in 2005, an MSocEcSc in 2008, and a PhD in 2009. His current research interests include shadow algorithms, temporal coherence methods, modelling, and level-of-detail approaches for real-time rendering, and he has authored and coauthored papers in these fields.

Lei Yang
Lei Yang is a fourth-year PhD candidate at the Hong Kong University of Science and Technology. He received a BEng from Xidian University in 2004 and has been invovled graphics research since then. His current research interests include rendering acceleration, spatial and temporal coherence in rendering, filtering, and anti-aliasing. He has co-authored several refereed journal and conference papers on exploiting spatial and temporal coherence in real-time rendering, three of which are discussed in this course.
Oliver Mattausch
Oliver Mattausch is a researcher at the Technische Universität Wien, where he received his PhD in 2010. He has coauthored several papers in the fields of real-time rendering and scientific visualization. His current research interests are real-time rendering with a focus on visibility algorithms, temporal coherence algorithms, and real-time global illumination. From his work in the GameTools EU project, he has hands-on experience with integrating research results into modern rendering engines.