Distribution Ray Tracing

Extending the Raytracer:
 Bidirectional Reflectance Distribution Function (BRDF)

CSE 557 Computer Graphics 
Final Project
Tao Xie 

1. Introduction

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.

2. Bidirectional Reflectance Distribution Function (BRDF) - Glossy Reflection

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.
 

Comparison of the Results:

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
Ward BRDF

Glossy Reflection with
Lafortune
BRDF

 Glossy Reflection with
 
Cook-Torrance BRDF

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:


The Ward function's    
Specular  reflectivity: 0.1
Diffuse reflectivity:  0.8   


The Ward function's    
Specular  reflectivity: 0.0
Diffuse reflectivity:  0.1 

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


W
ithout glossy reflection. 

Glossy Reflection 
without BRDF

Glossy Reflection with
Ward BRDF

Glossy Reflection with
Lafortune
BRDF

Glossy Reflection with
 Cook-Torrance BRDF

3. Glossy Refraction

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     


With glossy refraction
(Glossiness: 5; Samples: 7)

 

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