CSE
557 Computer Graphics
Final Project
Tao
Xie
A
reflectance model describes the intensity and spectral composition of the
reflected light reaching the observer. A bidirectional reflectance
distribution function (BRDF) is a function of the incident and reflected
angles of a ray of light that describes the ratio of the incident irradiance
of the reflected radiance. In this project, I extended the raytracer which was
developed by Jia-Chi Wu, Wilmot Li and me in project 2 to support the
distribution ray tracing using BRDF. The old raytracer has implemented some
distribution ray tracing techniques, including the glossy reflection, soft
shadow and depth of field. What I did in this project was to improve the
glossy reflection by using BRDF in addition to adding the functionality of
glossy refraction.
In this project, I implemented several BRDF models which are selected from currently popular ones. In general, different models are useful for modeling the reflectance characteristics of different types of materials.
Properties of BRDFs
Isotropic BRDFs vs. Anisotropic BRDFs [1]: The isotrpic property is to describe BRDFs that represent reflectance properties that are invariant with respect to rotation of surface around the surface normal vector. Materials with this characteristic such as smooth plastics have isotropic BRDFs. Anisotropy, on the other hand, refers to BRDFs that describe reflectance properties that do exhibit change with respect to rotation of the surface around the surface normal vector. Some examples of materials that have anisotropic BRDFs are brushed metal, satin, and hair.
Reciprocity and Conservation of Energy [1]: Based on physical laws and considered to be physically plausible, BRDFs have two properties: reciprocity and conservation of energy. The reciprocity property says that if the sense of the traveling light is reversed, say, swapping the incoming and outgoing directions, the value of the BRDF remains unchanged. Conservation of energy property states that the total quantity of scattering light during the light-matter interaction cannot exceed the original quantity of light arriving at the surface.
Ward's BRDF model [2] is good at modeling the reflectance properties of surfaces demonstrating a good deal of anisotropy, such as brushed metal and stringed Christmas tree ornaments.
Lafortune's BRDF model [3] can satisfactorily represent the directional-diffuse from roughened metals and paints.
Cook-Torrance's BRDF model [4] is often used to simulate the reflectance models of metals and plastics.
Implementation of glossy
reflection: Glossy reflection also
involved creating jitter rays for specular reflection direction. Given the
usual specular reflection ray, I replace it with a small distribution of rays
around that reflection direction. And then each jittered ray is weighted by
the value of BRDF function. We derive the reflection light color by averaging
these weighted value of jittered reflection rays.
Toy artifacts:
(Recursive Depth: 3; Image Size: 225; Global Ambient: 0.9; Glossy Reflection Glossiness: 4.31; Samples: 3 ; Adaptive Anti-Aliasing Depth: 2)
(Hint of differences: One of the apparent differences is in the white pot on the body just below the right eye.)
Click here or following small artifacts to see larger size artifacts comparison
Without Glossy Reflection |
Glossy Reflection without BRDF |
![]() Glossy Reflection with |
![]() Glossy Reflection with |
Glossy Reflection
with |
BRDF function parameters:
Ward: Roughness in X: 0.05; Roughness in Y: 0.3; Specular Reflectivity: 0.05; Diffuse Reflectivitiy: 0.4
Lafortune: Cx Parameters: -1.0; Cy Parameters: -1.0; Cz Parameter: 0.95; Cosine exponent: 20
Cook-Torrance: Surface Roughness: 0.08; Index of Refraction (real part): 1.6; (imaginary part): 0.2; Specular Reflectivity: 0.6; Diffuse Reflectivity: 0.4;
We could adjust the parameters of the BRDF functions:
|
|
Plastic artifacts:
For all artifacts:
(Recursive Depth: 3; Image Size: 442; Global
Ambient: 1.0; ; Adaptive Anti-Aliasing
Depth: 2, soft shadow)
For all glossy reflection artifacts:
Glossy Reflection Glossiness: 5; Samples: 5
Click here or following small artifacts to see larger size artifacts comparison
![]()
|
![]() Glossy Reflection |
![]() Glossy Reflection with |
![]() Glossy Reflection with |
![]() Glossy Reflection
with |
Recursive Depth: 3; Image Size: 250; Global Ambient: 0.8; Adaptive Anti-Aliasing Depth: 2; Glossy Reflection Glossiness: 5; Samples: 2;
Click here or following small artifacts to see larger size artifacts comparison
![]() Without glossy refraction |
References:
[1] Chris Wynn, An Introduction to BRDF-Based Lighting, tutorial, NVIDIA Corportation
[2] Gregory J. Ward. Measuring and Modeling Anistropic Reflection. Computer Graphics 26(2) (SIGGRAPH '92 Proceedings).
[3] Eric Lafortune, Sing-Choong Foo, Kenneth E. Torrance, Donald P. Greenberg. Non-Linear Approximation of Reflectance Functions. August 1997. SIGGRAPH 97 Conference Proceedings, Los Angeles, California, pp. 117-126.
[4] Robert L. Cook, Kenneth E. Torrance. A Reflectance Model for Computer Graphics. ACM Transactions on Graphics, Vol. 1, No. 1, January 1982, Pages 7-24.
Created by taoxie@cs.washington.edu