Download pptx - Global illumination

Transcript
Page 1: Global illumination

GLOBAL ILLUMINATION(BLACK) PHOTONS EVERYWHERE

Dragan Okanovic@abstractalgo

Page 2: Global illumination

PROBLEMS OF COMPUTER GRAPHICS generate digital imagery, so it looks “real” only two problems:

1. materials: bsdf

brdf (diffuse, glossy, specular reflections)

btdf (refraction& transmission)

bssdf (subsurface scattering)

emitting

2. camera resolution + fov

lens flare

aberrations

bokeh dof

hdr & tonemapping

bloom & glow

motion blur

anti-aliasing

filmgrain

...

Page 3: Global illumination

GLOBAL ILLUMINATION GI is a consequence of how photons are scattered around the scene GI is an effect, i.e. doesn’t exist per-se and is dependent of the scene In a CG terminology, GI is a set of algorithms that compute (ir)radiance for

any given point in space, in the spherical domain That computed irradiance is then used in combination with material’s

properties at that particular point in space, for final calculation of the radiance

Radiance is used as the input to the camera system

global illumination sub-effects: shadows

ambient occlusion

color bleed/indirect illumination

caustics

volumetric lighting

Page 4: Global illumination

shadows

check if surface is lit directly

ambient occlusion

check how “occluded” the surface is and how hard is for the light to reach that point in space

color bleed / indirect illumination

is reflected light strong enough so even diffuse surfaces “bleed” their color on surrounding (non-emitters behave like light source)

caustics

is enough of the light reflected/refracted to create some interesting bright patterns

volumetric lighting

how does participating media interact with the light

global illumination

describes how light is scattered around the scene, how light is transported through the scene

what interesting visual effects start appearing because of such light transport

Page 5: Global illumination

sh ao

sh + ind.illum. sh sh + vol. + ind.illum. sh + caustics + ind.illum. + ao

sh + ind.illum. + ao

Page 6: Global illumination

FORMULATION OF THE PROBLEM analytically calculate or approximate the irradiance over the sphere, for a certain point in space, in a

converged state

how much each point [A] contributes to every other [B] in the scene

how much [A->B] influences point [A]

how much does that influence [B] back

....

recursive, but it can converge and reach a certain equilibrium

[A->B]

[[A->B]->A]

[[[A->B]->A]->B]

[all light bounces]

Page 7: Global illumination

ALGORITHMS

pathtracing

radiosity

photon mapping

RSM (reflective shadow maps)

instant radiosity

irradiance volumes

LPV (light propagation volumes)

deferred radiance transfer volumes

SVOGI (sparse voxel octree GI, voxel cone tracing)

RRF (radiance regression function)

SSDO (screen-space directional occlusion) deep G-buffer surfels

PRT and SH

Page 8: Global illumination

PATHTRACING

sample the hemisphere over the point with Monte Carlo for every other sample, do the same thing recursively

for each surface-light path interaction, we evaluate the incoming light against the bsdf of the material

straighforward implementation of light bounces

very computationally exhaustive, not real-time

very good results, ground truth

all effects

Page 9: Global illumination

RADIOSITY for each surface element (patch), calculate how well it can see all other patches (view factor)

progressively recalculate the illumination of a certain patch from all other patches

start with direct illumination injected and iterate until convergence (or good enough)

not real-time only diffuse reflections can be precomputed and it is viewport-independent

Page 10: Global illumination

REFLECTIVE SHADOW MAPS (RSM) generate RSM

from lights perspective: depth, position, normal, flux

sample RSM to approximate lighting

the idea is used in other more popular algorithms

Page 11: Global illumination

INSTANT RADIOSITY

ray trace from the light source into the scene for each hit, generate VPL and render the scene with it

gather the results

mix between sampling and radiosity

not real-time

Page 12: Global illumination

INSTANT RADIOSITY V2 don’t raytrace, but instead use RSM use RSM to approximate where to place VPLs deferred render with many lights

Page 13: Global illumination

PHOTON MAPPING

shoot photons from light source into the scene gather nearby photon to calculate approximate radiance

good results

good for caustics

not real-time

Page 14: Global illumination

SPHERICAL HARMONICS “spherical Fourier decomposition” Legendre basis functions that can be added together to represent the spherical domain function

Page 15: Global illumination
Page 16: Global illumination

IRRADIANCE VOLUMES calculate lighting at the point in space and save in SH representation build grid of such SH values interpolate in space (trilinear) build acceleration structure for efficiency (octree)

Page 17: Global illumination

PRECOMPUTED RADIANCE TRANSFER precomputed SH for a object that accounts for self-

shadowing and self-interreflection independent of the lighting

Page 18: Global illumination

PRT

Page 19: Global illumination

DEFERRED RADIANCE TRANSFER VOLUMES bake manually/auto placed probes that hold PRT data create grid and inject PRT probes into it, interpolated between manually selected locations use local PRT probe * lighting to get the illumination data

Page 20: Global illumination

[CASCADED] LIGHT PROPAGATION VOLUMES ([C]LPV) generate RSM generate VPLs using RSM inject VPL data into 3D grid of SH probes propagate light contribution within the grid

8 iterations after injection

Sample lit surface elements

Grid initialization

Light propagation in the grid

Scene illumination with the grid

Page 21: Global illumination

VPL

VPL

VPL

Discretize initial VPL distribution by the regular grid and SH

A set of regularly sampled VPLs of the scene from light position

generate RSM generate VPLs using RSM inject VPL into 3D grid propagate light contribution within the grid

Propagate light iteratively going from one cell to another

Cascaded grids

Page 22: Global illumination

VOXEL CONE TRACING (SPARSE VOXEL OCTREE GI) rasterize scene into 3d texture generate mip levels and octree for textures sample with cone tracing

Page 23: Global illumination

VOXEL CONE TRACING (SPARSE VOXEL OCTREE GI)

shadows AO specular reflections

indirect illumination

Page 24: Global illumination
Page 25: Global illumination

RADIANCE REGRESSION FUNCTION (RRF) train neural network on the scene (get RRF) use RRF to evaluate for a given point in a space

Page 26: Global illumination

RRF

Page 27: Global illumination
Page 28: Global illumination
Page 29: Global illumination

THANKS!


Recommended