CS348c Project Proposal
My project will be to implement tools for efficiently compressing and
decompressing BRDFs. I will attempt to store a variety of synthetic BRDFs,
including those generated from anisotropic and realistic physically-based
models. The main work will be on developing a new representation, with the
The representation will likely be wavelet-based, though I do not anticipate
using the spherical wavelet formulation of Sweldens and Schröder.
Other possible components of the representation are:
- The representation should be of adaptive complexity - simple BRDFs should have simple
representations. In particular, isotropic BRDFs should not waste space
on storing the "anisotropic component".
- Reciprocity should be enforced.
- The representation should take advantage of the fact that many BRDFs
vary slowly in the reference frame of the "reflected ray".
- Computing the BRDF at a single incoming and outgoing angle should be fast.
- A change of basis - the incoming and outgoing angles are certainly not
the best axes to use.
- A simple analytic model that is fit to the data. The analytic model is
either subtracted or divided out, and only the residual is represented with
- Some color representation - a comparison of the compression achieved with
RGB, YUV, and HSB might be interesting.
The code written for the project will include the BRDF
compression/decompression libraries, together with some sort of interactive
BRDF browser, and either a (very) simple renderer or an interface to Toro.
Code Written so Far
bv is a BRDF viewer/browser. No documentation yet.
bv -h lists available BRDFs.
Note: please see
for the current version of bv.
--- SMR 9/10/97