E N D
1. Global Illumination
2. Direct Illumination vs. Global Illumination reflected, scattered and focused light (not discreet).
physical-based light transport calculations modeled around bidirectional reflective distribution functions (BRDFs).
discreet light source.
efficient lighting calculations based on light and surface vectors (i.e. fast cheats).
3. Indirect Illumination
4. Contact Shadows
5. Caustics Focused and reflected light, or caustics, are another feature of the real world that we lack in direct illumination.
6. Global illumination rendered images Caustics are a striking and unique feature of Global Illumination.
7. BRDF BRDF really just means the way light bounces off of something.
Specular reflection: some of the light bounces right off of the surface along the angle of reflection without really changing color much.
Diffuse reflection: some of the light gets refracted into the plastic and bounced around between red particles of pigment. Most of the green and the blue light is absorbed and only the red light makes its way back out of the surface. The red light bounced back is scattered every which way with fairly equal probability.
8. Rendering Equation L is the radiance from a point on a surface in a given direction ?
E is the emitted radiance from a point: E is non-zero only if x is emissive
V is the visibility term: 1 when the surfaces are unobstructed along the direction ?, 0 otherwise
G is the geometry term, which depends on the geometric relationship between the two surfaces x and x
It includes contributions from light bounded many times off surfaces
f is the BRDF
9. Light Emitted from a Surface Radiance (L): Power per unit area per unit solid angle
Measured in W/m2sr
dA is projected area perpendicular to given direction
Radiosity (B): Radiance integrated over all directions
Power from per unit area, measured in W/m2
10. Radiosity Concept Radiosity of each surface depends on radiosity of all other surfaces
Treat global illumination as a linear system
Need constant BRDF (diffuse)
Solve rendering equation as a matrix problem
Process
Mesh into patches
Calculate form factors
Solve radiosity
Display patches
11. Radiosity Equation
12. Radiosity Approximations
13. Radiosity Matrix
14. Intuition
15. Form Factor Intuition
16. Hemicube Compute form factor with image-space precision
Render scene from centroid of Ai
Use z-buffer to determine visibility of other surfaces
Count pixels to determine projected areas
17. Monte Carlo Sampling Compute form factor by random sampling
Select random points on elements
Intersect line segment to evaluate Vij
Evaluate Fij by Monte Carlo integration
18. Solving the Radiosity Equations Solution methods:
Invert the matrix O(n3)
Iterative methods O(n2)
Hierarchical methods O(n)
19. Examples
20. Gauss-Siedel Iteration method For all i
Bi = Ei
While not converged
For each i in turn
Display the image using Bi as the intensity of patch i
21. Interpretation of Iteration Iteratively gather radiosity to elements
22. Progressive Radiosity
23. Progressive Radiosity Interpretation:
Iteratively shoot unshot radiosity from elements
Select shooters in order of unshot radiosity
24. Progressive Radiosity
25. Adaptive Meshing Refine mesh in areas of large errors
26. Adaptive Meshing
27. Hierarchical Radiosity Refine elements hierarchically:
Compute energy exchange at different element granularity
satisfying a user-specified error tolerance
28. Hierarchical Radiosity
29. Hierarchical Radiosity
30. Displaying Radiosity
31. Radiosity Constrained by the resolution of your subdivision patches.
Have to calculate all of the geometry before you rendered an image.
No reflections or specular component.
32. Path Types OpenGL
L(D|S)E
Ray Tracing
LDS*E
Radiosity
LD*E
Path Tracing
attempts to traceall rays in a scene
33. Ray Tracing LDS*E Paths
Rays cast from eye into scene
Why? Because most rays cast from light wouldnt reach eye
Shadow rays cast at each intersection
Why? Because most rays wouldnt reach the light source
Workload badly distributed
Why? Because # of rays grows exponentially, and their result becomes less influential
34. Tough Cases Caustics
Light focuses through a specular surface onto a diffuse surface
LSDE
Which direction should secondary rays be cast to detect caustic?
Bleeding
Color of diffuse surface reflected in another diffuse surface
LDDE
Which direction should secondary rays be cast to detect bleeding?
35. Path Tracing Kajiya, SIGGRAPH 86
Diffuse reflection spawns infinite rays
Pick one ray at random
Cuts a path through the dense ray tree
Still cast an extra shadow ray toward light source at each step in path
Trace > 40 paths per pixel
36. Monte Carlo Path Tracing Integrate radiance for each pixel by sampling paths randomly
37. Basic Monte Carlo Path Tracer Choose a ray (x, y), t; weight = 1
race ray to find intersection with nearest surface
Randomly decide whether to compute emitted or reflected light
Step 3a: If emitted,
return weight * Le
Step 3b: If reflected,
weight *= reflectance
Generate ray in random direction
Go to step 2
38. Bi-directional Path Tracing Role of source and receiver can be switched, flux does not change
39. Bi-directional Path Tracing
40. Tracing from eye
41. Tracing from light
42. Monte Carlo Path Tracing Advantages
Any type of geometry (procedural, curved, ...)
Any type of BRDF (specular, glossy, diffuse, ...)
Samples all types of paths (L(SD)*E)
Accurate control at pixel level
Low memory consumption
Disadvantages
Slow convergence
Noise in the final image
43. Monte Carlo path tracing
44. Monte Carlo Ray Tracing
45. Monte Carlo Integration
46. Noise Filtering
47. Photon Mapping Monte Carlo path tracing relies on lots of camera rays to find the bright areas in a scene. Small bright areas can be a real problem. (Hence the typical overcast lighting).
Why not start from the light sources themselves, scatter light into the environment, and keep track of where the light goes?
48. Photon Mapping Jensen EGRW 95, 96
Simulates the transport of individual photons
Photons emitted from source
Photons deposited on diffuse surfaces
Photons reflected from surfaces to other surfaces
Photons collected by rendering
49. What is a Photon? A photon p is a particle of light that carries flux DFp(xp, wp)
Power: DFp magnitude (in Watts) and color of the flux it carries, stored as an RGB triple
Position: xp location of the photon
Direction: wp the incident direction wi used to compute irradiance
Photons vs. rays
Photons propagate flux
Rays gather radiance
50. Sources Point source
Photons emitted uniformly in all directions
Power of source (W) distributed evenly among photons
Flux of each photon equal to source power divided by total # of photons
For example, a 60W light bulb would send out a total of 100K photons, each carrying a flux DF of 0.6 mW
Photons sent out once per simulation, not continuously as in radiosity
51. Russian Roulette Arvo & Kirk, Particle Transport and Image Synthesis, SIGGRAPH 90, pp. 63-66.
Reflected flux only a fraction of incident flux
After several reflections, spending a lot of time keeping track of very little flux
Instead, absorb some photons and reflect the rest at full power
Spend time tracing fewer full power photons
Probability of reflectance is the reflectance r
Probability of absorption is 1 r.
52. Mixed Surfaces Surfaces have specular and diffuse components
rd diffuse reflectance
rs specular reflectance
rd + rs < 1 (conservation of energy)
Let z be a uniform random value from 0 to 1
If z < rd then reflect diffuse
Else if z < rd + rs then reflect specular
Otherwise absorb
53. Photon Mapping
54. Rendering Photons in photon map are collected by eye rays cast by a distributed ray tracer
Multiple photon maps
Indirect irradiance map
Caustic map
Rays use the radiance constructed from reflected flux density from nearest neighbor photons
55. Photon Mapping Rendering Ray Tracing
At each hit:
Ray trace further if the contribution > threshold (more accurate)
Use photon map approximation otherwise
Caustics rendered directly
56. Caustic photon map The caustics photon map is used only to store photons corresponding to caustics.
It is created by emitting photons towards the specular objects in the scene and storing these as they hit diffuse surfaces.
57. Caustic illumination
58. Global Photon Map The global photon map is used as a rough approximation of the light/flux within the scene
It is created by emitting photons towards all objects.
It is not visualized directly and therefore it does not require the same precision as the caustics photon map.
59. Indirect Illumination
60. Example
61. Example
62. Readings Textbook 16.13
Distribution Ray Tracing: Theory and PracticeShirley and Wang. Proceedings of the 3rd Eurographics Rendering Workshop 1992
Global Illumination using Photon Maps Henrik Wann Jensen, Rendering Techniques '96