Real Real-
- time
time global global illumination illumination in in interactive interactive applications applications and and games games
László László Szirmay Szirmay-
- Kalos
Kalos
Real- -time time global global illumination illumination in in - - PowerPoint PPT Presentation
Real- -time time global global illumination illumination in in Real interactive applications applications and and interactive games games Lszl Szirmay Szirmay- -Kalos Kalos Lszl Motto Motto In theory, there is no
Real Real-
time global global illumination illumination in in interactive interactive applications applications and and games games
László László Szirmay Szirmay-
Kalos
In theory, there is no difference In theory, there is no difference between theory and practice. between theory and practice. In practice, there is. In practice, there is.
pixel
Illumination tasks
pixel
local information
Interface Transform+ Illumination Clipping + Viewport transf. + Rasterization + interpolation Texturing Compositing (Z-buffer, transparency) Texture memory vertices triangles fragments Geometry Shader Vertex Shader Fragment Shader
Importance, reuse, and pre-
computation
Simplification
Exploit the GPU
– – Multipass
Multipass rendering rendering
Results of
a previous previous pass pass can can only
be used used
– – Render
Render-
to-
texture
Results of
pass can can be be used used by by another another pass pass
– – Floating
Floating point point textures textures
HDR radiance radiance and and geometric geometric data data in in texture texture memory memory
Large, Static environment Small, Dynamic
Participating media Precompution-aided GI Shadow, caustics Simplified GI Localized Environment maps Shadow, caustics Simpflied GI Approximated multiple scattering Artifact free composition Environment maps
Local illumination Variance Shadow maps Localized Environment maps Localized Diffuse/glossy irradiance maps Obscurances, ambient occlusion, Photon map, light cube map Light path maps
Text Textrure rure atlas atlas = = unfolding unfolding
u v x y z
Obscurances, ambient occlusion , ambient occlusion
Light maps
Light path maps
Good for macrostructure and mesostructure
f(x) ∫Ω Lin(x,ω’) cosθ’dω’ =L(x)
Irradiance
Entry point Exit point
random
correspond to texel centers
entry point with unit irradiance
Virtual lights unit irrad
Entry point 1 Entry point 2 Compression: PCA
16K entries 32 clusters 4Mb per obj 50 FPS
Specular reflections and refractions reflections and refractions
Diffuse/glossy indirect illumination
Global/localized approaches
Environment Environment mapping mapping
Environment map Reference
distance color
So far we decomposed the scene to the reflector and to the “rest” reflector and to the “rest”
If all reflectors have their own distance map, it is correct. map, it is correct.
Frame 1 Frame 2
distance
point location power
32 x 32
Texture uv of photon positions Vertex shader Billboard positions filter Pixel shader Lit texture or Light map
256 x 256
Quads or points with dummy pos
cosθ’ L(x, ωo) = ∫Ω Lin(y,ωi) f(ωi,x,ωo) cosθ’ dωi x
cosθ’
self-occlusions!
distance radiance
billboards
ω α α ω ω r r r
j j j j
E C j I j L + ⋅ + − ⋅ = ) 1 ( ) , ( ) , (
Incoming radiance In-scattering term transparency Outgoing radiance Emission
Particles Participating medium
sky color billboard slice 1 slice 2 slice 3 light source light pass final gathering pass
Particles Dust: 16 Fire: 135 Smoke: 112 FPS Spherical: 70 Planar: 80