Light, Reflectance, and Global Illumination
Light, Reflectance, and Global Illumination
2-D
diffuse surface
specular surface in
clear air, unoccluded
4-D
image (r,g,b)
light field
5-D light field
or surface/volume model with
general reflectance properties
What is Color?
Color is human perception of light.
Our perception is imperfect; we dont see spectral power P(),
instead we see three scalars:
at long wavelength ( red):
L = P()sL()d
at middle wavelength ( yellow):
M = P()sM()d
S = P()sS()d
where sL(), sM(), and sS() are the sensitivity curves of our three
sets of cones.
Color is three dimensional because any light we see is
indistinguishable to our eyes from some mixture of three spectral
(monochromatic, single-wavelength) primaries.
Color Spaces
Color can be described in various color spaces:
spectrum - allows non-visible radiation to be described, but usually
impractical/unnecessary.
RGB - CRT-oriented color space
good for computer storage.
Units of Light
quantity
dimension
units
solid angle
solid angle
[steradian]
[watt/(m2*steradian)]
p = #pixels
= #lights
at if polygons big
Ray tracing to max depth d with shadows, refl&tran, no spat. DS, no supersampling
2d1 intersections/pixel, for each of which there are shadow rays
worst case cost = p(2d1)[( +1)sti + t] 2dpsti if many surfaces
Note: time constants vary, e.g. tp is larger for z-buffer than for painters.
Interreflection
We typically simulate just direct illumination: light traveling on a
straight, unoccluded line from light source to surface, reflected
there, then traveling in a straight, unoccluded line into eye.
Light travels by a variety of paths:
light source eye (0 bounces: looking at light source)
light source surface1 eye
(1 bounce: direct illumination)
light source surf1 surf2 eye
(2 bounces)
light source surf1 surf2 surf3 eye
(3 bounces)
...
Illumination via a path of 2 or more bounces is called indirect
illumination or interreflection. It also happens with transmission.
Global Illumination
Observation: light comes from other surfaces, not just designated light
sources.
Goal: simulate interreflection of light in 3-D scenes.
Difficulty: you can no longer shade surfaces one at a time, since theyre
now interrelated!
Two general classes of algorithms:
1. ray tracing methods: simulate motion of photons one by one, tracing
photon paths either backwards (eye ray tracing) or forwards (light ray
tracing) -- good for specular scenes
2. radiosity methods: set up a system of linear equations whose solution is
the light distribution -- good for diffuse scenes
other
surface
pointst
Assumptions:
no participating media (no fog) shade surfaces only, not vols.
opaque surfaces (no transmission)
reflection and emission are diffuse radiance is direction-indep.,
radiance is a function of 2-D surface parameters and
reflection and emission are independent of within each of several
wavelength bands; typically use 3 bands: R,G,B solve 3 linear systems
of equations
radiosity is constant across each element one RGB radiosity per element
ofelemi
power power
emitted reflected
byelemi byelemi
outgoing
power
ofelemi
power
fractionofpower outgoing
reflectance
leavingelemjthat power
emitted
ofelemi
byelemi
elem j arrivesatelemi ofelemj
Let
Ai = areaofelementi(computable)
ei = radiantemittedfluxdensityofelementi(given)
i = reflectanceofelementi(given)
bi = radiosityofelementi(unknown)
Fij = formfactorfromitoj = fractionofpowerleavingithatarrivesatj
(computable)
Sotheequationabovecanberewritten:
n
Ai bi Ai ei i
F
j 1
ji A j b j
Form Factors
Define the form factor Fij to be the fraction of light leaving element i
that arrives at element j
cosi cos j
1
Fij
vij dA j dAi
2
r
Ai
Ai Aj
Where
Earlier, wehad : Ai bi Ai ei i
n
DividingbyAi : bi ei i
Fji A j b j
j1
Aj
Fji Ai b j
j1
Fij b j forallelemsi
j1
Or, inmatrix/vectornotation:
b = e + Kb
wherebisthevectorofunknownradiosities,eisthevectorofknownemissions,
andKisasquarematrixofreflectancetimesformfactor: K ij i Fij
SubtractingKbfrombothsides,wegetb Kb = e, or
(I K)b = e
whereIisanidentitymatrix.
Thisisalinearsystemofnequationsinnunknowns(thebi ).
Therearethreesuchsystemsofequations,onefortheredchannel,onefor
green, andoneforblue.Thevariables i , ei , andbi areRGBvectors.
Generalizations:
curved surfaces: easy - radiosity samples are like a surface texture.
non-diffuse (specular or general) reflectance: much harder; radiosity is now a
function of not just 2-D position on surface, but 2-D position and 2-D direction.
Lots of memory required, but it can be done.
Yu: Motivation
Most IBMR methods permit novel viewpoints but not novel lighting;
they assume surfaces are diffuse.
Want to permit changes in lighting.
Would like to to recover (non-diffuse) reflectance maps:
specularity and roughness at each surface point
Yu Algorithm Overview
1. Solve for shape (use FAADE or similar system)
2. Solve for coarse diffuse reflectances
coarsely mesh the surfaces into triangles
inverse radiosity problem: known form factors and radiosities (from image
radiances), solve for diffuse reflectances (linear system)