Date: 2016-March-12

EGSR 2016, paper1001

This is the C++ implementation for comparing two BRDFs, accompanying
the paper submitted to the EGSR 2016 conference, full papers, title:

"Perceptually Motivated BRDF Comparison using Single Image"

Authors: Vlastimil Havran, Jiri Filip, Karol Myszkowski

The source files in C++ gives the implementation of our research paper
for comparing BRDFs.

This example application uses the BRDF database from UTIA, 
http://btf.utia.cas.cz/?brdf_dat_dwn
as the BRDF has to be represented by some accurate measured anistropic
BRDF data.

The usage of the utility is simple, after compilation run:

./brdfDist brdffile1.bin brdffile2.bin

and it outputs the result to the console.

The images accompanying the computation can be generated
in both PNG and HDR formats:

./brdfDist brdffile1.bin brdffile2.bin 31 100.0 200.0

, where 31 is the mode specyfing which images should be save and the
first value 100.0 gives the specification how to multiply the image
and value 200.0 how to multiply the difference images. In particular,
mode specifies:

// mode += 1; // Save the image for reference BRDF
// mode += 2; // Save the image for compared BRDF
// mode += 4; // Save the difference image between reference and compared BRDF
// mode += 8; // Save the gray difference image between reference and compared BRDF
// mode += 16; // Save the gray difference SSIM image between reference and compared BRDF

so mode 31 saves all the images from the utility.

For generate the images for surface 3, you have to add to the mode value 32,
such as:

./brdfDist brdffile1.bin brdffile2.bin 63 100.0 200.0

The example how to run the utility is in the file runCompareBRDFs.bat.

----------------------
Compilation.

Run > make under linux or other UNIX system, the brdfDist executable
is produced.

The supersurface1 and supersurface2 can be changed in the file
main.cpp.

---------
End of file README.txt
