advanced computer graphics cs 563 vpl based rt gi
play

Advanced Computer Graphics CS 563: VPL based RT GI Techniques - PowerPoint PPT Presentation

Advanced Computer Graphics CS 563: VPL based RT GI Techniques William DiSanto Computer Science Dept. Worcester Polytechnic Institute (WPI) Instant Radiosity 1997 Keller Fast and physically accurate Models diffuse lighting Virtual


  1. Advanced Computer Graphics CS 563: VPL ‐ based RT ‐ GI Techniques William DiSanto Computer Science Dept. Worcester Polytechnic Institute (WPI)

  2. Instant Radiosity  1997 Keller  Fast and physically accurate  Models diffuse lighting

  3. Virtual Point Light  Hemispherical light with cosine falloff  Positioned by emitting particles from light source  Some way to end bounces

  4. Derivation of Instant Radiocity  Rendering Equation  Operator R: Express as sum of indirect illumination

  5. Derivation of Instant Radiocity  Express rendering equation as an integration over the observable light from first hit surface  Express surface lighting term by sampling direct and indirect paths

  6. Rendering Operator: Reflect >= 1  Express Rendering Equation as sampling along variable length paths  Function V could be visibility from AO (inviting error)  Compute Indirect: over Path Lengths (j), Pixels, Paths, and Light Sources

  7. Derivation of Instant Radiocity  Radiance after j reflections:  Assume perfectly diffuse BRDF (constant term)

  8. IR Result Samples from Area Light Bounces

  9. Making the Algorithm Practical  Limit number of samples virtual point lights and number of bounces  Proportional to reflectivity of the media  Assume less the perfect reflection ( < 1)  Compute light observed in terms of radiance from original light source propagated over some number of bounces

  10. Implementation of Instant Radiocity Start with N particles at light  Determine samples remaining  Select a originator from light source  Trace through reflections  Loop until no samples are left  Next Slide : Light Power : Average Diffuse : Projection Direction

  11. Implementation of Instant Radiocity  Render all 1 st 2 nd , 3 rd bounce VPLs together  All radiation from a sample particle rendered in one iteration : hit point : diffuse attenuation :random direction

  12. Sampling  Random  Jitter  Halton

  13. Omni ‐ Directional RSMs

  14. Problems with IR  Requires many renders, possibly shadow maps  Requires many VPLs  100+ for static scene  Interactive rates reached with averaging renders  1000+ for dynamic scene

  15. Problems with IR  Specular surfaces reveal locations of VPLs

  16. Problems with IR  Render many detailed shadow maps

  17. Incremental Instant Radiosity  Scenes can be rendered fairly accurately with only one bounce  Use Reflective Shadow Map to distribute first bounce Virtual Point Lights

  18. Incremental Instant Radiosity  Reuse VPLs from previous renders  Budget 4 ‐ 8 new VPLs per new frame  Allows for moving light sources  Assumes a static scene (could be large)  Good frame rates 40+

  19. Procedure: Find Bad VPLs  1. Determine valid VPLs  2. Remove invalid VPLs  Occluded from light source  Behind view of light source

  20. Procedure: Find Bad VPLs  Generate Voronoi Diagram and Delaunay Triangulation for point set (left)  Some VPLS may be removed if they contribute to regions where virtual point light density is too great (right) Characterized by having short edge lengths 

  21. Procedure: Seed VPLs  3.a Create VPLs within budget and render SMs Long edges are good places to seed new VPLs   4. Compute new Voronoi Area and weight intensity for VPLs accordingly

  22. Procedure: Project  3.b Render Shadow maps for new VPLs Project new VPL distribution onto hemisphere 

  23. Procedure: Render  5. Perform deferred render pass  store: position, normals, color  6. Tile the G ‐ Buffer (will reduce texture lookups)  7. Loop over tiles  use subset of VPLs to color each tile, results in noise

  24. Procedure: Recombine + Smooth  8. Combine tiles back into full resolution image  9. Use spatially aware box filter (example on 4x4 tiling)  Same size as tiling  May require some tuning

  25. IIR: Results

  26. IIR: Problems  Diffuse surfaces only  View dependent  Dynamic scenes will have lagging shadows  This GI takes 70+ % of rendering budget  Does have nice overall render times

  27. Imperfect Shadow Maps  Attempts indirect illumination for dynamic scenes  For many scenes: Indirect illumination varies smoothly  Each VPL has a small contribution

  28. Imperfect Shadow Maps  Depth Renders do not need to be terribly accurate  Attempt to render 1000+ ISMs

  29. Procedure: VPL Generation  Render Omni ‐ Directional RSM  Randomly seed VPLs by importance (some PDF)

  30. Procedure: Pre ‐ Processing  Randomly sample geometry  Select triangles with probability proportional to area  Select a random 3D point on each selected triangle  Store barycentric coordinates with points  Used to calculate normal and reflectance

  31. Procedure: ISM Generation  Each VPL selects a sub sample of points  Points are splat onto each depth map (GL_Points)  Dynamic scenes are handled by deforming points

  32. Procedure: Pull Push Interpolation  Vertex buffer distributes points to ISMs evenly  Gaps are filled with push ‐ pull, errors average out

  33. Procedure: Pull Push Interpolation  Interpolation performed in texture space  Parallel operation  Averaging of all ISM increases shadow smoothness

  34. Procedure: Interleaved Sampling  Filter indirect light separately from direct light  Indirect light is interleaved  Same as in incremental instant radiocity  May need to tune parameters

  35. Procedure: Multiple Bounces  Distribute from cube maps of omni ‐ directional light 1024 VPLs first bounce (left)  + 256 VPLs second bounce (middle)  + 256 VPLs third bounce (right) 

  36. Problems  Works best with low gloss surfaces  Arbitrary tuning  Will not operate the same for every scene  For different kinds of lighting  As of 2009 offers only interactive frame rates  Does not scale well for large scenes  Indirect lighting still accounts for the majority of the render budget

  37. Results: Complex Geometry  Extends well to arbitrary shapes  1024 VPLs  256x256 with subset of 4,000 points each

  38. Results: Direct Lighting  Complex area lights 512 VPLS  256x256 with subset of 8,000 points each 

  39. Results: Glossy  4096 VPLs, 64x64 resolution, subset of 2,000 points each  Problem with hard shadows

  40. Results: Environmental Maps  Direct Environment Lighting 1024 VPLs  256x256 with subset of 8,000 points each 

  41. Results: Sponza Scene  15 ms Rendering  7 ms VPL generation  4 ms Blur  44 ms ISM  11 ms Direct Lighting  8 ms Pull ‐ Push

  42. Results: Accuracy Parameters can be manually adjusted to fit the scene (splat size, resolution, point samples)

  43. Results: Render Time

  44. References  Alexander Keller, Instant Radiosity, Proceedings of the 24th annual conference on Computer graphics and interactive techniques, p.49 ‐ 56, August 1997  Laine, S., Saransaari, H., Kontkanen, J., Lehtinen, J., and Aila, T. 2007. Incremental Instant Radiosity for Real ‐ Time Indirect Illumination. In Proc. of the Eurographics Symposium on Rendering , 277 ‐‐ 286.

  45. References  T. Ritschel , T. Grosch , M. H. Kim , H. ‐ P. Seidel , C. Dachsbacher , J. Kautz, Imperfect shadow maps for efficient computation of indirect illumination, ACM Transactions on Graphics (TOG), v.27 n.5, December 2008  Carsten Dachsbacher , Jan Kautz, Real ‐ time global illumination for dynamic scenes, ACM SIGGRAPH 2009 Courses, p.1 ‐ 217, August 03 ‐ 07, 2009, New Orleans, Louisiana

Recommend


More recommend