metropolis light transport

18
Slides by Yimin Li Slides by Yimin Li Metropolis Light Transport Eric Veach, Leonidas J. Guibas Computer Science Department Stanford University

Upload: yimin-li

Post on 03-Jul-2015

935 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Metropolis Light Transport

Slides by Yimin LiSlides by Yimin Li

Metropolis Light Transport

Eric Veach, Leonidas J. Guibas

Computer Science DepartmentStanford University

Page 2: Metropolis Light Transport

Intuition

In Monte Carlo Ray Tracing, most paths do not contribute significantly to the image.

We need more samples where f is large.

2

Page 3: Metropolis Light Transport

A good example

3

Page 4: Metropolis Light Transport

Basics

Given a function f, and an equation y=f(x)

4

Page 5: Metropolis Light Transport

Basics

Given an image, input becomes (x,y)

5

Page 6: Metropolis Light Transport

Basics

Gray = 0.29900*R+0.58700*G+0.11400*B

6

Page 7: Metropolis Light Transport

Basics

f may appear in any form. It can be the difference of samples

7

Page 8: Metropolis Light Transport

Metropolis Light Transport

= ray tracing + metropolis sampling

8

Page 9: Metropolis Light Transport

Bidirectional Path Tracing

= path tracing + light tracing

9

Page 10: Metropolis Light Transport

Mutation

choose a path

10

Page 11: Metropolis Light Transport

Mutation

mutate this path by adding new vertices

11

Page 12: Metropolis Light Transport

Mutation

mutate this path by perturbing a vertex

12

Page 13: Metropolis Light Transport

Mutation

The algorithm finds an important, but hard to find, path. Once this path is found, it explores other paths “near” that path

through mutations, which guarantees faster convergence.

13

Page 14: Metropolis Light Transport

Basic MTL algorithm

MTL(){ image = 0; // zero matrix x_bar = random_path(); // a path generated by ray tracing for i = 1 to N // N is the length of path x_bar { y_bar = mutate( x_bar ); a = acceptProbability ( x_bar, y_bar ); if ( (float)rand()/RAND_MAX < a ) x_bar = y_bar; recordSample( image, f(x_bar) ); }

return image;}

14

Page 15: Metropolis Light Transport

Acceptance Probability

Detailed balance:

f(x_bar)T(y_bar|x_bar)a(y_bar|x_bar) = f(y_bar)T(x_bar|y_bar)a(x_bar|y_bar)

15

Page 16: Metropolis Light Transport

Advantages

· Unbiased· Infinite dimensions· Faster convergence· Efficient for glossy surfaces, caustics,

and strong indirect lighting

16

Page 17: Metropolis Light Transport

Demo

17

Page 18: Metropolis Light Transport

Thank you!

18