progressive photon mapping basics - 東京大学hachisuka/starpm... · progressive photon mapping...

62
Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University State of the Art in Photon Density Estimation

Upload: others

Post on 25-Jun-2020

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Progressive Photon Mapping Basics

Toshiya HachisukaAarhus University

State of the Art in Photon Density Estimation

Page 2: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Path Tracing [Kajiya 86]Light Tracing [Arvo 86][Dutré 93]Bidirectional Path Tracing [Lafortune 93][Veach 95]Photon Mapping [Jensen 95]Density Estimation [Shirley 95]Instant Radiosity [Keller 97]Metropolis Light Transport [Veach 97]Lightcuts [Walter 05]Energy Redistribution Path Tracing [Cline 05]...

Light Transport Simulation Algorithms

Page 3: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

(c)Y. Kimura

Page 4: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Light source Eye

Matte Surface

Page 5: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Eye

Transparent Layer

Matte Surface

Light source

Page 6: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Specular-Diffuse-Specular (SDS) paths

S S

D

Page 7: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Metal tube

Light

Lens

Page 8: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Path Tracing

Page 9: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Bidirectional Path Tracing

Page 10: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Metropolis Light Transport

Page 11: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Bidirectional Path Tracing

Page 12: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Bidirectional Path Tracing

Page 13: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing
Page 14: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing
Page 15: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing
Page 16: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Existing methods are not robust for SDS pathsPath tracingBidirectional path tracingMetropolis light transport...name your favorite

Specular-Diffuse-Specular Paths

Page 17: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Existing methods are not robust for SDS pathsPath tracingBidirectional path tracingMetropolis light transport...name your favoritePhoton mapping?

Specular-Diffuse-Specular Paths

Page 18: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Photon Mapping

Page 19: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Photon Mapping

Page 20: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Convergence of Photon Mapping

More photons →

Page 21: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Infinite number of nearby photons (Nβ→∞)Infinitely small radius (r→0)

Convergence of Photon Mapping

L(x, �ω) = limN→∞

Nβ�

p=1

fr(x, �ω, �ωp)φp(xp, �ωp)

πr2

Page 22: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Infinite number of nearby photons (Nβ→∞)Infinitely small radius (r→0)

Convergence of Photon Mapping

L(x, �ω) = limN→∞

Nβ�

p=1

fr(x, �ω, �ωp)φp(xp, �ωp)

πr2

Infinite storage & photon tracing

Page 23: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Conditions of convergenceInfinite number of (neighboring) photonsInfinitely small radius

In practice...More memoryLonger waiting time to the imageRerun the process with different parameters

Convergence of Photon Mapping

Page 24: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Solution:Progressive Photon Mapping

Page 25: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Overview

Initial Pass Photon Pass

Page 26: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Scene

Page 27: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Initial Pass

Page 28: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Initial Pass

* Similar to Havran et al. 2008

Page 29: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Each measurement point:Accumulated flux times BRDFSearch radiusLocal photon count

Global:Emitted photon count

Photon Statistics

τi (x, �ω)Ri (x)

Ne(i)

Ni(x)

Page 30: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Photon Pass

Page 31: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Photon Pass

Page 32: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Photon Pass

Page 33: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Next Photon Pass

Page 34: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Next Photon Pass

Page 35: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Rendering

Page 36: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Converges to the correct solutionInfinite number of photonsInfinitely small radius

Progressive Density Estimation

Li (�ω) =Ni�

p=1

fr (�ω, �ωp)φp (�ωp)πR2

i

Page 37: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Converges to the correct solution

Progressive Density Estimation

Li (�ω) =Ni�

p=1

fr (�ω, �ωp)φp (�ωp)πR2

i

limi→∞

Ni(Ri) = ∞limi→∞

Ri(Ni) = 0

Page 38: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Converges to the correct solution

Progressive Density Estimation

Li (�ω) =Ni�

p=1

fr (�ω, �ωp)φp (�ωp)πR2

i

limi→∞

Ni(Ri) = ∞limi→∞

Ri(Ni) = 0

Recursive density estimation using sample statistics

Page 39: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Progressive Density Estimation

Ri+1 = Ri

�Ni + αMi

Ni + Mi

τi+1 = τiNi + αMi

Ni + Mi

Ni+1 = Ni + αMiNumber of photons

Radius

Accumulated flux

Radiance Li =τi

πRi2 =

�Ni

p=1 frφp

πRi2

Page 40: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Equal-time Comparisons

Metal tube

Light

Lens

Page 41: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Path Tracing

Page 42: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Bidirectional Path Tracing

Page 43: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Metropolis Light Transport

Page 44: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Progressive Photon Mapping

Page 45: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Bidirectional Path Tracing

Page 46: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Progressive Photon Mapping

Page 47: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Bidirectional Path Tracing Progressive Photon Mapping

Page 48: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Metropolis Light Transport

Page 49: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Progressive Photon Mapping

Page 50: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Need an efficient range query of photons (not kNN query)

Be aware of tradeoffTree is adaptive, but costly to constructHash is fast to construct, but not adaptive

Implementation

Page 51: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Important parametersInitial radiusAlpha value (= radius reduction rate)Number of photons per pass

Convergence is guaranteed no matter what(as long as )

Parameters

0 < α < 1

Page 52: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Several optionskNN queries on the first photon mapRay differentialsConstant

Avoid using too large radius Few pixels per photons is usually good

Anton will introduce a better approach

Parameters - Initial Radius

Page 53: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Use 0.6... = 2/3Theoretical optimalWorks well in practiceAdaptive alpha is possible

Anton will tell you more details

Parameters - Alpha Value

Page 54: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Mainly depends on two factorsDesired frequency of visual feedbackCost of making a data structure for range query

Splatting approach can lower this number to one

Parameters - # of Photons Per Pass

Page 55: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

smallppm - 128 lines of working PPM code

Sample Code

cs.au.dk/~toshiya/smallppm.cpp

Page 56: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Based on smallpt by Kevin Beason

Splatting approachUses spatial hashing for range queries

Stores αN instead of N for each measurement pointSave some multiplicationsαN is integer while N is not (avoids precision issue)

Sample Code

Page 57: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Use a cylinder kernel around eye raysProgressive extension of beam radiance estimate [Jarosz et al. 08]Equations for radius reduction stay the sameMore details in Section 5.6 of my dissertation

Participating Media

Page 58: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Use a cylinder kernel around eye raysProgressive extension of beam radiance estimate [Jarosz et al. 08]Equations for radius reduction stay the sameMore details in Section 5.6 of my dissertation

Participating Media

Page 59: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Use a cylinder kernel around eye raysProgressive extension of beam radiance estimate [Jarosz et al. 08]Equations for radius reduction stay the sameMore details in Section 5.6 of my dissertation

Participating Media

Page 60: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Infinite number of photons without storing them- “Path tracing”nization of photon mapping

Robust to specular-diffuse-specular pathsConverges to the correct solutionEasy to implement

Summary

Page 61: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

PPM in the Wild

Page 62: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing

Probabilistic formulation of PPM“How to turn your PM into PPM in a minute!”

Next Talk