Deferred Radiance Transfer Volumes

Global illumination
- low frequency advance transfer
- sun & sky bounce
- sky effect

Realtime Relighting
-GI update with - sun / color 
                 - time of day
                 - artist

- update with sun direction

Probe placement

   - support automation  world is large
    - vegetation bounding box to avoid noise
    - 3d grid for spatial indexing
    -  cell preferences closest probe

Probe baking

precomputed radiance ransfer
   - prt stored as 2nd order SH for each basis direction
   - 4x4 matrix of SH coefficients

SKY visibility
  - Low freq. spherical sky mask
  - single scalar for each basis direction

Local Radiance Transfer

    - Kristensen ET AL.,Siggraph 2005
    - assume at same pos as probes
     - store prt for a white light at each prob position

Real time relighting
 - driven by sun,sky
 - artist gradients
 - projected to 2nd order SH

Real time Relighting (PC)
 - compute light contribution each probe
   - result in color/intensities array
  - code runs on CPU/SPU
  - operations map well on GPU
  - find irradiance for each basis
   - find sky color for each basis
   - multiply be sky visibility
   - more basis added for more accuracy

Volume texture
 - fast probe one GPU
 - good for large object
 - RGBA 96x96x16

  - expensive    

Temporal amortization
   - update slice for which no data is available
   - wrapping avoid shifting exist slices

Vol. texture wrapping

Ambient shading
 - deferred rendering
 - single G-buffr pass
 - HDR lighting, post processing

    - 4 RT  in one pass
- bounce is not pronounced at night 
- color variation from sky hemisphere

Transparencies / skin
Interior ambient
 - different light intensity indoor/ outdoor
 - low vol. resolution cases probe

Distant ambient
  - extra care for distant vegetation
  - use top down occlusion texture
 - one tile per world sector
 - occlusion from probes

PPU kick command buffer

PC. volume textures are blurred to soften the irradiance, add more vegetation occlusion 


Popular posts from this blog


WebGL Demo 02: 3D model loader and preview

Drawing textured cube with Vulkan on Android