Material Database — Frequently Asked Questions
The material database provides broad coverage of common and more specialized materials, including isotropic and anisotropic BRDFs of metals, paper, car paints, organic samples, fabrics, etc. Each material is available in a spectral version that covers the 360(UV) - 1000nm (NIR) range with ~4nm sample spacing, as well as a RGB version for compatibility with renderers that do not support color spectra. The representation is extremely compact, requiring approximately 16KiB and 544KiB per channel for isotropic and anisotropic materials, respectively. Furthermore, it provides a natural importance sampling operation that does not require numerical fits or complex additional data structures. Technical details on the underlying parameterization and measurement methodology are available in the paper
An Adaptive Parameterization for Efficient Material Acquisition and Rendering
by Jonathan Dupuy and Wenzel Jakob
In ACM Transactions on Graphics (Proceedings of SIGGRAPH Asia 2018)
The measurement device and its capabilities are described here.
We plan to considerably extend the database in the future so that it eventually contains hundreds of materials that densely cover the space of real-world material appearance. Outside help is welcome: if you have interesting samples, we'd love to measure them. See below for details.
BRDF files can be interactively viewed and analyzed using the Tekari viewer created by Benoît Ruiz. Tekari plots the BRDF and sample locations with respect to different incident angles and/or wavelengths, using a variety of powerful visualization tools. Click the following link to download precompiled 64-bit executables for OSX, Windows, and Linux. To open a material, simply drag & drop the “_spec.bsdf” file onto the application, or provide the filename as a command line argument. Note while Tekari is an open source project, it depends on a component, whose source code is not yet available (hence the precompiled binaries).
C++ and Python API
We've released a reference BRDF implementation, which provides the standard operations needed by most modern rendering systems: BRDF evaluation, sampling, and a routine to query the underlying probability density. The repository also contains a plugin for the Mitsuba renderer and Python code to load the data files into NumPy, which is useful for visualization and systematic analysis of the database contents.
A gonio-photometer typically cannot measure all angle combinations due to optical and mechanical limitations (for instance, the sensor occludes the light source at certain angles). Our measurement pipeline detects such cases and extrapolates the missing data from other measurements. To provide transparency on what parts of the data correspond to actual measurements, we provide “raw” data files containing an extremely verbose log of the entire acquisition process in Python pickle format.
Understanding the visualizations
Clicking on the material reveals a number of visualizations:
Slice (measured): The first image shows an RGB rendition of what was measured by the spectrometer. Note that the data typicaly has extremely high-dynamic range, hence some detail in the black may simply be invisible. Red pixels correspond to wasted space of the discretization. The black column on the left is a region that could not be measured.
Slice (processed): This plot contains the same data, but after post-processing. The black regions on the left were filled in, and the data was scaled by the Jacobian of the parameterization (see the paper for details). This has the effect of making the representation significantly easier to interpolate. The bottom row shows spectral curves in the 360..1000nm range corresponding to the row above.
Parameterization: shows incident and outgoing angles, for which the material was measured.
NDF: Our method heavily relies on the material's retroreflective reponse. This plot shows the extracted normal distribution and the resulting backscattering (theory & actual).
Measured angles: 2D visualization of the measured elevations (left) and azimuths (right)
Unless otherwise noted, all material data is licensed under the Creative Commons Zero (CC0) license.
We plan to considerably extend the database in the future and would be happy to measure samples provided by you for free. Please reach out to us if this sounds interesting. There are a few strings attached:
- We are mainly interested in materials that are sufficiently interesting/different from ones that are already in the database
- It must be okay for us to include the resulting measurement in the database under a CC0 license.
- Samples must be flat and sufficiently large (>= 10x10cm) so that they can be accommodated by our sample holder.
- We generally like to keep the samples to be able to re-measure them after process improvements in the future, unless there are good reasons against this (proprietary, very expensive, etc.). In this case, we would ask you to cover any mailing costs.
We routinely add additional materials to the database. More significant changes will be listed here.
- Nov 1, 2018. A larger sturdier sensor arm (which can be used to mount high-res camas) was installed on the gonio-photometer. One potential downside of the change is that the head is larger and thus increases the number of shadowed configuration. Furthermore, the current computation used to detect shadowing is fairly conservative. To enable future improvements with a better shadowing criterion, RAW files produced by the latest measurement pipeline (v3.3+) also record measurements even for supposedly shadowed configurations.
- Nov 14, 2018. Remeasured & processed all silk_* and vch_* materials with the latest measurement pipeline (the previous dataset contained visible interpolation artifacts produced by an older pipeline.)