1 / 40

A Fast Deferred Shading Algorithm for Approximate Indirect Illumination

Siggraph 2010 – "Split Second Screen Space". A Fast Deferred Shading Algorithm for Approximate Indirect Illumination. Olivier Hoël Cyril Soler. Frank Rochet. Motivations. Direct lighting only. With indirect lighting. Greatly enhance realism and immersion But expensive to compute.

pembroke
Download Presentation

A Fast Deferred Shading Algorithm for Approximate Indirect Illumination

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Siggraph 2010 – "Split Second Screen Space" A FastDeferredShadingAlgorithm for Approximate Indirect Illumination Olivier Hoël Cyril Soler Frank Rochet

  2. Motivations Direct lighting only With indirect lighting Greatly enhance realism and immersion But expensive to compute

  3. Video games constraints 30fps => at most ~10ms for indirect lighting Dynamic environment Independent of geometry / lighting complexity Any kind of illumination source Artifact free result

  4. Video games constraints • 30fps => at most ~10ms for indirect lighting • Dynamic environment • Independent of geometry / lighting complexity • Any kind of illumination source • Artifact free result • Deferred shading pipeline

  5. Deferred shading • Two steps • Render Geometry Buffer (G-Buffer) • Compute lighting as post-process • Pros / Cons • Hidden objects => approximate  • Included solution to remove artifact  • Screen Space => FAST 

  6. Outline Related Work Screen Space sampling Pipeline Results

  7. Related Work Multi-resolution splatting of Indirect Illumination [NW09] Imperfect Shadow Map [RGK*08] Hierarchical Image-space Radiosity [NSW09] Cascaded Light Propagation Volumes [KD10]

  8. Comparison

  9. Outline Related Work Screen Space sampling Pipeline Results

  10. Screen Space Indirect Illumination • Monte-Carlo integration on G-Buffer • Hierarchical computation using mipmaps • Arbitrary distance • Save performances

  11. Input structure G-Buffer G-Buffer’ Mipmaps Set Depth Pixel Shader Direct Lighting Normal + Albedo

  12. Sampling scheme (1/3) Mipmap set at level l+1 d/2 Mipmap set at level l d Random screen space samples on disk Efficient use of texture cache Constant radius over all set of mipmap

  13. Sampling scheme (2/3)

  14. Importance sampling (3/3) Level 0 Level 0 Level k>0 Level k>0

  15. Monte-Carlo reformulation Using point to disc form factor Using point to point form factor

  16. Visibility Single-Pass GPU Solid Voxelization for Real-Time Applications [ED08a] Fast scene voxelization from [ED08a] Trace rays to samples to resolve visibility

  17. Visibility – New input Mipmaps Set Pixel Shader G-Buffer’’ +

  18. Visibility - Results Without visibility With visibility

  19. Outline Related Work Screen Space sampling Pipeline Results

  20. Mipmapping(1/3) • Interpolate normals / depth ? • “Nearest”: inconsistent over time Source of variance => need a specific scheme • /!\ Voxel grid is binary => Bitwise operator

  21. Mipmapping(2/3) • Voting scheme to favor large objects Comparing geometric similarity with neighbor pixels • Discard small areas • Consistent over frames

  22. Mipmapping(3/3) Full resolution normal buffer 4th mipmap using “Nearest” filtering 4th mipmap using “Largest” filtering

  23. Hierarchical upsampling (1/2) +? +? + +? + + • Different resolution to combine • No overlapping => ADD • Coarse and noisy • Use cross bilateral filter hierarchically

  24. Hierarchical upsampling (2/2) f = cross bilateral upsampling f f(lv3) + f f( lv2 + f(lv3) ) lv3 + f f( lv1 + f(lv2 + f(lv3)) ) + f lv2 lv1 Final indirect lighting lv0

  25. Temporal coherence Average Reverse Reprojection Caching [Nehab et al 07] yes Hit? Compute Reproject Update no

  26. Pipeline Summary G-Buffer’’ Input to bounce n+1 + Reprojection & Compositing Albedo Mipmaps Set Indirect Lighting Filter & Blend + f ~ x + + f Previous frame f Direct Lighting / Bounce n-1 Direct Lighting

  27. Outline Related Work Screen Space sampling Pipeline Results

  28. Real Time Video GeForce GTX 260 @ 1280x720 – Using 256 samples

  29. Performances • Performance / Quality trade off  • Quality: starting level & Number of samples • Range: sampling radius vs. number of levels

  30. Real time ! GeForce GTX 260 @ 1280x720

  31. Visibility  GeForce GTX 260 @ 1280x720

  32. Trade off GeForce GTX 260 @ 1280x720

  33. Trade off GeForce GTX 260 @ 1280x720

  34. Discussion • Memory cost • But works fine on PC • Indirect Visibility • Computationally expensive • Not visually relevant - [Perceptual Influence of Approximate Visibility in Indirect Illumination - Yu et al 2009]

  35. Conclusion Cool results at constant cost Real time ! Use frequency information

  36. References • Technical report http://artis.imag.fr/Membres/Cyril.Soler/SSIL/ssil.techreport.2010.pdf • Contact: olivier.hoel@inrialpes.fr csoler@imag.fr frochet@edengames.com

  37. Thanks ! • Technical report http://artis.imag.fr/Membres/Cyril.Soler/SSIL/ssil.techreport.2010.pdf • Contact: olivier.hoel@inrialpes.fr / csoler@imag.fr / frochet@edengames.com • Acknowledgments K. Subr & N. Holzschuch (INRIA) for nice reviews Engineers and artists from Eden Games for useful advices

More Related