env-kit (Deprecated)

This project is aims at generating, from a given map, its BRDF look-up texture, its irradiance map and the prefiltered environment. You can use the project as a third-party library, directly integrated in your custom engine / project, or, if you want to use it offline, you can use the generated albedo-prefilter binary linked to the library.

You can choose whether to compute through the CPU or the GPU.

Supported input/output formats:

  • .hdr

Supported input image type:

Supported output image type:

Building

Dependencies

According to how you compile the library or the albedo-prefilter binary, you will need the following dependencies:

  • TBB (Only if you want CPU multithreading)
  • GLEW (Only if you want to use the GPU)
  • GLFW (Only if you want to use the GPU)

How to build

Builds only the library

$ mkdir build && cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make albedo_envtools

Builds the binary tool using the library

$ mkdir build && cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make

Builds the library / binary without dependencies

If you do not want to use the GPU, or even the CPU parallelism, you can build the library / binary accordingly. You can set the value -D_ALBEDO_TOOLS_MODEto one of the following:

  • NONE -> Only CPU monothreading
  • ALL -> GPU and CPU multithreading (requires TBB, GLEW, and GLFW)
  • TBB_ONLY -> Only CPU multithreading (requires TBB)
  • GPU_ONLY -> Only GPU (requires GLEW and GLFW)

For instance, if you only plan to use the GPU:

$ cmake -DCMAKE_BUILD_TYPE=Release .. -D_ALBEDO_TOOLS_MODE=GPU_ONLY

Binary Usage

TODO

  • CPUProcessor: Add bilinear interpolation to Cubemap generation
  • GPUProcessor: Add specular computation
  • CPUProcessor: Add specular computation
  • Library: Track every memory leaks
  • Library: Implements PIMPL
  • Binary: Improve command line info
  • Fix help not printing everything
  • Library: Add documentation
  • Add spherical harmonics generation