Computer graphics specifications and resources for public use.
Cornell Box Data
Photographic Images
We have made high-quality pictures of the Cornell box in its current configuration. The liquid-cooled Photometrics PXL1300L CCD camera has a precision of 12 bits. We used 7 narrow-band filters to get a coarse sampling across the visible spectrum. Dark current has been subtracted from the images, and flat-field correction has been applied to account for the cosine fall-off and the lens fall-off. The following data are available:
- IPLab images The images are collected in a compressed tar file (10 MB compressed, 18 MB uncompressed!). They are in IPLab format, which can be read using a simple Matlab function iplab_read.
- TIFF images The images are available in TIFF files, with 16 bits per pixel. This format can be read by a number of applications, including Photoshop. There is a choice of either a compressed tar archive (about 10MB compressed, 18MB uncompressed) or a ZIP archive (about 10MB).
- OpenEXR images The images are also available in the OpenEXR high-dynamic-range image format. Each pixel is represented as a 15-bit floating-point number with a 10-bit mantissa and 5-bit exponent. There is a choice of either an uncompressed tar archive (about 8MB, gzip compression shrinks it by only 0.4%) or a ZIP archive (about 8MB).
- Transmission spectra of the 7 corresponding filters, the lens system, and the response spectrum of the camera are available from our page with measurement data below.
Synthetic Images
A synthetic image file, generated from the data below, is available in two formats:
- As a jpeg file
- As an rgbe file. RGBE is a floating point image format for which the specifications and I/O functions are available below
Scene Data
The reflectance data and the geometric data for the Cornell Box (with diffuse objects) are presented below.
| Position | 278 273 -800 |
|---|---|
| Direction | 0 0 1 |
| Up direction | 0 1 0 |
| Focal length | 0.035 |
| Width, height | 0.025 0.025 |
| Wavelength | white | green | red |
|---|---|---|---|
| 400 | 0.343 | 0.092 | 0.040 |
| 404 | 0.445 | 0.096 | 0.046 |
| 408 | 0.551 | 0.098 | 0.048 |
| 412 | 0.624 | 0.097 | 0.053 |
| 416 | 0.665 | 0.098 | 0.049 |
| 420 | 0.687 | 0.095 | 0.050 |
| 424 | 0.708 | 0.095 | 0.053 |
| 428 | 0.723 | 0.097 | 0.055 |
| 432 | 0.715 | 0.095 | 0.057 |
| 436 | 0.710 | 0.094 | 0.056 |
| 440 | 0.745 | 0.097 | 0.059 |
| 444 | 0.758 | 0.098 | 0.057 |
| 448 | 0.739 | 0.096 | 0.061 |
| 452 | 0.767 | 0.101 | 0.061 |
| 456 | 0.777 | 0.103 | 0.060 |
| 460 | 0.765 | 0.104 | 0.062 |
| 464 | 0.751 | 0.107 | 0.062 |
| 468 | 0.745 | 0.109 | 0.062 |
| 472 | 0.748 | 0.112 | 0.061 |
| 476 | 0.729 | 0.115 | 0.062 |
| 480 | 0.745 | 0.125 | 0.060 |
| 484 | 0.757 | 0.140 | 0.059 |
| 488 | 0.753 | 0.160 | 0.057 |
| 492 | 0.750 | 0.187 | 0.058 |
| 496 | 0.746 | 0.229 | 0.058 |
| 500 | 0.747 | 0.285 | 0.058 |
| 504 | 0.735 | 0.343 | 0.056 |
| 508 | 0.732 | 0.390 | 0.055 |
| 512 | 0.739 | 0.435 | 0.056 |
| 516 | 0.734 | 0.464 | 0.059 |
| 520 | 0.725 | 0.472 | 0.057 |
| 524 | 0.721 | 0.476 | 0.055 |
| 528 | 0.733 | 0.481 | 0.059 |
| 532 | 0.725 | 0.462 | 0.059 |
| 536 | 0.732 | 0.447 | 0.058 |
| 540 | 0.743 | 0.441 | 0.059 |
| 544 | 0.744 | 0.426 | 0.061 |
| 548 | 0.748 | 0.406 | 0.061 |
| 552 | 0.728 | 0.373 | 0.063 |
| 556 | 0.716 | 0.347 | 0.063 |
| 560 | 0.733 | 0.337 | 0.067 |
| 564 | 0.726 | 0.314 | 0.068 |
| 568 | 0.713 | 0.285 | 0.072 |
| 572 | 0.740 | 0.277 | 0.080 |
| 576 | 0.754 | 0.266 | 0.090 |
| 580 | 0.764 | 0.250 | 0.099 |
| 584 | 0.752 | 0.230 | 0.124 |
| 588 | 0.736 | 0.207 | 0.154 |
| 592 | 0.734 | 0.186 | 0.192 |
| 596 | 0.741 | 0.171 | 0.255 |
| 600 | 0.740 | 0.160 | 0.287 |
| 604 | 0.732 | 0.148 | 0.349 |
| 608 | 0.745 | 0.141 | 0.402 |
| 612 | 0.755 | 0.136 | 0.443 |
| 616 | 0.751 | 0.130 | 0.487 |
| 620 | 0.744 | 0.126 | 0.513 |
| 624 | 0.731 | 0.123 | 0.558 |
| 628 | 0.733 | 0.121 | 0.584 |
| 632 | 0.744 | 0.122 | 0.620 |
| 636 | 0.731 | 0.119 | 0.606 |
| 640 | 0.712 | 0.114 | 0.609 |
| 644 | 0.708 | 0.115 | 0.651 |
| 648 | 0.729 | 0.117 | 0.612 |
| 652 | 0.730 | 0.117 | 0.610 |
| 656 | 0.727 | 0.118 | 0.650 |
| 660 | 0.707 | 0.120 | 0.638 |
| 664 | 0.703 | 0.122 | 0.627 |
| 668 | 0.729 | 0.128 | 0.620 |
| 672 | 0.750 | 0.132 | 0.630 |
| 676 | 0.760 | 0.139 | 0.628 |
| 680 | 0.751 | 0.144 | 0.642 |
| 684 | 0.739 | 0.146 | 0.639 |
| 688 | 0.724 | 0.150 | 0.657 |
| 692 | 0.730 | 0.152 | 0.639 |
| 696 | 0.740 | 0.157 | 0.635 |
| 700 | 0.737 | 0.159 | 0.642 |
Surfaces are assumed to be Lambertian. The reflectance spectra have been measured at discrete wavelengths (in nm).
The light source is approximated as having a constant reflectance of 0.78, and the following emission spectrum:
| Wavelength | light |
|---|---|
| 400.0 | 0.0 |
| 500.0 | 8.0 |
| 600.0 | 15.6 |
| 700.0 | 18.4 |
The geometry has been measured from the physical Cornell Box. The surfaces are therefore not perfectly perpendicular. All surfaces are quadrilaterals. They are specified below by their vertices.
| ||||||||||||||||||||||||||||
Measurement Data
The Light Measurement Laboratory has a library of optical data which is accessible here. Most data were measured in our laboratory; data from other sources is identified as such.
We have accumulated wavelength spectra for several light sources; all but one spectrum were measured in our lab:

intsphere.mat: the spectrum of the Labsphere SC-5000/USS-1200 integrating sphere with halogen light bulbs. This is not measured data: it is a resampling of calibration data from Labsphere. It formed the calibration basis for the measurement of all other source data here.
The following spectra are relative only; their scales are arbitrary. They have been measured using an Oriel Multispec spectroradiometer, which was calibrated using the Labsphere calibrated integrating sphere above. The detector provides 1024 discrete wavelength samples.

bulbs.mat: the spectra of General Electric incandescent light bulbs "GE Super Soft, Soft White" (60W,100W,100W).

lowel.mat: the spectrum of a 1000W Lowel tungsten light source.

flash.mat: the spectrum of a Nikon SB-16 xenon flash.

boxsource.mat: the spectrum of the light source in the Cornell box (tungsten flood light with UV filter and diffusing glass plate).
These spectra were measured with an Optronics OL-750 measurement system.

filters.mat: the transmission spectra of the Melles Griot Visible 80 Filter Set (02, 04, 06, 08, 12, 14, 16) (measured).

lens.mat: the transmission spectrum of a Nikon 55mm lens.
Wavelength sensitivity for various cameras is available. These data were not measured in our lab:

camera.mat: the manufacturer's response curve of the Photometrics PXL1300L CCD camera (Quantum Efficiency).

DCS.mat: the response curves of the Kodak DCS420 camera (published by HP Labs).
We have measured reflectance data for a variety of surfaces, using both our gonioreflectometer and our image-based BRDF measurement technique.
Most of our BRDF data were measured using our custom-built gonioreflectometer. For each pair of incident and reflection directions, we measured two polarizations. The polarized measurements are combined into unpolarized data to account for the polarization bias of the setup. The 1024 original wavelength samples are filtered down to 65 or 31 wavelengths, with 5 or 10nm intervals between 400 and 700nm. Note that the measurements are noisy at short wavelengths and for grazing angles, where the signal is weak. For smooth surfaces, the specular reflection causes a spike in the mirror directions, which is not necessarily an accurate representation of this peak. Some data sets were acquired via our image-based measurement technique, using a digital camera. These datasets contain only red, green, and blue channels; data on source and camera spectra are supplied with each to aid in calibration. In general, the RGB triples do not share geometry, as they are individual sensels in a Bayer array.
Painted Surfaces
We have measured the full BRDF of several painted surfaces. These are divided into several categories:
Automotive Paints
Used to paint cars and other motor vehicles. Thanks to Ford Motor Company for providing the test samples.We have measured the BRDF of several automotive paints from samples generously provided by the Ford Motor Company. All these measurements were made with our gonioreflectometer and are available as MATLAB files and in ASTM format.
The renderings on this page cannot be reproduced using the BRDF measurements alone. The data on this page do not include ideal specular (mirror-like) reflectance for two reasons:
- Measuring this reflectance relatively difficult with our instrument, and
- it can be modeled easily with a Fresnel term.
Each image here was made with a BRDF from the data file, with the addition of an ideal specular (mirror-like) term governed by the Fresnel reflectance using a refractive index n = 1.5. Most common dielectric materials, including the binder of these paints, have an index near 1.5. We have measured the BRDF of several automotive paints from samples generously provided by the Ford Motor Company. All these measurements were made with our gonioreflectometer and are available as MATLAB files and in ASTM format.
![[Rendering]](https://web.archive.org/web/20230623193734im_/http://www.graphics.cornell.edu/online/measurements/reflectance/carpaints/mystique.jpeg)
In MATLAB file
mystique.mat: Mystic lacquer, as used by the Ford Motor Company. This lacquer has the peculiar property that it changes color with viewing angle. It is very dark however, which is why the brightness of the image on the left has been turned up artificially.
In ASTM E1392-96 format
mystique.astm.gz: About 96K compressed, about 415K uncompressed
mystique_XYZ.astm.gz: XYZ tristimulus values. About 16K compressed. Also available uncompressed; about 94K.
mystique_RGB.astm.gz: RGB tristimulus values. About 16K compressed. Also available uncompressed; about 95K.
In MATLAB file
cayman.mat: Dupont Cayman lacquer, as used by the Ford Motor Company.
In ASTM E1392-96 format
cayman.astm.gz: About 99K compressed, about 415K uncompressed
cayman_XYZ.astm.gz: XYZ tristimulus values. About 18K compressed. Also available uncompressed; about 94K.
cayman_RGB.astm.gz: RGB tristimulus values. About 19K compressed. Also available uncompressed; about 95K.
Spray Paints
Gonioreflectometer Data:
The reflectance functions below have been measured at 1439 combinations of incoming and outgoing directions. The incidence angles are 10°, 20°, ..., 80°. The corresponding outgoing directions are uniformly distributed across the hemisphere. The measurements are presented at 31 wavelengths (400, 410, ..., 700nm). Each Matlab file contains the following data:
- dir_in: the 1439 incoming direction vectors (with the z-axis of the coordinate system aligned along the normal).
- dir_out: the 1439 outgoing direction vectors.
- fr: the 1439 BRDF values at 31 wavelengths.
The data are also provided in ASTM format. In addition, the spectral data have been converted to tristimulus values in CIE XYZ space and for the RGB primaries of a Sony Trinitron monitor.

In MATLAB file
garnet_red.mat: Dupli-color #T-345, Garnet Red. The lacquer has been coated with a gloss-reducing finish Plasti-kote #33, Glass Frosting Spray.
In ASTM E1392-96 format
garnet_red.astm.gz: About 141K compressed, about 415K uncompressed
garnet_red_XYZ.astm.gz: XYZ tristimulus values. About 19K compressed. Also available uncompressed; about 94K.
garnet_red_RGB.astm.gz: RGB tristimulus values. About 19K compressed. Also available uncompressed; about 94K.

In MATLAB file
krylon_blue.mat: Krylon latex enamel #7205, True Blue. The enamel paint has been coated with a gloss-reducing finish Plasti-kote #33, Glass Frosting Spray.
In ASTM E1392-96 format
krylon_blue.astm.gz: About 141K compressed, about 415K uncompressed
krylon_blue_XYZ.astm.gz: XYZ tristimulus values. About 20K compressed. Also available uncompressed; about 95K.
krylon_blue_RGB.astm.gz: RGB tristimulus values. About 20K compressed. Also available uncompressed; about 94K.
Image-based Data:
The image-based data are from the paper Image-based brdf measurement including human skin. Stephen R. Marschner, Stephen H. Westin, Eric P. F. Lafortune, Kenneth E. Torrance, and Donald P. Greenberg. Presented at Eurographics Workshop on Rendering, 1999.
Each of the data sets is provided as a gzipped tar archive, and includes raw BRDF samples, along with data on the spectral response of the camera used and spectral emission of the light source. A README file in each archive describes the file format used.
Krylon Gray Primer:
gray-cylinder-990106.tar.gz contains an archive of data from 26 images of an aluminum cylinder painted with Krylon© #1318 Gray All-Purpose Primer. Since the sample was a cylinder, this dataset includes data only on and near the incidence plane. The archive is about 17MB compressed, and decompresses to about 22MB.
Coefficients are also available to render this surface with the Lafortune BRDF representation.
House Paints
The full hemispherical BRDF of spray-painted latex blue paint, Pratt & Lambert, Vapex Interior Wall Base 1, Color #1243, Cal.III.
The incidence angles are 0°, 20°, 35°, 55°, 65°, 75°, and 85°. For each of these, there are 19x73 measurement angles across the hemisphere. Wavelengths span the visible range. Data are in MATLAB binary files.
- paint.raw.mat contains the raw measurement data:
- e.g. brdf00: BRDF values at 0 degrees incidence angle, for 65 wavelengths and 16 (or more) outgoing directions.
- e.g. phi00: the 16 corresponding outgoing azimuthal angles.
- e.g. theta00: the 16 corresponding outgoing polar angles.
- wavelengths: the 65 corresponding wavelengths (note that data below 450nm are very noisy).
- paint.clean.mat contains the data after reorganisation, with interpolation of missing values:
- e.g. brdf00_450: 19x73 BRDF values at 0 degrees incidence angle and a wavelength of 450nm.
- phi: the 19x73 corresponding outgoing azimuthal angles.
- theta: the 19x73 corresponding outgoing polar angles.
- paint.reformat.mat contains the same data as paint.raw.mat, but reorganized to match the format of all our other MATLAB files:
- dir_in: the 1255 incoming direction vectors (with the z-axis of the coordinate system aligned along the normal).
- dir_out: the 1255 outgoing direction vectors.
- fr: the 1255 BRDF values at 65.
- wavelength: 65 wavelengths corresponding to fr
The following plots give an impression of the behavior for a few incidence angles at a few wavelengths between 450 and 650nm, in the plane of incidence only:
0° - largely diffuse, with a small retro-reflective bump. The lobes are larger for short wavelengths (blue, cyan,... curves), because the paint is blue.
35° - the bump on the left is a retro-reflective bump.
55° - again, the bump is a retro-reflective bump. The forward scattering on the right becomes apparent, especially for long wavelengths, for which there is less subsurface scattering.
75°
75° zoomed out. Note the strong forward scattering. The directional-diffuse lobes are approximately equally sized for different wavelengths, yielding colorless highlights.
Bristol Data
We measured a set of five samples provided by Ann McNamara of Bristol University. These were flat interior house paint in neutral colors ranging from black to white. The BRDF of each sample was measured at 1502 combinations of incident and exitant angles. The incident angles were 10°, 20°, ... 80°.; The exitant directions are distributed uniformly over the hemisphere. The BRDF measurements were made at 550nm; we also include the directional-hemispherical (diffuse) reflectance as a function of wavelength, as measured by our Optronics OL-750 instrument from 300 to 700nm. The MATLAB file for each sample contains the following variables:
- dir_in: the 1502 incoming direction vectors (with the z-axis of the coordinate system aligned along the normal).
- dir_out: the 1502 outgoing direction vectors.
- fr: the 1502 BRDF values at 550nm.
- data: the diffuse reflectance at 41 wavelengths.
- wavelength: 41 wavelengths corresponding to data
Human Skin
The following data are from the paper Image-based brdf measurement including human skin. Stephen R. Marschner, Stephen H. Westin, Eric P. F. Lafortune, Kenneth E. Torrance, and Donald P. Greenberg. Presented at Eurographics Workshop on Rendering, 1999.
Each of the three data sets is provided as a gzipped tar archive, and includes raw BRDF samples, along with data on the spectral response of the camera used and spectral emission of the light source. A README file in each archive describes the binary file format used. In addition, the first two data sets include coefficients for the multi-lobe BRDF representation described in a 1997 paper by Lafortune et al., which were used to render the images shown here and in the 1999 paper.

steve-face-981211.tar.gz: Forehead of a 43-year-old Caucasian male. Approx. 10MB. Used for Plate 2 in the paper. Also available are the coefficients alone: this file is only about 2KB. These coefficients are also available in a RIB fragment formatted for input to our RenderMan shader implementation of the Lafortune BRDF representation

mahesh-981228.tar.gz: Forehead of a 23-year-old South Asian (Indian) male. Approx. 21MB. Used for Plate 2 in the paper. Also available are the coefficients alone: this file is only about 2KB. These coefficients are also available in a RIB fragment formatted for input to our RenderMan shader implementation of the Lafortune BRDF representation
grace-initial-990108.tar.gz: Forehead of a 9-year-old Caucasian female. Used for Figure 9 in the paper. Approx. 17MB.
Other Surfaces
Ceramic Surfaces
Each of the data sets is provided as a gzipped tar archive, and includes raw BRDF samples, along with data on the spectral response of the camera used and spectral emission of the light source. A README file in each archive describes the file format used.
claypot-990106.tar.gz (about 35MB compressed, decompresses to about 44MB) is an archive of the BRDF of a clay flowerpot, measured with a Kodak DCS420 camera.
Coefficients are available to render the reflectance with the Lafortune BRDF representation.
Other Surfaces
Gonioreflectometer Data
The reflectance functions below have been measured at 1439 combinations of incoming and outgoing directions. The incidence angles are 10°, 20°, ..., 80°. The corresponding outgoing directions are uniformly distributed across the hemisphere. The measurements are presented at 31 wavelengths (400, 410, ..., 700nm). Each MATLAB file contains the following data:
- dir_in: the 1439 incoming direction vectors (with the z-axis of the coordinate system aligned along the normal).
- dir_out: the 1439 outgoing direction vectors.
- fr: the 1439 BRDF values at 31 wavelengths.
All data are available in MATLAB binary files. In addition, the data are available in the ASTM text format.
Blue Acrylic Sheet
![[Rendering]](https://web.archive.org/web/20230626193249im_/http://www.graphics.cornell.edu/online/measurements/reflectance/other/acryl_blue.jpeg)
In MATLAB file
acryl_blue.mat: Lucite blue acrylic sheet.
In ASTM E1392-96 format
acryl_blue.astm.gz: 31 wavelengths. About 81K compressed, about 415K uncompressed
acryl_blue_XYZ.astm.gz: XYZ tristimulus values. About 16K compressed. Also available uncompressed; about 94K.
acryl_blue_RGB.astm.gz: RGB tristimulus values. About 16K compressed. Also available uncompressed; about 95K.
Image-based Data
Black Felt
hat-990106.tar.gz is a gzipped tar archive of image-based measurements of a black felt hat. It is about 32MB compressed and decompresses to about 41MB.
In addition, coefficients are available to render the reflectance with the Lafortune BRDF representation.
Gonioreflectometer Data
All gonioreflectometer data are available in MATLAB binary files. In addition, these data are available in a more readable text format.
We have also calculated tristimulus values in CIE XYZ space from the spectral data; they were calculated for the surface illuminated with a D65 illuminant; this should work well if your monitor is set to a D65 white point. That is to say, an ideal white surface illuminated by a source that is equal in all three channels will result in equal RGB on the monitor.
Finally, we used the XYZ tristimulus values to calculate RGB values for Sony Trinitron phosphors. NOTE: No attempt has been made to fit the BRDF values into the monitor gamut: there are negative values in the RGB files. You must decide what best to do to display the colors on your monitor.
ASTM Standard E1392-96
This format is intended to comply with ASTM Standard E1392-96, available from the American Society for Testing and Materials for $20-$30. The important parts of the file are the line starting VARS which lists the variables actually contained in the file: (theta_i,phi_i) for the incident elevation and azimuth angles, respectively, (theta_s,phi_s) for the corresponding exitant (scattering) angles, and the BRDF values at the specified wavelengths. These either are actual measurements at equally-spaced wavelengths or tristimulus values in CIE XYZ space or RGB space for Sony Trinitron phosphors.
NOTE: We have no way to test compliance with the ASTM standard, as we know of no software which reads this format, nor have we found any sample data files. If these files do not comply with the standard, please let us know, as we want to comply with a known standard for storing and disseminating BRDF information.
MATLAB files
Many data are available in .mat files; these are binary files that can be read by MATLAB, software available fromMathWorks. Many of these data are also available in other formats.
Image-Based Data: Binary files
The BRDF data are in separate files for red, green, and blue channels. These files are named <filename>.<frame>.{rgb}.data, where <filename> is a file name used to label the data <frame> is the frame number of a source image {rgb} is r for the red channel, g for the green channel, and b for the blue channel. Each file contains binary IEEE-754 floating-point values, big-endian, with 6 values for each point:
- X and Y components of the incident vector,
- X and Y components of the exitant (viewing) vector,
- computed irradiance, and
- computed exitant radiance.
The two vectors are defined in a reference frame where the surface normal is in the Z direction. Because these are isotropic measurements, the orientation of the X and Y axes in the tangent plane is arbitrary. The BRDF value is simply the exitant radiance divided by the incident irradiance. Note: these quantities are not calibrated to any actual radiometric units; only their ratio is meaningful.
Other data: Spectrum Files
Files with an extension of .spc are ASCII files with spectrum information. In general, there will be several lines of annotation data, followed by one line per wavelength containing the wavelength (in nanometers) and the value for that wavelength. Files may contain more than one spectrum, e.g. for the RGB response curves of a camera.
![[Rendering]](https://web.archive.org/web/20230623193734im_/http://www.graphics.cornell.edu/online/measurements/reflectance/carpaints/cayman.jpeg)
![[Graph]](https://web.archive.org/web/20230624161206im_/http://www.graphics.cornell.edu/online/measurements/reflectance/housepaints/paint.0.small.gif)
![[Graph]](https://web.archive.org/web/20230624161206im_/http://www.graphics.cornell.edu/online/measurements/reflectance/housepaints/paint.35.small.gif)
![[Graph]](https://web.archive.org/web/20230624161206im_/http://www.graphics.cornell.edu/online/measurements/reflectance/housepaints/paint.55.small.gif)
![[Graph]](https://web.archive.org/web/20230624161206im_/http://www.graphics.cornell.edu/online/measurements/reflectance/housepaints/paint.75.small.gif)
![[Graph]](https://web.archive.org/web/20230624161206im_/http://www.graphics.cornell.edu/online/measurements/reflectance/housepaints/paint.75s.small.gif)