High-dynamic-range imaging
The following compilers are tested:
- Visual Studio 2017 (Windows x64)
- GCC 5.5.0 (Linux x64)
- Apple LLVM version 11.0.0 (Mac x64)
I have recently changed from premake to CMake. Below are instructions of using a GCC-based compiler as an example.
- Create your build directory
mkdir build && cd build
- Run Conan
conan install .. -s compiler.cppstd=17 --build missing
. The dependencies should be resolved by conan - Run CMake
cmake ..
for development orcmake -DCMAKE_BUILD_TYPE=Release
for a release build - Compile by running
make
- Run test case by
make test
- The binary is named hdri
Note that for Windows platform you may need to copy necessary files such as dlls to the working directory in order to execute the binary properly.
./hdri (BaseDirPath) (FileListName)
For example:
./hdri ../InputImage/ list.txt
Note: The default base path is "../InputImage/" and the default name of the file list is "list.txt". You do not have to type it explicitly.
The program will generate the radiance map called "radiance.hdr". Based on the radiance map, the tone algorithm will be triggered to generate the output image. The file name will be "output_image.jpg". Moreover, the reconstructed G curve (and ln E) will be written to a file called "out.txt".
Inputs:
The inputs are all stored in the folder named "\InputImage" with subfolders indexed by numbers.
Outputs:
They are in the "\Result" folder with corresponding indice. Each subfolder contains the output image and the radiance map.