Chun-Fu Chao
Objective
 Utilize the Multiple Render Target and Programmable
 Rendering Pipeline features on modern GPU to render
 scenes with complex geometry and dynamic lights in
 real-time.
Basic Deferred Shading scheme
Target Feature
 Support massive dynamic light sources
 Fast shadow calculation in deferred shading scheme
    Screen space ambient occlusion
    Shadow map / Shadow volume
 Edge detection based anti-aliasing
 Screen space occlusion culling
Massive dynamic light sources
 A big win of deferred shading over forward shading
 Decouple the lighting cost with the geometry complexity




            http://www.youtube.com/watch?v=hBtfryQBAlk
Shadow
 Attenuation of light due to occlusion
    Screen space ambient occlusion
Shadow
 Shadow casting
    Shadow map
Shadow
 Shadow casting
    Shadow volume
Edge detection based anti-aliasing
 The hardware assisted anti-aliasing is designed for
  forward rendering that works on pixel already shaded
 Enabling MultiSampling requires upsampling all the
  buffers
   Huge Impact on the performance
 Detect the discontinuity(edge) of the normal and
 depth
   Low pass filter across those edges.
Edge detection based anti-aliasing
Screen space occlusion culling
 Appeared in Frostbite 2
 presentation from DICE in
 SIGGRAPH 2009

 Occlusion culling in screen
 space
   Coarse z-buffer
   Bounding boxes in Screen
    space
Pipeline

Occlusion           Rendering         Anti-aliasing
culling             • Lighting with   • Edge detection
• Coarse z-buffer     G-buffers       • Low pass filter
• Remove            • SSAO and
  occluded            Shadow
  meshes              mapping
Framework
 Developed and open-sourced by Sean M. Thomas
 Parts going to be utilized in this project
    OpenGL FBO and Cuda connection
    Model Loader
Multi-threading layout
 Block
    Map to a partition of the buffers
    The processing area size is related to shared memory size
 Thread
    Evenly sharing the works assigned to the block
 Gird
    Map to the whole buffer
 Kernel
    Each pass in the rendering process map to one kernel
     program
Questions?

565 Alpha Chun-Fu Chao

  • 1.
  • 2.
    Objective  Utilize theMultiple Render Target and Programmable Rendering Pipeline features on modern GPU to render scenes with complex geometry and dynamic lights in real-time.
  • 3.
  • 4.
    Target Feature  Supportmassive dynamic light sources  Fast shadow calculation in deferred shading scheme  Screen space ambient occlusion  Shadow map / Shadow volume  Edge detection based anti-aliasing  Screen space occlusion culling
  • 5.
    Massive dynamic lightsources  A big win of deferred shading over forward shading  Decouple the lighting cost with the geometry complexity http://www.youtube.com/watch?v=hBtfryQBAlk
  • 6.
    Shadow  Attenuation oflight due to occlusion  Screen space ambient occlusion
  • 7.
  • 8.
    Shadow  Shadow casting  Shadow volume
  • 9.
    Edge detection basedanti-aliasing  The hardware assisted anti-aliasing is designed for forward rendering that works on pixel already shaded  Enabling MultiSampling requires upsampling all the buffers  Huge Impact on the performance  Detect the discontinuity(edge) of the normal and depth  Low pass filter across those edges.
  • 10.
    Edge detection basedanti-aliasing
  • 11.
    Screen space occlusionculling  Appeared in Frostbite 2 presentation from DICE in SIGGRAPH 2009  Occlusion culling in screen space  Coarse z-buffer  Bounding boxes in Screen space
  • 12.
    Pipeline Occlusion Rendering Anti-aliasing culling • Lighting with • Edge detection • Coarse z-buffer G-buffers • Low pass filter • Remove • SSAO and occluded Shadow meshes mapping
  • 13.
    Framework  Developed andopen-sourced by Sean M. Thomas  Parts going to be utilized in this project  OpenGL FBO and Cuda connection  Model Loader
  • 14.
    Multi-threading layout  Block  Map to a partition of the buffers  The processing area size is related to shared memory size  Thread  Evenly sharing the works assigned to the block  Gird  Map to the whole buffer  Kernel  Each pass in the rendering process map to one kernel program
  • 15.