This is the documentation for Enlighten.

Precompute pipeline


For a simple way to run the precompute process, use the precompute pipeline API from the Enlighten Pipeline library to drive the Enlighten precompute.

The Enlighten Pipeline library is designed to be easy to use and reliable and is intended only for use as part of your build pipeline or your editing tools. 

The API throws exceptions to indicate incorrect usage that is a violation of the API contract. Such an exception indicates a defect in the application, rather than a problem with the user's input. If you enable exception handling in your application, you may handle the exception and choose whether to attempt to continue or simply report a crash and terminate the application.

Limitations

The Enlighten Pipeline library is supported only for use in 64-bit Windows applications.

Only the most commonly used Enlighten features are usable. The following features are not currently supported:

Please contact Enlighten support if a feature or option that you require is not usable. Full source code for the Enlighten Pipeline library is provided in case you wish to extend the implementation.

Incorrect or unsupported usage of the API may cause a fatal error message or PipelineError exception or cause the precompute to fail. Check for error messages or review the precompute log file for warnings and errors that may help you to debug the problem.

How to use

The sample pipeline implementation provides a basic example of how to use the precompute pipeline API.

Link your application with the Enlighten Pipeline library and include EnlightenPipeline/PrecomputePipeline.h.

First, create an instance of PrecomputePipeline and provide the following inputs to the constructor:

To assemble the Enlighten scene, call the PipelineScene functions exposed by PrecomputePipeline:

Export the Enlighten scene and run the precompute process:

Extract only the persistent runtime data you require from the objects that were produced by the precompute:

Extract any additional data that is required to implement visualisations in your world editor.