the rendering equation - dynamic graphics project
TRANSCRIPT
![Page 1: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/1.jpg)
The Rendering Equation
Kajiya ’86
Michael Tao
University of Toronto
![Page 2: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/2.jpg)
Introduction
Since Derek made slides. . .
1
![Page 3: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/3.jpg)
The Rendering Equation
I (x , x ′) = g(x , x ′)
[ε(x , x ′) +
∫S
ρ(x , x ′, x ′′)I (x ′, x ′′)dx ′′]
• I : intensity of light from x to x ′
• g : geometry
• ε: emission
• ρ: intensity of light from x ′′ to x from x ′
2
![Page 4: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/4.jpg)
Limitations
• Time-averaged transport intensity
• No phasees
• No diffraction
• Homogeneous refractive index of base medium
• Could let g handle this (single scattering)
• Could solve this equation volumetrically (Eikonal)
• Could solve this equation with sparse paths (path integration)
3
![Page 5: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/5.jpg)
Stoichiometry?
• How should we set I (that didn’t exist before this paper)?
• Isn’t it more natural to talk about angles around a point?
• Use stoichiometry to connect with standard radiometic intensity!
4
![Page 6: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/6.jpg)
Stoichiometry
dE = I (x , x ′)dtdxdx ′
• dE ∼ joule
• dx , dx ′ ∼ m2
• dt ∼ sec
• ⇒ I (x , x ′) ∼ joulem4sec
5
![Page 7: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/7.jpg)
Stoichiometry
g(x , x ′) ∼ Visible(x , x ′)
r2
• Unitless!
6
![Page 8: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/8.jpg)
Stoichiometry
dE =1
r2ε(x , x ′)dtdxdx ′
• dE ∼ joule
• dx , dx ′ ∼ m2
• dt ∼ sec
• ⇒ I (x , x ′) ∼ joulem2sec
7
![Page 9: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/9.jpg)
Stoichiometry
dE =1
r2ρ(x , x ′, x ′′)I (x ′, x ′′)dtdxdx ′dx ′′
• dE ∼ joule
• dx , dx ′, dx ′′ ∼ m2
• dt ∼ sec
• I (x , x ′) ∼ joulem4sec
• ⇒ unitless!
8
![Page 10: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/10.jpg)
Radiometric Intensity
• i(θ, φ)
• per time (dt)
• per unit projected area (dx ′p)
• per unit of solid angle (dω)
dE = i(θ′, φ′)dωdx ′pdt
9
![Page 11: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/11.jpg)
Radiometric Intensity
• After defining maps between points and angles. . .
r = ‖x − x′‖
dx′p = dx′ cos θ
cos θ =1
r〈n, x − x′〉
cos θ′ =1
r〈n′, x − x′〉
cosφ′ =1
r〈t′, x − x′〉
dE = i(θ′, φ′)cos θ cos θ′
r2dtdxdx ′
10
![Page 12: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/12.jpg)
Radiometric Intensity to Intensities
• After defining maps between points and angles. . .
I (x , x ′)dtdxdx ′ = dE = i(θ′, φ′)cos θ cos θ′
r2dtdxdx ′
I (x , x ′) = i(θ′, φ′)cos θ cos θ′
r2
11
![Page 13: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/13.jpg)
And everything else
• After some more boring algebraic manipulation with several
variables. . .
ε(x , x ′) = ε(θ′, φ′) cos θ cos θ′
ρ(x , x ′, x ′′) = ρ(θ′, φ′, ψ′, σ′) cos θ cos θ′
12
![Page 14: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/14.jpg)
So what?
• The basic rendering equation is really elegant and now we have a
bunch of cos everywhere, which is important
• Now we can try solving it maybe?
13
![Page 15: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/15.jpg)
Neumann Series
• As the equation is an affine transformation we can rewrite it as
I = gε+ gMI
• We can solve a steadystate by. . .
(1− gM)I = gε
• Taylor expansion of hte above provides
(1− gM)−1gε = g
( ∞∑i=0
[Mg ]i)ε
• Intuitively,
• i = 0 is light directly emitted
• i = 1 is light bounced once
• i = n is what?
14
![Page 16: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/16.jpg)
Utah Approximation
• If we have a precomputed illumination ε0
I = gε+ gMε0
• this is too easy?
• Well Whitted proposed something slightly more general
I = gε+ g
( ∞∑i=1
[M0g ]i)ε0
• M0 is delta functions with a cosine. . .
15
![Page 17: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/17.jpg)
Radiosity
• What if there is no angular dependence?
ρ(θ′, φ′, ψ′, σ′) = ρ0
• Well radiosity dBr (x) (a reduced I turns into
dBr (x′) = dx ′ρ0πH(x ′)
• for H hemispherical incident energy per time per area
• With emission we get
dBr (x′) = π[ε0 + ρ0H(x ′)]dx ′
16
![Page 18: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/18.jpg)
MCMC
• By energy conservation, ‖M‖ ≤ 1.
• Consider
x + a +∞∑k=1
Mka
• We can construct a probability of a path of length n, ω ∈ Sn to
obtain the contribution from σ1 to x` by
x` =
(∏̀i=0
mσi−1,σi
)aσi
1
p(ω)
• Apply splitting to say
p(ω) = p(ω0)∏̀
0
p(ωi , ωi+1)
17
![Page 19: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/19.jpg)
Hierarchy
• To not oversample they construct a hierarchy with one sample per
cell
18
![Page 20: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/20.jpg)
Results?
19
![Page 21: The Rendering Equation - Dynamic Graphics Project](https://reader030.vdocuments.net/reader030/viewer/2022032915/6242bb6ae4eb9e1fa9077afe/html5/thumbnails/21.jpg)
Results?
20