400 likes | 539 Views
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.
E N D
Siggraph 2010 – "Split Second Screen Space" A FastDeferredShadingAlgorithm 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
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
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
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
Outline Related Work Screen Space sampling Pipeline Results
Related Work Multi-resolution splatting of Indirect Illumination [NW09] Imperfect Shadow Map [RGK*08] Hierarchical Image-space Radiosity [NSW09] Cascaded Light Propagation Volumes [KD10]
Outline Related Work Screen Space sampling Pipeline Results
Screen Space Indirect Illumination • Monte-Carlo integration on G-Buffer • Hierarchical computation using mipmaps • Arbitrary distance • Save performances
Input structure G-Buffer G-Buffer’ Mipmaps Set Depth Pixel Shader Direct Lighting Normal + Albedo
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
Importance sampling (3/3) Level 0 Level 0 Level k>0 Level k>0
Monte-Carlo reformulation Using point to disc form factor Using point to point form factor
Visibility Single-Pass GPU Solid Voxelization for Real-Time Applications [ED08a] Fast scene voxelization from [ED08a] Trace rays to samples to resolve visibility
Visibility – New input Mipmaps Set Pixel Shader G-Buffer’’ +
Visibility - Results Without visibility With visibility
Outline Related Work Screen Space sampling Pipeline Results
Mipmapping(1/3) • Interpolate normals / depth ? • “Nearest”: inconsistent over time Source of variance => need a specific scheme • /!\ Voxel grid is binary => Bitwise operator
Mipmapping(2/3) • Voting scheme to favor large objects Comparing geometric similarity with neighbor pixels • Discard small areas • Consistent over frames
Mipmapping(3/3) Full resolution normal buffer 4th mipmap using “Nearest” filtering 4th mipmap using “Largest” filtering
Hierarchical upsampling (1/2) +? +? + +? + + • Different resolution to combine • No overlapping => ADD • Coarse and noisy • Use cross bilateral filter hierarchically
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
Temporal coherence Average Reverse Reprojection Caching [Nehab et al 07] yes Hit? Compute Reproject Update no
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
Outline Related Work Screen Space sampling Pipeline Results
Real Time Video GeForce GTX 260 @ 1280x720 – Using 256 samples
Performances • Performance / Quality trade off • Quality: starting level & Number of samples • Range: sampling radius vs. number of levels
Real time ! GeForce GTX 260 @ 1280x720
Visibility GeForce GTX 260 @ 1280x720
Trade off GeForce GTX 260 @ 1280x720
Trade off GeForce GTX 260 @ 1280x720
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]
Conclusion Cool results at constant cost Real time ! Use frequency information
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
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