Experimental Analysis of BRDF Models

Addy Ngan - MIT CSAIL
Frédo Durand - MIT CSAIL
Wojciech Matusik - MERL

Proceedings of the Eurographics Symposium on Rendering 2005 (Bibtex) (Slides)


The Bidirectional Reflectance Distribution Function (BRDF) describes the appearance of a material by its interaction with light at a surface point. A variety of analytical models have been proposed to represent BRDFs. However, analysis of these models has been scarce due to the lack of high-resolution measured data. In this work we evaluate several well-known analytical models in terms of their ability to fit measured BRDFs. We use an existing high-resolution data set of a hundred isotropic materials and compute the best approximation for each analytical model. Furthermore, we have built a new setup for efficient acquisition of anisotropic BRDFs, which allows us to acquire anisotropic materials at high resolution. We have measured four samples of anisotropic materials (brushed aluminum, velvet, and two satins). Based on the numerical errors, function plots, and rendered images we provide insights into the performance of the various models. We conclude that for most isotropic materials physically-based analytic reflectance models can represent their appearance quite well. We illustrate the important difference between the two common ways of defining the specular lobe: around the mirror direction and with respect to the half-vector. Our evaluation shows that the latter gives a more accurate shape for the reflection lobe. Our analysis of anisotropic materials indicates current parametric reflectance models cannot represent their appearances faithfully in many cases. We show that using a sampled microfacet distribution computed from measurements improves the fit and qualitatively reproduces the measurements.


paper pdf (10.5MB)
supplemental document pdf (52.6MB)
powerpoint slides online, pdf (1.8MB), ppt (9.9MB)
Data (Anisotropic)  
Brushed aluminum zip (97.3 MB)
Yellow satin zip (173 MB)
Purple satin zip (172 MB)
Red velvet zip (162 MB)
MATLAB code to read data read_brdf.m
Data (Isotropic) Please contact Wojciech Matusik.

Anisotropic BRDF Data File Format

The uncompressed data file includes a 64-byte header, followed by the tabulated BRDF data (row-major ordered): 3 (RGB) x dim[0] x dim[1] x dim[2] x dim[3] x (4 bytes per float).

Header description (64 bytes => 16 integers):

Index Name Description
0 dim[0] Number of bins for the 0th dimension
1 dim[1] Number of bins for the 1st dimension
2 dim[2] Number of bins for the 2nd dimension
3 dim[3] Number of bins for the 3rd dimension
4 reserved  
5 reserved  
6 paramType 0 - reserved, 1 - Standard Parameterization
7 binType 0 - Uniform binning, 1 - reserved
8 reserved  
9 half_data 0 - phi_diff range [0..2pi], 1 - phi_diff range [0..pi]
10 num_channels always 3 (RGB)
11 reserved  
12 reserved  
13 reserved  
14 reserved  
15 reserved  

For standard parameterization, dim[0..3] correspond to [ theta_in, theta_out, phi_diff, phi_in ]. Range: theta_in, theta_out - [0..pi/2], phi_in [0..2pi], phi_diff - [0..pi] if half_data==1, [0..2pi] if half_data==0.

Bins without (reliable) measurements are filled with negative values and should be ignored when using the data.


We thank Eric Chan, Jan Kautz, Jaakko Lehtinen, Daniel Vlasic and the anonymous reviewers for valuable feedback on this paper. This work was supported by an NSF CAREER award 0447561 Transient Signal Processing for Realistic Imagery, an NSF CISE Research Infrastructure Award (EIA9802220) and the Singapore-MIT Alliance.

Copyright Notice

Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or direct commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation.  All rights reserved.

Back to research page