SIGGRAPH Asia 2014 Course - Efficient Real-Time Shading with Many Lights

Efficient Real-Time Shading with Many Lights

SIGGRAPH Asia 2014 Course

Downloads

The course slides are available in separate PDFs (one for each part):

The PDFs include both slides and notes. Note: On Ola’s page you can find the original Powerpoint (.pptx) files. In particular, Part 1 and 3 contain several animations/clips that are missing from the PDFs.

Links to demos will be added as they become available. :-)

Course Intro title slide Part 1 title slide Part 2 title slide Part 3 title slide Part 4 title slide

Abstract

Using many lights in real-time applications has been an important goal for many years. The games industry in particular has strived to increase the number of lights to provide enhanced visual quality and realism. Today, high-end games often make use of hundreds of lights in each frame, and this is likely to be pushed further in the future. The ability to efficiently manage and shade large numbers of lights brings many possibilities, apart from simply allowing light to be cast from many dynamic objects. In addition, it can support visualizing global illumination solutions, or enable detailed artistic light direction. Thus, efficient real-time shading with many lights, represents a potential for solving many of the problems facing the development of next generation high-end games. To achieve the level of performance needed to make this possible, the way which light management and shading is performed has undergone dramatically development in recent years. Both industry and academia has invested great effort pursuing this goal, which has resulted in a large number of new and sometimes competing techniques.

This course presents an in-depth exploration of this topic, starting with background and leading up to state of the art research, including recent results on supporting shadows. The course combines production experience from game developers with the latest research into efficient many-light algorithms for both desktop and mobile hardware.

References

Missing links = didn’t find a good online version.

Part I: Introduction

Slide: Introduction References
  • Practical Clustered Deferred and Forward Shading; Persson & Olsson, 2013, Advances in Real-Time Rendering
  • Clustered Deferred and Forward Shading; Olsson, Billeter & Assarsson, 2012. Paper
  • Tiled and Clustered Forward Shading; Olsson, Billeter & Assarsson, 2012. Abstract
  • Reflections and Volumetrics of Killzone Shadow Fall; Valient, 2014, Advances in Real-Time Rendering
  • Rendering Battlefield 4 with Mantle; Andersson, 2014, GDC. Slides
  • Moving to the Next Generation - The Rendering Technology of Ryse; Schulz, 2014, GDC. Slides
  • Parallel architectures and algorithms for real-time synthesis of high quality images using deferred shading; Tebbs, Neumann, Eyles, Turk & Ellsworth, 1992. Tech Report
  • Comprehensible rendering of 3-d shapes, Saito & Takahashi, 1990. Paper
  • Deferred Shading; Hargreaves & Harris, 2004, NVIDIA Developer Conference: 6800 Leagues under the Sea. Slides
  • Deferred shading in S.T.A.L.K.E.R.; Shishkovtsov, 2005, GPU Gems 2. Article
  • Optimized shadow mapping using the stencil buffer; Arvo & Aila, 2003, JGGGT

Part II: Practical Clustered

Slide: Practical Clustered References
  • DirectX 11 Rendering in Battlefield 3; Andersson, 2011. Slides
  • Forward+: Bringing Deferred Lighting to the Next Level; Harada, McKee & Yang, 2012. Paper
  • A 2.5D Culling for Forward+; Harada, 2012. Paper
  • Forward Clustered Shading; Svilpa, 2014. @ Intel
  • Clustered Shading Android Sample; Yusov, 2014. @ Intel
  • Tiled Shading; Olsson & Assarsson, 2011. Paper
  • Clustered Deferred and Forward Shading; Olsson, Billeter & Assarsson, 2012. Paper
  • Making It Large, Beautiful, Fast and Consistent: Lessons Learned Developing Just Cause 2; Persson, 2010. In GPU Pro
  • Graphics Gems for Games - Findings from Avalanche Studios; Persson, 2012. Link

Part III: Shadows for Many Lights

Slide: Many Light Shadows References
  • (Various Tiled & Clustered Publications)
  • OpenGL Extensions: ARB_sparse_texture, ARB_bindless_texture, AMD_gcn_shader
  • Forward+: Bringing Deferred Lighting to the Next Level; Harada, McKee & Yang, 2012. Paper
  • A 2.5D Culling for Forward+; Harada, 2012. Paper
  • Fast Parallel construction of High-Quality Bounding Volume Hierarchies; Karras & Aila, 2013. Paper
  • Taking Advantage of DirectX11.2 Tiled Resources; Coombes, 2014, GDC
  • Multiple Shadow Frustra; Forsyth, 2004, GDC. Link
  • ManyLoDs: Parallel Many-View Level-of-detail selection for real-time global illumination; Holländer, Ritschel, Eisemann & Boubekeur, 2011. Paper
  • Interactive rendering of globally illuminated glossy scenes; Stürzlinger & Bastos, 1997
  • Splatting indirect illumination; Dachsbacher & Stamminger, 2006, I3D. Paper
  • Resolution-matched shadow maps; Lefohn, Sengupta & Owens, 2007. Paper
  • Efficient omnidirectional shadow maps; King & Newhall, 2005. In ShaderX3

Part IV: Many-Light on Mobile

Slide: Many Light Mobile References
  • Tiled deferred blending; Ladlani, 2014. In GPU Pro 5
  • The Revolution in Mobile Game Graphics; Martin & Bjørge, 2014. Slides
  • Challenges with High Quality Mobile Graphics; Martin, Bjørge, Kakarlapudi & Fredriksen, 2013. Slides
  • An Evolution of Mobile Graphics; Shebanow, 2013. Slides
  • Performance Tuning for Tile-Based Architectures; Merry, 2012. Article
  • Forward+: Bringing deferred lighting to the next level; Harada, McKee & Yang, 2012. (link dead)
  • Light Indexed Deferred Lighting; Treblico, 2007. Link
  • Tiled Forward Shading; Billeter, Olsson & Assarsson, 2013. In GPU Pro 4
  • Clustered Deferred and Forward Shading; Olsson, Billeter & Assarsson, 2012. Paper
  • Tiled and Clustered Forward Shading; Olsson, Billeter & Assarsson, 2012. Abstract

This course at the ACM Digital Library. At the digital library, you can also find the slides that we originally submitted when the course was accepted. The slides available above are more up-to-date however.

Co-authors

Errata

  • Part 4, Slide 13: the correct title of Bruce Merry’s article is “Performance Tuning for Tile-Based Architectures”, rather than “Applications”. (The reference list displays the correct name already.)

(Find anything inaccurate, any errors? Something worth pointing out? Send me an email!)