/
Enlighten SDK 3.12 Release Notes
This is the documentation for Enlighten.
Enlighten SDK 3.12 Release Notes
Patches
3.12.P1
- Addressed increase in peak memory usage for precompute in massive world which contains probe regions with dependencies limited to only directly adjacent systems.
- Fixed precompute error RTC_ERROR_OUT_OF_MEMORY reported by CreateOutputProbeSet task when running the HLBS precompute in a massive world with AgentUsage=Default.
- Fixed an intermittent crash that could occur during the precompute when a mesh has an extremely large cluster size.
- Fixed precompute warnings incorrectly reported as errors when using SNDBS2 distributor.
- Fixed missing or incorrectly placed probes when the probe regions within a single zone cover an extremely large volume of space.
- Improved error message from HLBS precompute when probeRegion element does not have a zone attribute.
- Fixed division by zero exception in per pixel probe lighting runtime update.
- We now distribute Enlighten core libraries built with Visual Studio 2019 16.8.5 and VC tools version 14.28 for Win32, Win64 and XboxOne.
- Significantly reduced the size on disk of the GeoRayTrace library by removing dead code.
- Enlighten libraries for Windows and Xbox are now compiled with /Zc:inline to reduce their size on disk and improve link times.
New features
Use automatic probe placement and per pixel probe lighting at scale in a massive world:
- Efficiently light large open spaces with additional probe placement resolution options: 1/32, 1/64, 1/128, 1/256.
- Significantly reduced precompute time for automatic probe placement in a scene with many probes across a large volume of space.
- Significantly reduced update time and memory use for per pixel probe lighting in a scene with many probes across a large volume of space.
Improved compatibility with real time ray tracing:
- Per pixel probe lighting now provides valid lighting for positions behind the camera.
Improvements
Faster Enlighten precompute:
- The precompute time is now significantly reduced in a scene where automatic probe placement regions cover a large volume of space.
- The precompute now uses Intel Embree library version 3.11.0 to take advantage of recent performance improvements.
Improved samples to aid your implementation of Enlighten:
- The MinimalExample scene now demonstrates the Enlighten pipeline for a scene which contains more than one instance of a mesh with more than one material.
- The Sample Pipeline and Sample Runtime applications now produce correct emissive lighting for meshes with more than one material colour.
Bug Fixes
- Fixed intermittent precompute failure when Windows regional format set to a language other than English, Japanese or Chinese.
- Fixed a long delay in the precompute "Updating dependencies..." in a scene which contains 10K+ systems or probe sets.
- Fixed a crash when per pixel probe lighting is in use and probes are placed very far from the origin.
- Fixed minor seams in per pixel probe lighting that may appear when the viewpoint moves around the level while indirect lighting is static.
- Fixed minor per seams in per pixel probe lighting at the boundary between two zones.
Deprecated
- The Probe LOD and IProbeSetManager functionality is deprecated. To minimise probe solve and interpolation time in a large world we recommend to use per pixel probe lighting
- The removalMode parameter of IUpdateManager::EnqueueRemoveProbeSet is deprecated.
- IUpdateManager::UpdatePppi and IViewVolumeIntersector are deprecated. Please refer to the upgrade notes below.
- IUpdateManager::GetPppiRequiredOutputTextures and IUpdateManager::SetPppiOutputWorkspace are deprecated. Please refer to the upgrade notes below.
- IUpdateManager::Clear is deprecated. Instead, please call IUpdateManager::Release and afterwards create a new instance of the high level runtime.
Removed
General:
- The smooth bevels functionality was removed. To light large complex meshes, we recommend to use per pixel probe lighting.
- The Enlighten3PrecomputeLoader / Enlighten3PrecomputeLoaderBuilder libraries were removed. To extract and store persistent radiosity data, we recommend to follow the implementation guide.
- The low level C-style API for Per Pixel Probe Interpolation (PPPI) was removed. Please refer to the implementation guide for per pixel probe lighting.
Build configurations:
- The distribution no longer includes Enlighten core libraries built with Visual Studio 2013.
Upgrade Notes
The minimum system spec supported by the Enlighten precompute is now Windows 10 (64-bit) on Intel Core (at least i3-2100) or AMD FX/Ryzen (at least FX-4100). The precompute reports an error if your CPU does not support Advanced Vector Extensions (AVX).
High level build system:
- The location on disk of runtime data created for automatically generated probe sets has changed. Please refer to the implementation guide.
High level runtime:
- IUpdateManager::EnqueueRemoveProbeSet now takes the pointer to the BaseProbeSet object returned by IUpdateManager::AllocateProbeSet. Please update your code.
Per pixel probe lighting:
- The implementation of SamplePppiVirtualTexture has changed slightly. Please update your shader to match.
- The impact of invalid (culled) probes is now more obvious than in previous versions. Please double check that your shader multiplies the lighting result by PppiSample::InverseValidity.
- Instead of IUpdateManager::UpdatePppi, please provide the viewOrigin and lodDistance arguments to IUpdateManager::Update. The viewVolume argument is no longer required.
- Instead of IUpdateManager::GetPppiRequiredOutputTextures, please call Enlighten::GetPppiRequiredOutputTextures with the same configuration you provide to MultitheadCpuUpdateManager::Create.
- Instead of IUpdateManager::SetPppiOutputWorkspace, please use UpdateManagerProperties::m_PppiOutputWorkspace and UpdateManagerProperties::m_PppiTextureUpdateHandler.
, multiple selections available,
Related content
Enlighten SDK 3.12 Release Notes
Enlighten SDK 3.12 Release Notes
More like this
Enlighten SDK 3.12 Release Notes
Enlighten SDK 3.12 Release Notes
More like this
Enlighten SDK 3.12 Release Notes
Enlighten SDK 3.12 Release Notes
More like this
Enlighten SDK 4.01 Release Notes
Enlighten SDK 4.01 Release Notes
More like this
Enlighten SDK 4.01 Release Notes
Enlighten SDK 4.01 Release Notes
More like this
Enlighten SDK 4.00 Release Notes
Enlighten SDK 4.00 Release Notes
More like this