This is the documentation for Enlighten.

Enlighten SDK 4.01 Release Notes


New features

Probe lighting leak reduction

This release automatically reduces the impact of light leaking through thin walls for meshes lit by probes. In areas where this type of light leak would previously occur, the Enlighten probe resolution is now automatically increased, with only a minor increase in runtime cost.

Terrain automatic probe placement

It is no longer necessary to manually place probe volumes to light actors above terrain. Instead, you can now choose to automatically generate probes above a terrain instance object. When you specify the Probe Resolution property of an instance that refers to a terrain geometry object, probes are placed directly above the terrain surface.

Precompute on Intel 12th generation CPU

The Enlighten precompute now supports Intel 12th gen Alder Lake CPU models. Multithreaded tasks now make good use of both P and E cores.

HLRT: Limit the influence of a light

An option to control whether a light affects a given system, based on the distance of the system from the viewer. To do this, create a custom light type which derives from InputLightBase, and implement the DistanceFilter function. The DistanceFilter function returns true when a radiosity system at the provided distance from the viewer should be affected by the light.

HLBS: Eliminate slow probe region construction

Voxelisation of solid probe regions now runs as part of the precompute process to enable parallelization and distribution across machines. This delivers much faster output of the Enlighten scene by elimination of single threaded bottlenecks when creating large probe region objects.

HLBS: Zone dependencies with explicit system groups

Zone dependencies can now be used to limit radiosity dependencies when using explicit system groups. Zone dependencies replace explicit system dependencies.

Improvements

High Level Build System:

  • Added option to disable XML validation: /p:ValidateXML=false.

Platform support

  • Prebuilt binaries compiled with Visual Studio 2022 17.0.5 and VC tools version 14.30 for Win32, Win64 and XboxOne
  • Prebuilt binaries compiled with XCode 12.5 for iOS.

Bug Fixes

  • HLBS: systems within the same zone are now automatically considered as dependencies, to match the documented behavior.
  • HLRT: Fixed failure to update input lighting after change to light visibility data.
  • SamplePipeline: Fixed license check failure when built from customer source.
  • (P2) Fixed some cases of probe lighting leaking through walls
  • (P2) Enlighten Pipeline: Fixed hang when writing 2GB scene file

Deprecated

  • Deprecated SDK binaries built with Visual Studio VS2015 tool sets.
  • Deprecated baking a scene which contains probeSet or probeRegion elements.
  • Deprecated IUpdateManager::TriggerTransparencyVolume and low level API ApplyVolumeTransparency. Please use the InitialiseTransparencyBuffer functions instead.
  • Deprecated the combination of transparency with regular grid probe interpolation.
  • Deprecated IPrecompInputProbeRegion::AddVolume
  • Deprecated ComputePppiAtlasMaxima: Please use IPrecompute::CreateProbeAtlasMaxima

Removed

General:

  • Removed HLBS probeOctree, replaced by probeRegion
  • Removed ProbeSetManagerVoxel

Upgrade Notes

EnlightenPipeline:

  • PipelineRadiosityInstance and PipelineExcludedInstance now require a zone argument

High Level Runtime:

  • To use legacy probe interpolation with non-octree probe sets, enable m_UseLegacyProbeInterpolation. When true, probe lighting is interpolated only from non-octree probe sets. When false, probe lighting is interpolated only from octree probe sets.

Per pixel probe lighting:

  • To obtain per pixel probe atlas maxima, instead of calling ComputePppiAtlasMaxima, please load the IPrecompAtlasMaxima object after the precompute.