Microfacet models for re fm ection and refraction Steve Marschner - - PowerPoint PPT Presentation

microfacet models for re fm ection and refraction
SMART_READER_LITE
LIVE PREVIEW

Microfacet models for re fm ection and refraction Steve Marschner - - PowerPoint PPT Presentation

Microfacet models for re fm ection and refraction Steve Marschner Cornell University CS 5625 Spring 2016 (based on presentation for Walter, Marschner, Li, and Torrance EGSR 07) Microfacet scattering models Rough dielectric surface


slide-1
SLIDE 1

Microfacet models for refmection and refraction

Steve Marschner Cornell University CS 5625 Spring 2016

(based on presentation for
 Walter, Marschner, Li, and Torrance EGSR ’07)

slide-2
SLIDE 2

air dielectric microsurface macrosurface

Microfacet scattering models

Rough dielectric surface

  • smooth at wavelength scale
  • rough at microscale
  • fmat at macroscale
slide-3
SLIDE 3

Microfacet scattering models

Incident irradiance Ei illuminates macrosurface area dA from direction i.

i dA

slide-4
SLIDE 4

Microfacet scattering models

Incident irradiance Ei illuminates macrosurface area dA from direction i. Scattered radiance Lr or Lt measured in direction o in solid angle dωo.

dωo

  • i
slide-5
SLIDE 5

Microfacet scattering models

Incident irradiance Ei illuminates macrosurface area dA from direction i. Scattered radiance Lr or Lt measured in direction o in solid angle dωo.

dωo

  • i

fs(i, o) = Lr,t Ei

Bidirectional Scattering Distribution Function

slide-6
SLIDE 6

i

  • G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

slide-7
SLIDE 7

Gives the one microsurface normal m that will scatter light from i to o.

i

  • G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

m = h(i, o)

slide-8
SLIDE 8

Gives the one microsurface normal m that will scatter light from i to o.

i

The size of the set of relevant normals dωm relative to the receiving solid angle dωo is determined by h.

G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

dωo dωo dωm

slide-9
SLIDE 9

Measures density of microsurface area with respect to microsurface normal.

dA G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

m

i

slide-10
SLIDE 10

Measures density of microsurface area with respect to microsurface normal.

dA G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

m

i

slide-11
SLIDE 11

Measures density of microsurface area with respect to microsurface normal.

dAm = D(m) dωm dA dA dAm G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

dωm m

i

The ratio of relevant microsurface area dAm to macrosurface area dA is D(m)dωm.

slide-12
SLIDE 12

Measures the fraction of points with microsurface normal m that are visible in directions i and o.

G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

dAm = D(m) dωm dA

i

slide-13
SLIDE 13

Measures the fraction of points with microsurface normal m that are visible in directions i and o.

G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

dAm = D(m) dωm dA

i

slide-14
SLIDE 14

Measures the fraction of points with microsurface normal m that are visible in directions i and o.

dAm = D(m) G(i, o, m) dωm dA G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

i

slide-15
SLIDE 15

Measures the fraction of points with microsurface normal m that are visible in directions i and o.

dAm = D(m) G(i, o, m) dωm dA G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

i

  • We now know the size of the scattering area,

which determines how much light refmects.

slide-16
SLIDE 16

Gives the fraction of the power incident on the scattering area dAm that is scattered.

Φi Φo Φo G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

dAm = D(m) G(i, o, m) dωm dA dΦm

  • = |i · m|

|i · n| ρ(i, o) dAmdEi

slide-17
SLIDE 17

Gives the fraction of the power incident on the scattering area dAm that is scattered.

Φi Φo Φo G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

dAm = D(m) G(i, o, m) dωm dA

This scattered power is related to the incident irradiance by the attenuation and the scattering area, projected in the incident direction.

dΦm

  • = |i · m|

|i · n| ρ(i, o) dAmdEi

slide-18
SLIDE 18

G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

dAm = D(m) G(i, o, m) dωm dA

The BSDF is the ratio of scattered radiance to incident irradiance:

dΦm

  • = |i · m|

|i · n| ρ(i, o) dAmdEi fs(i, o) = dLo dEi = dΦm

  • /(dA |o · n| dωo)

dEi

slide-19
SLIDE 19

G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

dAm = D(m) G(i, o, m) dωm dA

The BSDF is the ratio of scattered radiance to incident irradiance:

fs(i, o) = |i · m| |i · n| |o · n| ρ(i, o) D(m) G(i, o, m) dωm dωo dΦm

  • = |i · m|

|i · n| ρ(i, o) dAmdEi

slide-20
SLIDE 20

G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

fs(i, o) = |i · m| |i · n| |o · n| ρ(i, o) D(m) G(i, o, m) dωm dωo

slide-21
SLIDE 21

G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

fs(i, o) = |i · m| |i · n| |o · n| ρ(i, o) D(m) G(i, o, m) dωm dωo

Fresnel refmection

slide-22
SLIDE 22

G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

fs(i, o) = |i · m| |i · n| |o · n| ρ(i, o) D(m) G(i, o, m) dωm dωo

surface roughness Fresnel refmection

slide-23
SLIDE 23

G(i, o, m)

shadowing–masking

D(m)

normal distribution

h(i, o)

“half-vector” function

ρ(i, o)

attenuation

fs(i, o) = |i · m| |i · n| |o · n| ρ(i, o) D(m) G(i, o, m) dωm dωo

determined by geometry surface roughness Fresnel refmection

slide-24
SLIDE 24

i

  • m

i + o parallel to m

Construction of half-vector

refmection refraction

slide-25
SLIDE 25

i

  • m

i + o parallel to m

Construction of half-vector

refmection refraction

hr = normalize(i + o)

slide-26
SLIDE 26

i

  • m

i

  • m

i + o parallel to m

Construction of half-vector

refmection refraction

hr = normalize(i + o)

slide-27
SLIDE 27

i

  • m

i

m i + o parallel to m

Construction of half-vector

no

parallel to m

i + no

refmection refraction

hr = normalize(i + o)

slide-28
SLIDE 28

i

  • m

i

m i + o parallel to m

Construction of half-vector

no

parallel to m

i + no

refmection refraction

hr = normalize(i + o) ht = −normalize(i + no)

slide-29
SLIDE 29

i

  • dωo

refmection refraction

Construction of half-vector solid angle

hr = normalize(i + o) ht = −normalize(i + no)

slide-30
SLIDE 30

i

  • dωo

refmection refraction

Construction of half-vector solid angle

hr = normalize(i + o) ht = −normalize(i + no)

slide-31
SLIDE 31

i

  • dωo

refmection refraction

Construction of half-vector solid angle

hr = normalize(i + o) ht = −normalize(i + no) dωo

slide-32
SLIDE 32

i

  • dωo

refmection refraction

Construction of half-vector solid angle

hr = normalize(i + o) ht = −normalize(i + no) hr dωo

slide-33
SLIDE 33

i

  • dωo

refmection refraction

Construction of half-vector solid angle

hr = normalize(i + o) ht = −normalize(i + no) hr dωm = |o · hr| ⇤i + o⇤2 dωo dωm dωo

slide-34
SLIDE 34

i

  • i
  • dωo

refmection refraction

Construction of half-vector solid angle

hr = normalize(i + o) ht = −normalize(i + no) hr dωm = |o · hr| ⇤i + o⇤2 dωo dωm dωo dωo

slide-35
SLIDE 35

i

  • i
  • dωo

refmection refraction

Construction of half-vector solid angle

hr = normalize(i + o) ht = −normalize(i + no) hr dωm = |o · hr| ⇤i + o⇤2 dωo dωm

no

dωo dωo

slide-36
SLIDE 36

i

  • i
  • dωo

refmection refraction

Construction of half-vector solid angle

hr = normalize(i + o) ht = −normalize(i + no) hr n2dωo dωm = |o · hr| ⇤i + o⇤2 dωo dωm

no

dωo dωo

slide-37
SLIDE 37

i

  • i
  • ht

dωo

refmection refraction

Construction of half-vector solid angle

hr = normalize(i + o) ht = −normalize(i + no) hr n2dωo dωm = |o · hr| ⇤i + o⇤2 dωo dωm

no

dωo dωo

slide-38
SLIDE 38

i

  • i
  • ht

dωo

refmection refraction

Construction of half-vector solid angle

hr = normalize(i + o) ht = −normalize(i + no) hr n2dωo dωm = |o · hr| ⇤i + o⇤2 dωo dωm

no

dωm dωo dωo

  • dωm =

|o · ht| ⇤i + no⇤2 n2dωo

slide-39
SLIDE 39

Result: scattering functions

refmection transmission

fs(i, o) = |i · m| |i · n| |o · n| ρ(i, o) D(m) G(i, o, m) dωm dωo fs(i, o) = |i · m| |i · n| |o · n| ρ(i, o) D(m) G(i, o, m) dωm dωo

slide-40
SLIDE 40

Result: scattering functions

fr(i, o) = |i·m| |i·n| |o·n| F(i, m) D(m) G(i, o, m) |o·m| ⇤i + o⇤2

refmection transmission

fs(i, o) = |i · m| |i · n| |o · n| ρ(i, o) D(m) G(i, o, m) dωm dωo

slide-41
SLIDE 41

Result: scattering functions

ft(i, o) = |i·m| |i·n| |o·n| (1 F(i, m)) D(m) G(i, o, m) n2|o·m| ⌅i + no⌅2 fr(i, o) = |i·m| |i·n| |o·n| F(i, m) D(m) G(i, o, m) |o·m| ⇤i + o⇤2

refmection transmission

slide-42
SLIDE 42

Result: scattering functions

ft(i, o) = |i·m| |i·n| |o·n| (1 F(i, m)) D(m) G(i, o, m) n2|o·m| ⌅i + no⌅2 fr(i, o) = |i·m| |o·m| |i·n| |o·n| F(i, m) D(m) G(i, o, m) ⇤i + o⇤2

refmection transmission

slide-43
SLIDE 43

Result: scattering functions

ft(i, o) = |i·m| |o·m| |i·n| |o·n| n2(1 F(i, m)) D(m) G(i, o, m) ⌅i + no⌅2 fr(i, o) = |i·m| |o·m| |i·n| |o·n| F(i, m) D(m) G(i, o, m) ⇤i + o⇤2

refmection transmission

slide-44
SLIDE 44

Result: scattering functions

ft(i, o) = |i·m| |o·m| |i·n| |o·n| n2(1 F(i, m)) D(m) G(i, o, m) ⌅i + no⌅2

refmection transmission

fr(i, o) = 1 |i·n| |o·n| F(i, m) D(m) G(i, o, m) 4

slide-45
SLIDE 45

Result: scattering functions

fr(i, o) = F(i, m) D(m) G(i, o, m) 4|i·n| |o·n| ft(i, o) = |i·m| |o·m| |i·n| |o·n| n2(1 F(i, m)) D(m) G(i, o, m) ⌅i + no⌅2

refmection transmission

slide-46
SLIDE 46

Fresnel refmectance

Glassner, Principles of Digital Image Synthesis

slide-47
SLIDE 47

Fresnel refmectance

Glassner, Principles of Digital Image Synthesis

slide-48
SLIDE 48

8 20 –20 40 –40

Normal distributions

Phong

Choice of distribution is determined by surface

  • Phong, Beckman are popular choices
  • “GGX” distribution is another option
  • [Smith 67] gives a way to produce smooth Gs

D(θm)

slide-49
SLIDE 49

8 20 –20 40 –40

Normal distributions

Phong Beckman

Choice of distribution is determined by surface

  • Phong, Beckman are popular choices
  • “GGX” distribution is another option
  • [Smith 67] gives a way to produce smooth Gs

D(θm)

slide-50
SLIDE 50

8 20 –20 40 –40

Normal distributions

Phong Beckman GGX (new)

Choice of distribution is determined by surface

  • Phong, Beckman are popular choices
  • “GGX” distribution is another option
  • [Smith 67] gives a way to produce smooth Gs

D(θm)

slide-51
SLIDE 51

8 20 –20 40 –40

Normal distributions

Phong Beckman GGX (new)

Choice of distribution is determined by surface

  • Phong, Beckman are popular choices
  • “GGX” distribution is another option
  • [Smith 67] gives a way to produce smooth Gs

1 90 –90

D(θm) G1(θi,o)