JMS55 / gi-study

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dynamic Diffuse Global Illumination (DDGI)

  • Regular grid of irradiance probes
    • Probes stored in two texture maps (RGB, RG)
      • Each texture map stores 4 copies of the same view at different heights above the scene
      • The first map stores irradiance of each probe in 6x6 tiles
      • The second map stores radius, radius^2 visibility of each probe in the R,G channels, in 16x16 tiles
      • Each probe tile is octahedron-encoded, and has a 1px border for bilinear blending between probes
    • Probe textures arranged into cascades (like cascaded shadow maps)
      • Lower resolution (coarser) cascade probes map to a larger area of the world
      • More probes in higher resolution (finer) cascades
      • Update finer cascade probes more frequently than coarse cascade probes
      • Fade out coarse cascades
  • Algorithm
    1. Generate ~200 rays per probe, generate G-Buffer with pixel per hit
    2. Use deferred shading to compute each pixel output
    3. Each probe finds rays that affect it, and blends in the new pixel data using an exponentially-weighted moving average, like TAA
    4. For each pixel on screen, shade it by sampling from the probes
  • Advantages
    • Avoids light leaks and noise
    • Fully dynamic
    • Can be tuned to never update (baked) or update more slowly for mobile or weaker devices
  • Disadvantages
    • Diffuse indirect only (no specular, no direct)
    • Requires shadow-map like bias parameter

GI-1.0

  • TODO

Godot SDFGI

Real-time Global Illumination by Precomputed Local Reconstruction from Sparse Radiance Probes

  • TODO

Unreal Engine Lumen

Surfel GI

ReSTIR

Kajiya

  • TODO

Unity Probe Lighting

  • TODO

Voxel Cone Tracing

Light Propagation Volumes

  • TODO

Screen-space GI (SSGI)

About