This is the documentation for Enlighten.

Half-precision input lighting

To save memory, it's possible to use half-precision InputLightingBuffer and IncidentLightingBuffer objects, which store lighting with 16-bit float precision. This may have a performance impact, depending on platform, so it's important to consider your individual integration requirements. Xbox One, PS4 and Neon can do the conversion for minimal cost, but there is a more significant cost for SSE2 platforms.

The following function definitions specify the input lighting precision hint.

Geo::u32 GEO_CALL CalcIncidentLightingBufferSize(const Enlighten::InputWorkspace* inputWorkspace, PrecisionHint::Value precision = PrecisionHint::DEFAULT_PRECISION);
Geo::u32 GEO_CALL GetIncidentLightingBufferSize(const Enlighten::IncidentLightingBuffer* incidentLightingBuffer, PrecisionHint::Value precision = PrecisionHint::DEFAULT_PRECISION);
Enlighten::IncidentLightingBuffer* GEO_CALL CreateIncidentLightingBuffer(void* memory, const Enlighten::InputWorkspace* inputWorkspace, PrecisionHint::Value precision=PrecisionHint::DEFAULT_PRECISION);
Geo::u32 GEO_CALL CalcInputLightingBufferSize(const InputWorkspace* inputWorkspace, PrecisionHint::Value precisionHint = PrecisionHint::DEFAULT_PRECISION);
InputLightingBuffer* GEO_CALL CreateInputLightingBuffer(void* memory, const InputWorkspace* inputWorkspace, PrecisionHint::Value precisionHint = PrecisionHint::DEFAULT_PRECISION);
Geo::u32 GEO_CALL CalcEnvironmentInputLightingBufferSize(Geo::s32 environmentResolution, PrecisionHint::Value precisionHint = PrecisionHint::DEFAULT_PRECISION);
InputLightingBuffer* GEO_CALL CreateEnvironmentInputLightingBuffer(void* memory, Geo::s32 environmentResolution, PrecisionHint::Value precisionHint = PrecisionHint::DEFAULT_PRECISION);