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 • smooth at wavelength scale • rough at microscale • fm at at macroscale microsurface macrosurface air dielectric
Microfacet scattering models Incident irradiance E i illuminates i macrosurface area dA from direction i. dA
Microfacet scattering models Incident irradiance E i illuminates d ω o i macrosurface area dA from direction i. o Scattered radiance L r or L t measured in direction o in solid angle d ω o .
Microfacet scattering models Incident irradiance E i illuminates d ω o i macrosurface area dA from direction i. o Scattered radiance L r or L t measured in direction o in solid angle d ω o . f s ( i , o ) = L r,t E i B idirectional S cattering D istribution F unction
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) i o o
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) m = h ( i , o ) Gives the one microsurface normal m that i will scatter light from i to o . o o
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) d ω m Gives the one microsurface normal m that i will scatter light from i to o . d ω o The size of the set of relevant normals d ω m d ω o relative to the receiving solid angle d ω o is determined by h .
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) Measures density of microsurface area with i m respect to microsurface normal. dA
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) Measures density of microsurface area with i m respect to microsurface normal. dA
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) d ω m Measures density of microsurface area with i m respect to microsurface normal. The ratio of relevant microsurface area dA m to macrosurface area dA is D ( m ) d ω m . dA m dA dA m = D ( m ) d ω m dA
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) Measures the fraction of points with i microsurface normal m that are visible o in directions i and o . o dA m = D ( m ) d ω m dA
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) Measures the fraction of points with i microsurface normal m that are visible o in directions i and o . o dA m = D ( m ) d ω m dA
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) Measures the fraction of points with i microsurface normal m that are visible o in directions i and o . o dA m = D ( m ) G ( i , o , m ) d ω m dA
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) Measures the fraction of points with i microsurface normal m that are visible o in directions i and o . We now know the size of the scattering area, which determines how much light re fm ects. o dA m = D ( m ) G ( i , o , m ) d ω m dA
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) Φ i Gives the fraction of the power incident on the scattering area dA m that is scattered. Φ o Φ o o = | i · m | d Φ m | i · n | ρ ( i , o ) dA m dE i dA m = D ( m ) G ( i , o , m ) d ω m dA
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) Φ i Gives the fraction of the power incident on the scattering area dA m that is scattered. Φ o This scattered power is related to the incident irradiance by the attenuation and the scattering area, projected in the Φ o incident direction. o = | i · m | d Φ m | i · n | ρ ( i , o ) dA m dE i dA m = D ( m ) G ( i , o , m ) d ω m dA
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) The BSDF is the ratio of scattered radiance to incident irradiance: = d Φ m f s ( i , o ) = dL o o / ( dA | o · n | d ω o ) dE i dE i o = | i · m | d Φ m | i · n | ρ ( i , o ) dA m dE i dA m = D ( m ) G ( i , o , m ) d ω m dA
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) The BSDF is the ratio of scattered radiance to incident irradiance: | i · m | | i · n | | o · n | ρ ( i , o ) D ( m ) G ( i , o , m ) d ω m f s ( i , o ) = d ω o o = | i · m | d Φ m | i · n | ρ ( i , o ) dA m dE i dA m = D ( m ) G ( i , o , m ) d ω m dA
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) | i · m | | i · n | | o · n | ρ ( i , o ) D ( m ) G ( i , o , m ) d ω m f s ( i , o ) = d ω o
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) Fresnel re fm ection | i · m | | i · n | | o · n | ρ ( i , o ) D ( m ) G ( i , o , m ) d ω m f s ( i , o ) = d ω o
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) Fresnel re fm ection surface roughness | i · m | | i · n | | o · n | ρ ( i , o ) D ( m ) G ( i , o , m ) d ω m f s ( i , o ) = d ω o
“half-vector” function normal distribution shadowing–masking attenuation h ( i , o ) D ( m ) G ( i , o , m ) ρ ( i , o ) Fresnel re fm ection surface roughness | i · m | | i · n | | o · n | ρ ( i , o ) D ( m ) G ( i , o , m ) d ω m f s ( i , o ) = d ω o determined by geometry
Construction of half-vector re fm ection refraction m i o i + o parallel to m
Construction of half-vector re fm ection refraction h r = normalize( i + o ) m i o i + o parallel to m
Construction of half-vector re fm ection refraction h r = normalize( i + o ) m m i i o o i + o parallel to m
Construction of half-vector re fm ection refraction h r = normalize( i + o ) m m i i o n o i + o parallel to m parallel to m i + n o
Construction of half-vector re fm ection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) m m i i o n o i + o parallel to m parallel to m i + n o
Construction of half-vector solid angle re fm ection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) d ω o i o
Construction of half-vector solid angle re fm ection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) o d ω o i o
Construction of half-vector solid angle re fm ection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) d ω o o d ω o i o
Construction of half-vector solid angle re fm ection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) d ω o o d ω o h r i o
Construction of half-vector solid angle re fm ection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) d ω o o d ω m d ω o h r i o d ω m = | o · h r | ⇤ i + o ⇤ 2 d ω o
Construction of half-vector solid angle re fm ection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) d ω o o i d ω m d ω o h r i o o d ω o d ω m = | o · h r | ⇤ i + o ⇤ 2 d ω o
Construction of half-vector solid angle re fm ection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) d ω o o i d ω m d ω o n o h r i o o d ω o d ω m = | o · h r | ⇤ i + o ⇤ 2 d ω o
Construction of half-vector solid angle re fm ection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) d ω o o i d ω m d ω o n o h r i o o n 2 d ω o d ω o d ω m = | o · h r | ⇤ i + o ⇤ 2 d ω o
Construction of half-vector solid angle re fm ection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) d ω o o i d ω m h t d ω o n o h r i o o n 2 d ω o d ω o d ω m = | o · h r | ⇤ i + o ⇤ 2 d ω o
Construction of half-vector solid angle re fm ection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) d ω m d ω o o i d ω m h t d ω o n o h r i o o n 2 d ω o d ω o d ω m = | o · h r | | o · h t | ⇤ i + n o ⇤ 2 n 2 d ω o ⇤ i + o ⇤ 2 d ω o d ω m =
Result: scattering functions re fm ection | i · m | | i · n | | o · n | ρ ( i , o ) D ( m ) G ( i , o , m ) d ω m f s ( i , o ) = d ω o transmission | i · m | | i · n | | o · n | ρ ( i , o ) D ( m ) G ( i , o , m ) d ω m f s ( i , o ) = d ω o
Result: scattering functions re fm ection | i · m | | o · m | f r ( i , o ) = | i · n | | o · n | F ( i , m ) D ( m ) G ( i , o , m ) ⇤ i + o ⇤ 2 transmission | i · m | | i · n | | o · n | ρ ( i , o ) D ( m ) G ( i , o , m ) d ω m f s ( i , o ) = d ω o
Recommend
More recommend