Incremental Instant Radiosity for Real-Time Indirect Illumination - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Incremental Instant Radiosity for Real-Time Indirect Illumination

Description:

Incremental Instant Radiosity for Real-Time Indirect Illumination Samuli Laine1,3 Hannu Saransaari3 Janne Kontkanen2,3 Jaakko Lehtinen3,4 Timo Aila1,3 – PowerPoint PPT presentation

Number of Views:137
Avg rating:3.0/5.0
Slides: 27
Provided by: Samul150
Category:

less

Transcript and Presenter's Notes

Title: Incremental Instant Radiosity for Real-Time Indirect Illumination


1
Incremental Instant Radiosity forReal-Time
Indirect Illumination
  • Samuli Laine1,3 Hannu Saransaari3Janne
    Kontkanen2,3 Jaakko Lehtinen3,4Timo Aila1,3
  • 1NVIDIA Research 2PDI/DreamWorks
  • 3Helsinki University of Technology 4Remedy
    Entertainment

2
Motivation
  • Indirect illumination looks good

Direct constant ambient
Direct 1 bounce indirect
3
Previous Work
  • Instant radiosity Keller 97
  • Interleaved sampling Keller Heidrich 01
  • Hardware implementation Segovia et al. 06
  • Large-scale interactive indirect illumination
  • Ingo Walds PhD thesis Wald04
  • Precomputed transport Kristensen et al. 05
  • Reflective shadow maps, Splatting indirect
    illumination DachsbacherStamminger 05 x 2

4
Instant Radiosity Howto
  • Trace light paths from light source
  • Place virtual point lights (VPLs) at
    intersections
  • Render scene, use VPLs as 180o spots
  • Global illumination ensues

5
One-Bounce Indirect Illumination
Tabellion and Lamorlette, SIGGRAPH 2004
  • Officially close enough to full GI solution
  • Terminate light paths at first intersection

6
Baseline 1-Bounce Instant Radiosity
  • Cast a bunch of rays from the light source
  • Rays must be distributed according to the
    emission function
  • At each hit point, construct a VPL
  • Render shadow map (paraboloid)
  • Yes, thats a lot of shadow maps to render per
    frame
  • Gather illumination from all VPLs
  • Yes, thats a lot of shadow map lookups per pixel

7
What to do?
8
The Recipe for Success
  • Old ingredients
  • Instant radiosity with single bounce
  • Interleaved sampling
  • Paraboloid shadow mapping
  • New ingredients
  • Reuse of VPLs
  • ... and thats about it

9
VPL Reuse
  • Reuse VPLs from previous frame
  • Generate as few new VPLs as possible
  • Stay within budget, e.g. 4-8 new VPLs/frame
  • Benefit Can reuse shadow maps!
  • ! Disclaimer Scene needs to be static
  • Note Illumination does not lag behind

10
How To Reuse VPLs
  • Every frame, do the following
  • Delete invalid VPLs
  • Reproject existing VPLs to a 2D domain according
    to the new light source position
  • Delete more VPLs if the budget says so
  • Create new VPLs
  • Compute VPL intensities

11
2D Domain for VPLs
  • Lets concentrate on 180o cosine-falloff spot
    lights for now
  • Nusselt analog
  • Uniform distribution in unit disc
  • Cosine-weighted directional distribution

12
Reprojecting VPLs
  • So we have VPLs from previous frame
  • Discard ones behind the spot light
  • Discard ones behind obstacles
  • Reproject the rest

13
Spatial Data Structures
  • Compute Voronoi diagram and Delaunay
    triangulation for the VPL point set

14
Deleting VPLs
  • Greedily choose the worst VPL
  • The one with shortest Delaunay edges

15
Generating New VPLs
  • Greedily choose the best spot
  • The one with longest distance to existing VPLs

16
Computing VPL Intensities
  • Since our distribution may be nonuniform, weight
    each VPL according to Voronoi area

17
Omni Lights?!
  • Perform all 2D domain actions on the surface of
    unit sphere
  • Blunder in the paper
  • Surface of 3D tetrahedralization convex hull
  • Wouldve been a lot simpler and faster ?

18
Interleaved Sampling
  • Reduces the number of shadow map lookups per
    pixel
  • For each pixel, use a subset of all VPLs
  • Apply geometry-aware filtering

19
Results
  • 256 VPLs in all scenes
  • Budget 4-8 new VPLs per frame
  • GeForce 8800 GTX

20
Cornell
Triangles original 32tessellated 4.4k
Resolution Time (ms) FPS
10247680 13.9 65.1
16001200 26.8 29.7
21
Maze
Triangles original 55ktessellated 63k
Resolution Time (ms) FPS
10247680 15.6 49.2
16001200 28.6 28.5
22
Sibenik
Triangles original 80ktessellated 109k
Resolution Time (ms) FPS
10247680 17.0 48.6
16001200 30.1 25.9
23
Limitations / Future Work
  • Not full GI
  • Well, we could use entire light paths, but that
    would lead to many faint VPLs
  • Feasible at some point in future
  • Diffuse surfaces only
  • Slightly glossy should work OK
  • Truly glossy wont work

24
More Limitations / Future Work
  • Not view-dependent
  • Distributing VPLs should be based on visual
    importance
  • Insert heuristics here
  • Dynamic scenes non-trivial
  • The shadows are wrong for less than a second when
    the scene changes, but still...
  • Predictive VPL generation could help

25
Strengths
  • No precomputation
  • Dynamic objects can receive indirect light
  • Real-time performance
  • Simplicity

26
Thank You
  • Questions
Write a Comment
User Comments (0)
About PowerShow.com