This is the documentation for Enlighten.

The precompute process


The precompute tools are available in prebuilt binary form for Windows, Linux and MacOS.

The precompute operates on the enlighten scene exported by your editing tools.

Use the High Level Build System to run the precompute. The HLBS is a powerful parallel build system, which provides all of the functionality used by a typical implementation of Enlighten.

For most implementations, we recommend to use the precompute pipeline API to export the enlighten scene and drive the High Level Build System.

The precompute creates the __Build_<scene>__ directory at the scene root. This directory contains all intermediate and output files generated by the build, including the Enlighten runtime data.

Hardware

The precompute performs a lot of CPU intensive computation and runs best on a CPU with many and as fast cores as possible. With a very large scene, some precompute tasks may require multiple GB of physical memory.

The time taken by the precompute is reduced in approximate inverse proportion to the number of logical cores available. To maximize CPU use, make the additional logical cores provided by Hyper-threading available. For example, an 8-core CPU with Hyper-threading provides up to 16 logical cores for the distributed precompute.

To speed up the precompute, we recommend to distribute the HLBS build across many machines.

License

To run the Enlighten precompute, you need a valid Enlighten license file. Each licence file is valid for a limited period. 

The High-level Build System worker process GeoPrecomp2 checks for a file called License.txt first in the same directory and then each parent directory.

The Low-level precompute API requires that you call IPrecompute::SetLicense() passing it the Base64 encoded licence data. In your licence file, this is the block of data below the line starting License:.

For licensing support, please contact Enlighten Support.

Advanced usage

If you need complete flexibility, you can also run individual precompute tasks at the lowest level using the low level precompute API.