...
- For each
IBakeInputSystem, call IBake::BakeSystemFinalGather. - Extract the FP16 output textures from the resulting
IBakeOutputSystemFinalGather objects.

Ambient occlusion
- For each
BakeSystemResource, call IBake::BakeSystemAO. - Extract the FP16 output textures from the resulting
IBakeOutputSystemAO objects.

Direct light baking for probes
- First, copy lighting information into an
IBakeInputLighting object. - Now, for each probe set represented by an
IPrecompInputProbeSet, create an IBakeVisibilityBuffer with the IBake API. You also need to pass in a BakeSystemResource object, with all the systems that can influence the direct lighting for the probes. This operation is slow; therefore if only the lights have changed (and not the geometry) you can pass in an IBakeVisibilityBuffer from a previous run and it will be updated. - Call
IBake::BakeProbeSetDirect() to create the IBakeOutputProbeSet. Use the IBakeOutputProbeSet::GetOutput() method to retrieve the SH coefficients of all probes in the probe set.

Indirect light baking for probes
- First follow the steps described in Indirect light baking.
- Now, for each probe in a probe set, use the
IBakeSolvedRuntime::GetSolvedProbe() method of IBakeSolvedRuntime to retrieve the SH coefficients.

Baked Radiosity Normal Texture
...
- For each
BakeInputSystem, call IBake::BakeSystemRadiosityNormal, providing the BakeSolvedRuntime for all Enlighten systems. - Extract the FP16 output textures from the resulting
IBakeOutputSystemRadiosityNormal objects.

Message reporting and error handling
...
{"serverDuration": 211, "requestCorrelationId": "dc30aa5ea1a04ac9af58739a5cebecd7"}