88
Computer Graphics CMU 15-462/15-662, Fall 2016 The Rendering Equation

The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

Computer Graphics CMU 15-462/15-662, Fall 2016

The Rendering Equation

Page 2: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Review: What is radiance?▪ Radiance at point p in direction N is radiant energy (“#hits”)

per unit time, per solid angle, per unit area perpendicular to N.

— radiant energy— solid angle— projected area

Page 3: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Intuition: Radiance and Irradiance

irradiance radiance in direction ω

angle between ω and normal

Page 4: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Incident vs. Exitant RadianceINCIDENT EXITANT

In both cases: intensity of illumination is highly dependent on direction (not just location in space or moment in time).

Page 5: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

The Rendering Equation▪ Core functionality of photorealistic renderer is to estimate

radiance at a given point p, in a given direction ωo

▪ Summed up by the rendering equation (Kajiya):

outgoing/observed radiance emitted radiance (e.g., light source)

incoming radiance

all directions in hemisphere

angle between incoming direction and normal

incoming direction

direction of interestpoint of interest

scattering function

Key challenge: to evaluate incoming radiance, we have to compute yet another integral. I.e., rendering equation is recursive.

Page 6: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Recursive Raytracing▪ Basic strategy: recursively evaluate rendering equation!

Page 7: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Renderer measures radiance along a ray

Pinholeo,d

o,d x

y

At each “bounce,” want to measure radiance traveling in the direction opposite the ray direction.

Page 8: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Renderer measures radiance along a ray

Pinholeo,d

o,d x

y

Radiance entering camera in direction d = light from scene light sources that is reflected off surface in direction d.

Page 9: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

How does reflection of light affect the outgoing radiance?

Page 10: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Reflection models▪ Reflection is the process by which light incident on a surface

interacts with the surface such that it leaves on the incident (same) side without change in frequency

▪ Choice of reflection function determines surface appearance

Page 11: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Categories of reflection functions▪ Ideal specular

▪ Ideal diffuse

▪ Glossy specular

▪ Retro-reflective

Diagrams illustrate how incoming light energy from given direction is reflected in various directions.

Perfect mirror

Uniform reflection in all directions

Reflects light back toward source

Majority of light distributed in reflection direction

Page 12: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Materials: diffuse

Page 13: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Materials: plastic

Page 14: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Materials: red semi-gloss paint

Page 15: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Materials: Ford mystic lacquer paint

Page 16: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Materials: mirror

Page 17: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Materials: gold

Page 18: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Materials

Page 19: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Models of Scattering▪ How can we model “scattering” of light?

▪ Many different things that could happen to a photon: - bounces off surface - transmitted through surface - bounces around inside surface - absorbed & re-emitted - …

▪ What goes in must come out! (Total energy must be conserved)

▪ In general, can talk about “probability*” a particle arriving from a given direction is scattered in another direction

*Somewhat more complicated than this, because some light is absorbed!

Page 20: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Hemispherical incident radiance

Consider view of hemisphere from this point

At any point on any surface in the scene, there’s an incident radiance field that gives the directional distribution of illumination at the point

Page 21: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Diffuse reflection

Incident radiance Exitant radiance

Exitant radiance is the same in all directions

Page 22: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Ideal specular reflection

Incident radiance Exitant radiance

Incident radiance is “flipped around normal” to get exitant radiance

Page 23: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Plastic

Incident radiance Exitant radiance

Incident radiance gets “flipped and blurred”

Page 24: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Copper

Incident radiance Exitant radiance

More blurring, plus coloration (nonuniform absorption across frequencies)

Page 25: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Scattering off a surface: the BRDF▪ “Bidirectional reflectance distribution function”

▪ Encodes behavior of light that “bounces off” surface

▪ Given incoming direction ωi, how much light gets scattered in any given outgoing direction ωo?

▪ Describe as distribution fr(ωi→ωo)

bv (Szymon Rusinkiewicz)

why less than or equal?

“Helmholtz reciprocity”

Q: Why should Helmholtz reciprocity hold? Think about little mirrors…

where did the rest of the energy go?!

Page 26: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Radiometric description of BRDF

“For a given change in the incident irradiance, how much does the exitant radiance change?”

Page 27: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Example: Lambertian reflectionAssume light is equally likely to be reflected in each output direction

fr = c

Lo(!o) =

Z

H2

fr Li(!i) cos ✓i d!i

=fr

Z

H2

Li(!i) cos ✓i d!i

=frE

fr =⇢

Page 28: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Example: perfect specular reflection

[Zátonyi Sándor]

Page 29: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Geometry of specular reflection

~n

!i !o

✓i ✓o

�i �o

!o

+ !i

= 2 cos ✓ ~n = 2(!i

· ~n)~n

!o

= �!i

+ 2(!i

· ~n)~n

✓ = ✓o

= ✓i

Top-down view (looking down on surface)

Page 30: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Specular reflection BRDF

✓i ✓o

Li(✓i,�i) Lo

(✓o

,�o

)

Lo

(✓o

,�o

) = Li

(✓o

,�o

± ⇡)

fr

(✓i

,�i

; ✓o

,�o

) =

�(cos ✓i

� cos ✓o

)

cos ✓i

�(�i

� �o

± ⇡)

▪ Strictly speaking, fr is a distribution, not a function

▪ In practice, no hope of finding reflected direction via random sampling; simply pick the reflected direction!

Dirac delta

Page 31: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

TransmissionIn addition to reflecting off surface, light may be transmitted through surface.

Light refracts when it enters a new medium.

Page 32: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Snell’s Law

~n!i

!t

⌘i sin ✓i = ⌘t sin ✓t

Transmitted angle depends on index of refraction of medium incident ray is in and index of refraction of medium light is entering.

Vacuum Air (sea level) Water (20°C) Glass Diamond

1.0 1.00029 1.333 1.5-1.6 2.42

⌘Medium *

* index of refraction is wavelength dependent (these are averages)

Page 33: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Law of refraction

~n!i

!t

Total internal reflection: When light is moving from a more optically dense medium to a less optically dense medium:

Light incident on boundary from large enough angle will not exit medium.

⌘i sin ✓i = ⌘t sin ✓t

1�✓⌘i⌘t

◆2

(1� cos

2 ✓i) < 0

⌘i⌘t

> 1

cos ✓t =q1� sin

2 ✓t

=

s

1�✓⌘i⌘t

◆2

sin

2 ✓i

=

s

1�✓⌘i⌘t

◆2

(1� cos

2 ✓i)

Page 34: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Optical manholeOnly small “cone” visible, due to total internal reflection (TIR)

Page 35: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Fresnel reflectionMany real materials: reflectance increases w/ viewing angle

[Lafortune et al. 1997]

Page 36: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Snell + Fresnel: Example

Refraction (Snell)

Reflection (Fresnel)

Page 37: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Without Fresnel (fixed reflectance/transmission)

Page 38: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Glass with Fresnel reflection/transmission

Page 39: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Anisotropic reflectionReflection depends on azimuthal angle �

Results from oriented microstructure of surface e.g., brushed metal

Page 40: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Subsurface scattering▪ Visual characteristics of many

surfaces caused by light entering at different points than it exits - Violates a fundamental

assumption of the BRDF[Jensen et al 2001]

[Donner et al 2008]

Page 41: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Scattering functions▪ Generalization of BRDF; describes exitant radiance at one

point due to incident differential irradiance at another point:S(x

i

,!

i

, x

o

,!

o

)

▪ Generalization of reflection equation integrates over all points on the surface and all directions(!)

L(xo,!o) =

Z

A

Z

H2

S(xi,!i, xo,!o)Li(xi,!i) cos ✓i d!i dA

Page 42: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Translucent materials: Jade

Page 43: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Translucent materials: skin

Page 44: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Translucent materials: leaves

Page 45: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

BRDF

Page 46: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

BSSRDF

Page 47: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Ok, so scattering is complicated!

What’s a (relatively simple) algorithm that can capture all this behavior?

Page 48: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

The reflection equation

Lr(p,!r) =

Z

H2

fr(p,!i ! !r)Li(p,!i) cos ✓i d!i

dLr(!r) = fr(!i ! !r) dLi(!i) cos ✓i

Page 49: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

The reflection equation▪ Key piece of overall rendering equation:

▪ Approximate integral via Monte Carlo integration

▪ Generate directions sampled from some distribution

▪ Compute the estimator

▪ To reduce variance should match BRDF or incident radiance function

Lr(p,!r) =

Z

H2

fr(p,!i ! !r)Li(p,!i) cos ✓i d!i

!j p(!)

1

N

NX

j=1

fr(p,!j ! !r)Li(p,!j) cos ✓jp(!j)

p(!)

Page 50: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Estimating reflected light

// Assume:

// Ray ray hits surface at point hit_p

// Normal of surface at hit point is hit_n

Vector3D wr = -ray.d; // outgoing direction

Spectrum Lr = 0.;

for (int i = 0; i < N; ++i) {

Vector3D wi; // sample incident light from this direction

float pdf; // p(wi)

generate_sample(brdf, &wi, &pdf); // generate sample according to brdf

Spectrum f = brdf->f(wr, wi);

Spectrum Li = trace_ray(Ray(hit_p, wi)); // compute incoming Li

Lr += f * Li * fabs(dot(wi, hit_n)) / pdf;

}

return Lr / N;

Page 51: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

The rendering equation

Now that we know how to handle reflection, how do we solve the full rendering equation? Have to determine incident radiance…

Pinhole x

y

p!o

!i

Lo

(p,!o

)

Lo(p,!o) = Le(p,!o) +

Z

H2

fr(p,!i ! !o)Li(p,!i) cos ✓i d!i

Page 52: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Key idea in (efficient) rendering: take advantage of special knowledge to break up integration into “easier” components.

Page 53: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Path tracing: overview▪ Partition the rendering equation into direct and indirect

illumination

▪ Use Monte Carlo to estimate each partition separately - One sample for each - Assumption: 100s of samples per pixel

▪ Terminate paths with Russian roulette

Page 54: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Direct illumination + reflection + transparencyImage credit: Henrik Wann Jensen

Page 55: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Global illumination solutionImage credit: Henrik Wann Jensen

Page 56: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

▪ Definite integral

▪ Random variables

▪ Expectation of f

▪ Estimator

is the value of a random sample drawn from the distribution is also a random variable.

Review: Monte Carlo integration

Xi ⇠ p(x)

Yi = f(Xi)Xi ⇠ p(x)

Xi ⇠ p(x)Yi = f(Xi)

Z b

af(x)dx

E[Yi] = E[f(Xi)] =

Z b

af(x) p(x) dx

FN =b� a

N

NX

i=1

YiMonte Carlo estimate of

Assuming samples drawn from uniform pdf. I will provide estimator for arbitrary PDFs later in lecture.

f(x)�Xi

Z b

af(x)dx

What we seek to estimate

Page 57: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Basic Monte Carlo estimator

Assume uniform probability density (for now)

Xi ⇠ U(a, b)

p(x) =1

b� a

Page 58: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Näive direct lighting estimate

d!

dA

E(p) =

ZL(p,!) cos ✓ d!

=2⇡

ZL(p,!) cos ✓

1

2⇡d!

=2⇡

ZL(p,!) cos ✓ p(!) d!

Estimator:L(p,!)

p(!) =1

2⇡

Uniformly-sample hemisphere of directions with respect to solid angle

Xi ⇠ p(!)

Yi = f(Xi)

Yi = L(p,!i)cos ✓i

FN =2⇡

N

NX

i=1

Yi

Page 59: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Näive direct lighting estimate

E(p) =

ZL(p,!) cos ✓ d!

=2⇡

ZL(p,!) cos ✓

1

2⇡d!

=2⇡

ZL(p,!) cos ✓ p(!) d!

Given surface point p

For each of N samples:

Generate random direction:

Compute incoming radiance arriving at p from direction:

Compute incident irradiance due to ray:

Accumulate into estimator

Uniformly-sample hemisphere of directions with respect to solid angle

2⇡

NdEi

dEi = Licos ✓i

Li

!i

!i

Page 60: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Uniform hemisphere sampling

0.2 0.4 0.6 0.8 1.0

0.2

0.4

0.6

0.8

1.0

Generate random direction on hemisphere (all directions equally likely)

p(!) =1

2⇡

Direction computed from uniformly distributed point on 2D plane:

Try at home: derive from the inversion method [Arvo]

(⇠1, ⇠2) = (

q1� ⇠21 cos(2⇡⇠2),

q1� ⇠21 sin(2⇡⇠2), ⇠1)

Page 61: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Hemispherical solid angle sampling, 100 sample rays

(random directions drawn uniformly from hemisphere)

Light source

Occluder (blocks light)

Page 62: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Why is the image in the previous slide “noisy”?

Page 63: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Incident lighting estimator uses different random directions in each pixel. Some of those directions point towards the light, others do not.

(Estimator is a random variable)

Page 64: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Idea: don’t need to integrate over entire hemisphere of directions (incoming radiance is 0 from most directions)

Only integrate over the area of the light (directions where incoming radiance is non-zero)

Page 65: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Direct lighting: area integralE(p) =

ZL(p,!) cos ✓ d!

=2⇡

ZL(p,!) cos ✓

1

2⇡d!

=2⇡

ZL(p,!) cos ✓ p(!) d!

Integral over directions

Change of variables to integral over area of light

E(p) =

Z

A

0Lo

(p

0,!0)V (p, p0)

cos ✓ cos ✓0

|p� p

0|2 dA0

Outgoing radiance from light point p, in direction w’ towards p

Binary visibility function: 1 if p’ is visible from p, 0 otherwise (accounts for light occlusion)

dw =dA

|p0 � p|2 =dA

0cos ✓

|p0 � p|2A0

p0

p

✓0

!0 = p� p0

! = p0 � p

Page 66: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Light source area sampling, 100 sample rays

If no occlusion is present, all directions chosen in computing estimate “hit” the light source.(Choice of direction only matters if portion of light is occluded from surface point p.)

Page 67: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Hemispherical solid angle sampling, 100 sample rays

(random directions drawn uniformly from hemisphere)

Page 68: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Light source area sampling, 100 sample rays

Page 69: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Estimating indirect lighting

Page 70: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

The reflection equation

Need to know incident radiance. So far, have only computed incoming radiance from scene light sources.

Pinhole x

y

p!o

!i

Lo

(p,!o

)

Lo(p,!o) = Le(p,!o) +

Z

H2

fr(p,!i ! !o)Li(p,!i) cos ✓i d!i

Page 71: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Accounting for indirect illumination

Pinhole x

y

p!o

!i

Lo

(p,!o

)

Incoming light energy from direction may be due to light reflected off another surface in the scene (not an emitter)

!i

Lo(p,!o) = Le(p,!o) +

Z

H2

fr(p,!i ! !o)Li(p,!i) cos ✓i d!i

Page 72: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Path tracing: indirect illumination

▪ Sample incoming direction from some distribution(e.g. proportional to BRDF):

▪ Recursively call path tracing function to compute incident indirect radiance

▪ Monte Carlo estimator:

!i ⇠ p(!)

Z

H2

fr(!i ! !o)Lo,i(tr(p,!i),�!i) cos ✓i d!i

fr

(!i

! !o

)Lo,i

(tr(p,!i

),�!i

) cos ✓i

p(!i

)

Page 73: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Direct illumination

p

Page 74: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

One-bounce global illumination

p

Page 75: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Two-bounce global illumination

p

Page 76: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Four-bounce global illumination

p

Page 77: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Eight-bounce global illumination

p

Page 78: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Sixteen-bounce global illumination

p

Page 79: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Wait a minute… When do we stop?!

Page 80: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

Stanford CS348b, Spring 2014

Russian roulette▪ Idea: want to avoid spending time evaluating function for

samples that make a small contribution to the final result

▪ Consider a low-contribution sample of the form:

V (p, p0)

L =

fr

(!i

! !o

)Li

(!i

)V (p, p0) cos ✓i

p(!i

)

Page 81: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

Stanford CS348b, Spring 2014

Russian roulette

▪ If tentative contribution (in brackets) is small, total contribution to the image will be small regardless of

▪ Ignoring low-contribution samples introduces systemic error - No longer an unbiased estimator

▪ Instead, randomly discard low-contribution samples in a way that leaves estimator unbiased

V (p, p0)

L =

fr

(!i

! !o

)Li

(!i

) cos ✓i

p(!i

)

�V (p, p0)

L =

fr

(!i

! !o

)Li

(!i

)V (p, p0) cos ✓i

p(!i

)

Page 82: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

Stanford CS348b, Spring 2014

Russian roulette▪ New estimator: evaluate original estimator with probability

, reweight. Otherwise ignore.

▪ Same expected value as original estimator:

prr

prrE

X

prr

�+ E[(1� prr)0] = E[X]

Page 83: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

Stanford CS348b, Spring 2014

No Russian roulette: 6.4 seconds

Page 84: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

Stanford CS348b, Spring 2014

Russian roulette: terminate 50% of all contributions withluminance less than 0.25: 5.1 seconds

Page 85: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

Stanford CS348b, Spring 2014

Russian roulette: terminate 50% of all contributions withluminance less than 0.5: 4.9 seconds

Page 86: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

Stanford CS348b, Spring 2014

Russian roulette: terminate 90% of all contributions withluminance less than 0.125: 4.8 seconds

Page 87: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

Stanford CS348b, Spring 2014

Russian roulette: terminate 90% of all contributions withluminance less than 1: 3.6 seconds

Page 88: The Rendering Equation - Carnegie Mellon University15462.courses.cs.cmu.edu/.../17_renderingequation_slides.pdf · 2016. 11. 2. · The Rendering Equation Core functionality of photorealistic

CMU 15-462/662, Fall 2015

Next time:▪ Variance reduction—how do we get the most out of our samples?