Title: Using Interactive Ray Tracing for Interactive Global Illumination
1Using Interactive Ray Tracing forInteractive
Global Illumination
Computer Graphics Lab Saarland University,
Germany http//graphics.cs.uni-sb.de
2Interactive Global Illumination - Goals
- Support for all relevant features
- Complete direct indirect diffuse illumination
- Specular Effects Refractions, Reflections,
Caustics - Be independent of geometry (scalability) !
- Interactive gt 1 fps at video resolution
(640x480) - Full recomputation every frame
- Lights, Materials, Geometry, Camera,
- No approximative or image-based techniques
- Interactive, user-controllable speed/quality
tradeoff - E.g. trade some flickering or aliasing for speed
- Automatic and progressive convergence to
high-quality solution when possible (e.g within
2-5 sec)
3Interactive Global Illumination - Goals
4Interactive Global Illumination
- Previous solutions
- Image-Based approaches
- Artifacts
- Radiosity OpenGL
- Missing specularities, Meshing artifacts,
- High-quality Global Illumination uses ray tracing
anyway - Ray Tracing is now interactive
5Interactive Global Illumination
- Previous solutions
- Image-Based approaches
- Artifacts
- Radiosity OpenGL
- Missing specularities, Meshing artifacts,
- High-quality Global Illumination uses ray tracing
anyway - Ray Tracing is now interactive
Simplisitic Idea Interactive ray
tracingRay-traced global illumination
Interactive global illumination
6Interactive Global Illumination
- But Real World isnt simplistic
- Problem GlobIllum often doesnt scale
(shared-memory) - Radiosity
- Shared global data for radiosities,
geometry-dependency - Photon Map
- KD-Tree reconstruction every frame, global photon
map data, - Have to live with extremely low sample rates
- Even 16 MRays/sec is only 16 rays/pixel at
640x480x3Hz - Path-Tracing and Bidirectional Path-Tracing too
noisy - ? Need another approach
7Instant Global Illumination
- Our approach Instant Global Illumination
- Done in cooperation with Kaiserslautern
University(Alex Keller and Thomas Kollig) - Most of the algorithms are based on their work !
- Idea Combine advantages of several, different
algorithms - Instant Radiosity smooth diffuse lighting
- Ray Tracing reflections, refractions, visibility
testing - Interleaved Sampling (ILS) better quality, easy
to parallelize - Discontinuity Buffer removes ILS artifacts
- Caustic Photon Mapping the only way for sensible
caustics
8Basic Ingredient Instant Radiosity Keller
- Trace few (10-20) particles from (area) light
sources - Use these to light the scene as virtual point
lights (VPLs) - Contains both direct and indirect diffuse
illumination - Shadows originally with OpenGL, now with Ray
Tracing - Raytracing gives reflections/refractions for free
- Inherently smooth, since radiosity-based
- Artifacts for few VPLs
- Converges, but at only 10-20 VPLs clearly
visible - Plus Add PhotonMapfor Caustics
- Hack for faster query
9Too few samples?Add Interleaved Sampling
- Use different sets of virtual point lights for
diff. Pixels - Every SxSth pixel uses same set of VPLs and
caustic photons - Recomputing VPLs and photons for every pixel too
costly - Better quality
- 9 times as many VPLsper image than without
- Same for photons !
- Still cheap pixels !
- Easily parallelizable
- Each CPU needs only 1 set? Scales with CPUs !!!
- Aliasing
- Can see SxS grid
10ILS Aliasing ? Add Filtering
- Discontinuity Buffer Keller, Kollig
- Filter irradiances of neighbouring pixels
- Smoothing/removal of ILS-artifacts
- Like irradiance caching, but more stable
- Only filter in smooth regions, detect
discontinuities - Criterion normal distance
- Problem Clients dont have neighboring pixels !
- Server has to filter
- ?High server load
- Server has to get required data
- Normal, irradiance, distance
- High network bandwidth !
11Finally, add QMC
- Use Randomized Quasi Monte Carlo Keller et al
- Much faster convergence, especially for such
small sample rates ! - Can be combined easily with Interleaved sampling
- Plus Technical advantages of QMC
- Fast random number generation (table lookup
bit-ops) - Can reproduce any sequence of samples based on
single seed value - Can easily synchronize different clients on same
data - Each client can easily reproduce the sample set
of any other client - Avoid jumping of VPLs
- Just start with same seed every frame
- For progressive convergence, just advance the
seed value - QMC sequences perfectly combine into the future
12Summary
- Base ingredient
- Instant Radiosity Ray Tracing
- Plus fast caustic photon maps
- Combine with Interleaved Sampling
- Better quality
- Parallelizable
- Remove ILS artifacts with Disco-Buffer
- Faster convergence
- Better parallelizability
- Use randomized QMC
- Low sampling rates, parallelizability
- Result Definitely not perfect
- But not too bad for only 20 rays/pixel !
13Parallelization Scalability
- Adapt Scheduler to ILS
- Different clients work on different sets
- Same client preferably works on same set
- ? In theory, each client only has to compute one
sample set - In practice, its still about only 1.5-2 out of 9
- Very small overhead (few redundant operations)
- But Server Bottleneck due to Disco-Buffer
- Filtering cost and Network bandwidth limit max.
framerate - Currently On dual-Athlon 1800 max. framerate
of 5 fps.. - But Can still scale in quality
- Twice CPUs Twice VPLs/pixel at same framerate
! - ? Limited only by max. framerate, not by number
of clients !
14Results
- Up to 5 fps at video resolution (640x480)
- With 8 dual Athlon MP 1800
- All targeted effects
- Reflections, refractions and caustics
- Smooth direct and indirect diffuse illumination
- Everything recomputed every frame
- No limitation on interaction types
- All parameters can be changed interactively
- Sampling rate, photon query radius, filter size,
- Automatic convergence to high-quality solution
- high good quality in about 2-5 sec.
15Current Research
- Have implemented a new improved system from
scratch - Main Features
- 2-3 times faster through ray packet traversal and
streaming architecture - Removed photon shooting
- Support for accumulation on client side,
necessary for providing high quality during
interaction and animation - Nearly linear scalability
- up to 22 fps at 640x480 with reduced quality
- Sub-linear costs in image resolution
- Fully programmable shading
16Example Images
17Remaining Problems Future Work
- Still to slow (its always too slow)
- Incorporate glossyness/arbitrary BRDFs
- Emission properties for light sources
- Caustics
- Main Limitation Inefficient in highly occluded
scenes ! - Were working on it
18Questions ?
19Missing Caustics ?Add Caustic Photon Map
- Basically just like standard photon mapping
Jensen - Shoot directly at caustic generators
- But too slow for our purpose
(Cost(Query)10Rays) - Fix query radius to a fixed R
- Can be interactively changed by the user
- Store photons in grid with width 2R
- Have to touch only 8 voxels for each query !
- Can use hashing to keep reduce storage cost
- Fast, but not perfect
- Can afford only few photons(reconstruction cost
too high) - Looks bad if R is chosen bad