ALTA
alpha

In this tutorial, we will see how to use commands from the command line to approximate a 1D function described by a set of points. For this, we will use the Kirby2 dataset from the US National Institute of Standards and Technology. There are certified values for a rational approximation of this dataset:
where \( b_1 \simeq 1.67, \; b_2 \simeq 1.39e^{1}, \; b_3 \simeq 2.59e^{3}, \; b_4 \simeq 1.72e^{3} , \;\mbox{and}\; b_5 \simeq 2.16e^{5} \).
The data2brdf allows to perform a fitting procedure by converting a Data object into an approximate function object.
First, we need to download the Kirby2 dataset in ALTA format: Kirby2.dat. Save this file in $ALTA/Kirby2.dat
.
$ data2brdf input Kirby2.dat output Kirby2.brdf fitter rational_fitter_eigen
The result can be exported using the brdf2data commands.
$ brdf2data input Kirby2.brdf output rationalexample01.dat datafile Kirby2.dat
The brdf2data allows you to export a function into a data file. If no data plugin is specified, the ALTA format is used which is gnuplot compliant. The position of evaluation for the function are taken from a specified data file (here the original Kirby2 file).
Using gnuplot for example it is possible to visualize the resulting function approximation. Here is a plot of the original data and exported data:
To convert this brdf file to be used in another software (here matlab), you will need the following command:
$ brdf2brdf input Kirby2.brdf output Kirby2.m export matlab
brdf2brdf converts an ALTA brdf file into another format such as Matlab m file, C++ code, or BRDF Explorer shader. Note that this tool cannot convert to another ALTA file (e.g., converting a Blinn lobe to a Beckmann distribution).
Here we provide the resulting BRDF file and the XML script used to generate it: