5 Major Challenges in Interactive Rendering Johan Andersson DICE
Overview What are the major challenges for us in the  next 5-10 years ? Interactive rendering for games as well as other interactive areas Which problems do we  want to solve ? What do we want to  achieve & focus on ? Based on own thoughts & feedback from people in the industry  08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
THE 5 CHALLENGES (in no particular order)
CINEMATIC IMAGE QUALITY Challenge #1
Challenge #1 - Cinematic image quality Want to get to that smooth visual feel CG movies have Consumers are viewing them on same device as they play games on Visual realism of real-time is still far from offline CG 33 ms vs ~60 minutes per frame Areas with big  quality difference : Aliasing Motion blur & depth of field Transparency Geometry Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
Aliasing – we have it! 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
Aliasing Aliasing is one of the biggest  visual artifacts Most games have lots of it     Eyes distracted by flickering  Aliasing within a frame is typically very variable Multiple current antialiasing techniques, but  no complete solution  yet MSAA  does not scale well (storage, bandwidth) Post-effect based techniques only solve part of the aliasing problem How can we get to a pipeline that scales up to much  higher quality AA ? Without breaking performance, memory storage or bandwidth Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
Everybody loves bokeh Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
Motion blur and Depth of Field Important visual cues to percieve depth, focus & motion! The movie people know this Games only have post-process based versions Lots of artifacts  Not possible to implement complete effect as post-process Ideal to have a rendering pipeline that can  naturally support  motion blur and depth of field Stochastic rasterization? Raytracing? REYES? Other? Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
Transparency Order- dependent  transparency has always been a big limitation for content creators & developers Restrictive art pipeline: no glass houses Even windows on cars & buildings can be painful Restrictive interaction between objects & effects Meshes vs particles vs volumetrics Order- independent  transparency is must going forward Big challenge! Gradual process Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
Micropolygon rendering Massively detailed geometry Render directly instead of simplify to normalmaps True silhouettes & no faceted edges DX11 tessellation  is a good step forward But still quite complex full pipeline in practice Shading quad efficiency issues with small triangles We’re getting closer! Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
ILLUMINATION Challenge #2
Challenge #2 - Illumination   08/01/10 Beyond Programmable Shading, SIGGRAPH 2010 Global Illumination Shadows Reflections
Global Illumination 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
Global Illumination Key  visual component Build mood, ground environment Current generation almost always static (or non-existing) Need  dynamic GI solution(s) Dynamic environments & for quick iteration times Starting to see real-time dynamic solutions!  Multiple types of algorithms & levels of pre-computation Interesting & difficult example use cases: Large-scale destructible environment Single frame instant muzzle flash 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
Beyond Programmable Shading, SIGGRAPH 2010 08/01/10 Shadows - ouch
Shadows Shadowmaps  are still not a completely solved problem Non-trivial implementations: Aliasing, resolution-matching, filtering, management, culling Translucent shadows Oh and where are the  penumbras ? Area light source shadows are more pleasing Variable penumbra & overlapping casters 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
Massive local shadowing We can light with 1000 light sources  Without shadows!    Or only a few with shadows Handled separately Next step: have 100s of lights  with shadows Requires rethinking and much improved culling & dispatch efficiency Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
Reflections Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
Reflections Currently only have 2 methods: Envmaps Scale up to 100s of dynamic envmaps? Similar to point light shadow problem Doesn’t solve concave or large flat surfaces Planar reflections Good for big flat single/few surfaces But restricted to that as well, how to handle slopes & multiple walls/windows?  Need solutions for  local reflections  on arbitrary surfaces Both glossy & perfect reflections Not that much research in this area except with raytracing? Hybrid rasterization/raytracing pipeline? 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
PROGRAMMABILITY Challenge #3
Programmability Graphics pipeline  is fast but fixed No conservative rasterization No programmable blending No flexible texture filtering (min/max/derivative) Compute pipeline  can’t simulate full graphics pipeline efficiently today How do we get to a hybrid/reconfigurable pipeline? What are the actual  use cases  &  requirements ? Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
Examples of what we like to solve Irregular workloads  / user-mode scheduling Key building block for many advanced techniques GPU-based scene culling & rendering GPU feeding itself (on a high-level) For performance and flexibility.  Half-res rendering without depth artifacts Depth test per sample, shade per quad, upsample to pixel For more use cases: Bending the Graphics Pipeline  at 11:45 am Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
PRODUCTION COSTS Challenge #4
Production costs We are increasing quality & richness in all areas, but can’t continue to increase costs at same rate Turn the trend of more & more  expensive content creation ! Not as sexy, but single most important challenge in practice for many (game) developers Linked with  iteration times  which is critical for both quality, quantity & low costs 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
Importance of this challenge An example:  We’ve spent  20 man years  on improving workflows, iteration times & reducing production costs for our next game engine - Frostbite 2 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
Production cost reductions Improvements: Faster workflows & tools Procedural content amplification / generation Fewer custom pipelines, techniques & solutions More sharing & reuse of content Giant important topic but only something we cover indirectly in the course 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
Procedural foliage distribution 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
SCALING UP Challenge #5
Scaling up GPU model has become quite flexible Main problem is often not capabilities but performance/bw Want more of everything: Performance, bandwidth & memory Content, detail & quality Scalability without  performance cliffs Assumed reasonableness in fixed pipelines Graceful performance degradation strongly preferred 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
Scaling up - Techniques Some techniques  break down  when scaling up, for example: Deferred shading with +4x MSAA Quad-based forward shading with ~1 pixel triangles GPU dispatch APIs when doing 100s of small scene renders for shadows & reflections (batch counts) Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
Scaling up - Worlds Move from static worlds to  immersive interactive worlds Unique Detailed  Changeable / Destructible  (Procedural) Massive scenes  are a challenge for many industries  Movies, Scientific, Games Esp. interaction with memory & performance cliffs 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
The Challenges Illumination  Cinematic Image Quality Programmability Production costs Scaling up 08/01/10 Beyond Programmable Shading Course, ACM SIGGRAPH 2010
Conclusions Real-time rendering is  far  from a solved problem We need major improvements to the real-time rendering pipeline(s) and programming model 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
Thanks for all the feedback! Christina Coffin (@christinacoffin) Colin Barré-Brisebois (@ZigguratVertigo) Daniel Collin (@daniel_collin) Flavius Alecu (@flawe) Sander van Rossen ( @logicalerror) Rob Jones (@bobvodka)  Stephen Tovey (@nonchaotic) Colin Riley (@domipheus) Joe Tidmarsh (@mrjovis) Stephen Hill (@self_shadow) Federico B P ( @nocturndragon) Stefan Boberg (@bionicbeagle) Noel Llopis (@snappytouch) Björn Knafla (@bjoernknafla) Andrew Richards (@codeandrew) Juan Manuel Alvarez (@the_naicigam) David Luebke (@davedotluebke) Jonathan Ragan-Kelley (@jrk) Pat Wilson (@pat_wilson) Rachel Blum (@groby) Brian Karis (@briankaris) Matt Collins (@matt_c_) Sam Martin (@palgorithm) Aaron Lefohn Andrew Lauritzen Luca Fascione Steve Anichini Simon Taylor Matt Swoboda Cody Ritchie Mattias Kylen Oscar Carlén Beyond Programmable Shading Course, ACM SIGGRAPH 2010 08/01/10
Contact details email:  [email_address] blog:  http://repi.se twitter:  @repi For more DICE talks: http://publications.dice.se Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
BONUS
Surface lighting More advanced surface shading & lighting Sub-surface scattering Hair Foliage Arbitrary / generalized BRDFs? How can they work with  deferred rendering ? Beyond Programmable Shading, SIGGRAPH 2010 08/01/10

5 Major Challenges in Interactive Rendering

  • 1.
    5 Major Challengesin Interactive Rendering Johan Andersson DICE
  • 2.
    Overview What arethe major challenges for us in the next 5-10 years ? Interactive rendering for games as well as other interactive areas Which problems do we want to solve ? What do we want to achieve & focus on ? Based on own thoughts & feedback from people in the industry 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
  • 3.
    THE 5 CHALLENGES(in no particular order)
  • 4.
  • 5.
    Challenge #1 -Cinematic image quality Want to get to that smooth visual feel CG movies have Consumers are viewing them on same device as they play games on Visual realism of real-time is still far from offline CG 33 ms vs ~60 minutes per frame Areas with big quality difference : Aliasing Motion blur & depth of field Transparency Geometry Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
  • 6.
    Aliasing – wehave it! 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
  • 7.
    Aliasing Aliasing isone of the biggest visual artifacts Most games have lots of it  Eyes distracted by flickering Aliasing within a frame is typically very variable Multiple current antialiasing techniques, but no complete solution yet MSAA does not scale well (storage, bandwidth) Post-effect based techniques only solve part of the aliasing problem How can we get to a pipeline that scales up to much higher quality AA ? Without breaking performance, memory storage or bandwidth Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
  • 8.
    Everybody loves bokehBeyond Programmable Shading, SIGGRAPH 2010 08/01/10
  • 9.
    Motion blur andDepth of Field Important visual cues to percieve depth, focus & motion! The movie people know this Games only have post-process based versions Lots of artifacts Not possible to implement complete effect as post-process Ideal to have a rendering pipeline that can naturally support motion blur and depth of field Stochastic rasterization? Raytracing? REYES? Other? Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
  • 10.
    Transparency Order- dependent transparency has always been a big limitation for content creators & developers Restrictive art pipeline: no glass houses Even windows on cars & buildings can be painful Restrictive interaction between objects & effects Meshes vs particles vs volumetrics Order- independent transparency is must going forward Big challenge! Gradual process Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
  • 11.
    Micropolygon rendering Massivelydetailed geometry Render directly instead of simplify to normalmaps True silhouettes & no faceted edges DX11 tessellation is a good step forward But still quite complex full pipeline in practice Shading quad efficiency issues with small triangles We’re getting closer! Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
  • 12.
  • 13.
    Challenge #2 -Illumination 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010 Global Illumination Shadows Reflections
  • 14.
    Global Illumination 08/01/10Beyond Programmable Shading, SIGGRAPH 2010
  • 15.
    Global Illumination Key visual component Build mood, ground environment Current generation almost always static (or non-existing) Need dynamic GI solution(s) Dynamic environments & for quick iteration times Starting to see real-time dynamic solutions! Multiple types of algorithms & levels of pre-computation Interesting & difficult example use cases: Large-scale destructible environment Single frame instant muzzle flash 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
  • 16.
    Beyond Programmable Shading,SIGGRAPH 2010 08/01/10 Shadows - ouch
  • 17.
    Shadows Shadowmaps are still not a completely solved problem Non-trivial implementations: Aliasing, resolution-matching, filtering, management, culling Translucent shadows Oh and where are the penumbras ? Area light source shadows are more pleasing Variable penumbra & overlapping casters 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
  • 18.
    Massive local shadowingWe can light with 1000 light sources Without shadows!  Or only a few with shadows Handled separately Next step: have 100s of lights with shadows Requires rethinking and much improved culling & dispatch efficiency Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
  • 19.
    Reflections Beyond ProgrammableShading, SIGGRAPH 2010 08/01/10
  • 20.
    Reflections Currently onlyhave 2 methods: Envmaps Scale up to 100s of dynamic envmaps? Similar to point light shadow problem Doesn’t solve concave or large flat surfaces Planar reflections Good for big flat single/few surfaces But restricted to that as well, how to handle slopes & multiple walls/windows? Need solutions for local reflections on arbitrary surfaces Both glossy & perfect reflections Not that much research in this area except with raytracing? Hybrid rasterization/raytracing pipeline? 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
  • 21.
  • 22.
    Programmability Graphics pipeline is fast but fixed No conservative rasterization No programmable blending No flexible texture filtering (min/max/derivative) Compute pipeline can’t simulate full graphics pipeline efficiently today How do we get to a hybrid/reconfigurable pipeline? What are the actual use cases & requirements ? Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
  • 23.
    Examples of whatwe like to solve Irregular workloads / user-mode scheduling Key building block for many advanced techniques GPU-based scene culling & rendering GPU feeding itself (on a high-level) For performance and flexibility. Half-res rendering without depth artifacts Depth test per sample, shade per quad, upsample to pixel For more use cases: Bending the Graphics Pipeline at 11:45 am Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
  • 24.
  • 25.
    Production costs Weare increasing quality & richness in all areas, but can’t continue to increase costs at same rate Turn the trend of more & more expensive content creation ! Not as sexy, but single most important challenge in practice for many (game) developers Linked with iteration times which is critical for both quality, quantity & low costs 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
  • 26.
    Importance of thischallenge An example: We’ve spent 20 man years on improving workflows, iteration times & reducing production costs for our next game engine - Frostbite 2 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
  • 27.
    Production cost reductionsImprovements: Faster workflows & tools Procedural content amplification / generation Fewer custom pipelines, techniques & solutions More sharing & reuse of content Giant important topic but only something we cover indirectly in the course 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
  • 28.
    Procedural foliage distribution08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
  • 29.
  • 30.
    Scaling up GPUmodel has become quite flexible Main problem is often not capabilities but performance/bw Want more of everything: Performance, bandwidth & memory Content, detail & quality Scalability without performance cliffs Assumed reasonableness in fixed pipelines Graceful performance degradation strongly preferred 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
  • 31.
    Scaling up -Techniques Some techniques break down when scaling up, for example: Deferred shading with +4x MSAA Quad-based forward shading with ~1 pixel triangles GPU dispatch APIs when doing 100s of small scene renders for shadows & reflections (batch counts) Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
  • 32.
    Scaling up -Worlds Move from static worlds to immersive interactive worlds Unique Detailed Changeable / Destructible (Procedural) Massive scenes are a challenge for many industries Movies, Scientific, Games Esp. interaction with memory & performance cliffs 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
  • 33.
    The Challenges Illumination Cinematic Image Quality Programmability Production costs Scaling up 08/01/10 Beyond Programmable Shading Course, ACM SIGGRAPH 2010
  • 34.
    Conclusions Real-time renderingis far from a solved problem We need major improvements to the real-time rendering pipeline(s) and programming model 08/01/10 Beyond Programmable Shading, SIGGRAPH 2010
  • 35.
    Thanks for allthe feedback! Christina Coffin (@christinacoffin) Colin Barré-Brisebois (@ZigguratVertigo) Daniel Collin (@daniel_collin) Flavius Alecu (@flawe) Sander van Rossen ( @logicalerror) Rob Jones (@bobvodka) Stephen Tovey (@nonchaotic) Colin Riley (@domipheus) Joe Tidmarsh (@mrjovis) Stephen Hill (@self_shadow) Federico B P ( @nocturndragon) Stefan Boberg (@bionicbeagle) Noel Llopis (@snappytouch) Björn Knafla (@bjoernknafla) Andrew Richards (@codeandrew) Juan Manuel Alvarez (@the_naicigam) David Luebke (@davedotluebke) Jonathan Ragan-Kelley (@jrk) Pat Wilson (@pat_wilson) Rachel Blum (@groby) Brian Karis (@briankaris) Matt Collins (@matt_c_) Sam Martin (@palgorithm) Aaron Lefohn Andrew Lauritzen Luca Fascione Steve Anichini Simon Taylor Matt Swoboda Cody Ritchie Mattias Kylen Oscar Carlén Beyond Programmable Shading Course, ACM SIGGRAPH 2010 08/01/10
  • 36.
    Contact details email: [email_address] blog: http://repi.se twitter: @repi For more DICE talks: http://publications.dice.se Beyond Programmable Shading, SIGGRAPH 2010 08/01/10
  • 37.
  • 38.
    Surface lighting Moreadvanced surface shading & lighting Sub-surface scattering Hair Foliage Arbitrary / generalized BRDFs? How can they work with deferred rendering ? Beyond Programmable Shading, SIGGRAPH 2010 08/01/10

Editor's Notes

  • #3 Hi, I’m going to talk today a bit about what type of major challenges we have ahead for us in the next 5-10 years, what type of problems we want to solve and things to focus on. Sort of why we want to go Beyond Programable Shading? 
  • #6 5 orders of a magnitude difference
  • #8 MLAA
  • #10 MLAA
  • #11 Particles would be the last to be included in an OIT solution
  • #12 Show zbrush character Kayvon’s talk on Quad-fragment merging
  • #24 Explicit braided parallelism GRAMPS-style queuing
  • #26 Not the most sexy of topics, but the single most important one for game development Show undergrowth?
  • #27 For us, that is a lot of time and a lot of money. But the single most important improvement in this new version of the engine. Editor framework, intutitive & fast workflows, features to simplify development
  • #28 Examples: Automatic LOD solutions or directly rendering giant meshes without LODs Physically based rendering
  • #29 Not the most sexy of topics, but the single most important one for game development Show undergrowth?
  • #31 Memory usage is major cliff, render to virtual memory/cache/edram?
  • #33 PantaRay - Fast Ray Traced Occlusion for Massive Scenes