Microfacet models for refraction through rough surfaces Bruce Walter Steve Marschner Hongsong Li Ken Torrance Cornell University Program of Computer Graphics
Diffuse transmission
measured transmission ground glass interface n = 1.51 1 5 10
measured transmission ground glass interface n = 1.51 1 5 10
measured transmission ground glass interface n = 1.51 1 5 10
measured transmission ground glass interface n = 1.51 1 5 10
measured transmission ground glass interface n = 1.51 1 5 10
measured transmission ground glass interface n = 1.51 1 critical angle 5 10
Prior work Microfacet models in graphics • Blinn 1977 introduced Torrance-Sparrow model • Cook & Torrance 1982 Torrance-Sparrow specular • Ashikhmin et al. 2000 microfacet BRDF generator • Stam 2001 skin subsurface scattering model Work outside graphics we build on • Smith 1967 shadowing–masking framework • Nee & Nee 2004 single-interface measurement idea
Contributions Microfacet transmission model • new geometric formulation • clean, simple generalization of reflection Microfacet distribution functions • evaluate three choices against data • new GGX distribution fits some surfaces better Importance sampling Measurement and validation • single interface transmission
Microfacet scattering models Assumptions • rough dielectric surface • single scattering microsurface macrosurface air m n dielectric
Microfacet reflection models E i Incident irradiance E i illuminates i macrosurface area dA from direction i. dA
Microfacet reflection models E i Incident irradiance E i illuminates d ω o i macrosurface area dA from direction i. o L r Reflected radiance L r measured at direction o in solid angle dω o . B idirectional R eflectance D istribution F unction: f r ( i , o ) = L r E i
Microfacet reflection models E i Incident irradiance E i illuminates i macrosurface area dA from direction i. Reflected radiance L r measured at o direction o in solid angle dω o . L t d ω o B idirectional R eflectance D istribution F unction: f r ( i , o ) = L r E i B idirectional T ransmittance D istribution F unction: f t ( i , o ) = L t E i
Reflection to transmission Traditional microfacet reflection model: f r ( i , o ) = F ( i , m ) D ( m ) G ( i , o , m ) 4 | i · n | | o · n |
Reflection to transmission Traditional microfacet reflection model: optical geometric f r ( i , o ) = F ( i , m ) D ( m ) G ( i , o , m ) 4 | i · n | | o · n | We generalize the geometric analysis dealing with the surface area where scattering occurs.
“half-vector” function normal distribution shadowing–masking h ( i , o ) D ( m ) G ( i , o , m ) i o
“half-vector” function normal distribution shadowing–masking h ( i , o ) D ( m ) G ( i , o , m ) h gives the one microsurface normal m that will scatter light from i to o . i o
“half-vector” function normal distribution shadowing–masking h ( i , o ) D ( m ) G ( i , o , m ) h gives the one microsurface normal m m = h ( i , o ) that will scatter light from i to o . m i • selects m o
“half-vector” function normal distribution shadowing–masking h ( i , o ) D ( m ) G ( i , o , m ) d ω m h gives the one microsurface normal m m = h ( i , o ) that will scatter light from i to o . m i • selects m • determines size of dω m o d ω o
“half-vector” function normal distribution shadowing–masking h ( i , o ) D ( m ) G ( i , o , m ) d ω m h gives the one microsurface normal m that will scatter light from i to o . m i o
“half-vector” function normal distribution shadowing–masking h ( i , o ) D ( m ) G ( i , o , m ) d ω m h gives the one microsurface normal m that will scatter light from i to o . m i D measures density of microsurface area with respect to microsurface normal m . o
“half-vector” function normal distribution shadowing–masking h ( i , o ) D ( m ) G ( i , o , m ) d ω m h gives the one microsurface normal m that will scatter light from i to o . m i D measures density of microsurface area with respect to microsurface normal m . o dA m dA dA m = ) D ( m ) d ω m dA
“half-vector” function normal distribution shadowing–masking h ( i , o ) D ( m ) G ( i , o , m ) d ω m h gives the one microsurface normal m that will scatter light from i to o . m i D measures density of microsurface area with respect to microsurface normal m . o G measures the fraction of points with microsurface normal m that are visible. dA m dA dA m = ) D ( m ) d ω m dA
“half-vector” function normal distribution shadowing–masking h ( i , o ) D ( m ) G ( i , o , m ) d ω m h gives the one microsurface normal m that will scatter light from i to o . m i D measures density of microsurface area with respect to microsurface normal m . o G measures the fraction of points with microsurface normal m that are visible. dA m dA dA m = = G ( i , o , m ) ) D ( m ) d ω m dA
“half-vector” function normal distribution shadowing–masking h ( i , o ) D ( m ) G ( i , o , m ) For reflection or transmission: | i · m | | i · n | | o · n | ρ ( i , o ) dA m f s ( i , o ) = dA d ω o dA m = G ( i , o , m ) D ( m ) d ω m dA
“half-vector” function normal distribution shadowing–masking h ( i , o ) D ( m ) G ( i , o , m ) For reflection or transmission: | i · m | | i · n | | o · n | ρ ( i , o ) D ( m ) G ( i , o , m ) d ω m f s ( i , o ) = d ω o dA m = G ( i , o , m ) D ( m ) d ω m dA
“half-vector” function normal distribution shadowing–masking h ( i , o ) D ( m ) G ( i , o , m ) For reflection or transmission: easy to generalize | i · m | | i · n | | o · n | ρ ( i , o ) D ( m ) G ( i , o , m ) d ω m f s ( i , o ) = d ω o dA m = G ( i , o , m ) D ( m ) d ω m dA
“half-vector” function normal distribution shadowing–masking h ( i , o ) D ( m ) G ( i , o , m ) For reflection or transmission: easy to generalize | i · m | | i · n | | o · n | ρ ( i , o ) D ( m ) G ( i , o , m ) d ω m f s ( i , o ) = d ω o key contribution dA m = G ( i , o , m ) D ( m ) d ω m dA
Construction of half-vector reflection refraction m i o i + o parallel to m
Construction of half-vector reflection refraction h r = normalize( i + o ) m i o i + o parallel to m
Construction of half-vector reflection refraction h r = normalize( i + o ) m m i i o o i + o parallel to m
Construction of half-vector reflection refraction h r = normalize( i + o ) m m i i o n o i + o parallel to m i + n o parallel to m
Construction of half-vector reflection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) m m i i o n o i + o parallel to m i + n o parallel to m
Construction of half-vector solid angle reflection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) d ω o i o
Construction of half-vector solid angle reflection refraction h r = normalize( i + o ) h t = − normalize( i + n o ) o d ω o i o
Construction of half-vector solid angle reflection 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 reflection 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 reflection 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 reflection 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 reflection 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 reflection 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 reflection 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 reflection 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 reflection | 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 reflection | i · n | | o · n | F ( i , h r ) D ( h r ) G ( i , o , h r ) | o · h r | | i · h r | f r ( i , o ) = � 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