Reflectance Models CS 319 Advanced Topics in Computer Graphics John C. Hart
Reflectance Models Phong/Blinn –Diffuse using Lambertian model –Specular using a hack Cook-Torrance –Specular –Useful for metals, sheens Seeliger –Diffuse –Skin, softer than Lambertian Hair –Anisotropic –Uses grain direction
Vectors N L R V N – Normal L – Source V – View R – Reflection H – Halfway R = 2(N L)N – L H = (V+L)/||V+L|| H (R)(R) (L)(L) x
Phong and Blinn Phong L(V) = k a L a + k d L i (N L) + k s L i (V R) n Blinn L(V) = k a L a + k d L i (N L) + k s L i (N H) n In general ignore ambient term and assume a diffuse/specular decomposition
Cook-Torrance Models specular BRDF component F – Fresnel term D – Roughness term G – Geometry term
Fresnel Term Derived from Maxwells equations Coefficients r – angle of reflection w.r.t. H t – angle of transmission w.r.t. H c = cos r = L H = V H g 2 = 2 + c 2 – 1 Index of refraction actually complex!
Fresnel Effect Normal incident light reflects color of surface Tangential incident light reflects color of light Reflectivity increases as incidence becomes more tangential
Roughness Term Statistical model of light reflectance Centered around reflection direction R Blinn model Beckman function = N H) m
Geometry Term Shadowing –Incident light does not reach material G s = 2(N H)(N V)/(V H) Masking –Reflected light does not reach viewer G m = 2(N H)(N L)/(V H) Use minimum G m = min G s, G m
Seeliger f r = N L/(N L + N V) Model for diffuse reflectance from skin Softer appearance than Lambertian Derived from first principles Used as a basis for multilayer shading See Hanrahan & Krueger SIGGRAPH 93
Hair Anisotropic Uses tangent vector T Diffuse anisotropic f d = sin(T,L) Specular anisotropic f s = (T L) (T V) + sin(T,L) sin(T,V) T LL