This is the documentation for Enlighten.
Enlighten UE4 4.00 Release Notes
Key Features
Next generation per pixel probe lighting
This release massively reduces the cost of per pixel probe lighting render path, along with other major improvements. Per pixel is now the default probe lighting method for newly created actors, and replaces per mesh probe lighting. Actors in existing levels that use per mesh probe lighting will continue to do so, but we recommend to switch to per pixel.
Per pixel probe lighting updates that previously ran on the CPU now run in a compute shader on the GPU, reducing the wall clock time by a couple of orders of magnitude. This enables you to increase the maximum probe placement resolution, for more accurate indirect lighting.
Other rendering improvements include:
- Zero cost blending between levels of lighting detail, to prevent lighting pops as the camera moves further away from a surface lit by probes.
- Enlighten now automatically computes the maximum required atlas size, which eliminates visual issues when the level exceeded the configured maximum.
Accurate and performant radiosity without lightmaps
This release enables extensive use of the Contribute Probe lighting mode across massive worlds, to the same degree as Contribute Lightmap.
The new radiosity implementation for probe lit meshes is accurate, stable and efficient when used at scale. For large meshes with complex organic shapes that are difficult to unwrap, choose the Contribute Probe lighting mode and forget about lightmap UVs.
For large meshes formed of large flat faces or box shapes, Enlighten may still produce the best result with a lightmap.
Enlighten + real time ray tracing ready for production
Enlighten indirect lighting integrates seamlessly with Unreal Engine's real-time ray tracing features. Enlighten is enabled in ray traced effects by default, for a negligible additional shading cost in the same ballpark as Lightmass.
The images below are lit by Enlighten indirect lighting. The image on the left shows ray traced transparency OFF, while the image on the right shows ray traced transparency ON.
Enlighten + Sky Light real time capture
We're excited about the new dynamic sky, atmosphere and cloud simulation now available in UE4. This release adds real time Enlighten indirect lighting updates for the Sky Light, making it easy to use a continuously changing time of day in your world. To take advantage of this, simply set up the Sky Atmosphere and enable Real Time Capture for the Sky Light.
Real time ray traced Enlighten shadows
This feature is currently experimental. To disable it, set r.Enlighten.Visibility.AllowRayTracing=0
In a project with real time ray tracing enabled, dynamic Enlighten shadows are available for Directional Light, Point Light and Spot Light actors. Enable dynamic Enlighten shadows for the sun light source for precise sunlight bounce at any time of day.
The images below are lit by Enlighten indirect lighting. The image on the left shows ray traced Enlighten shadows OFF, while the image on the right shows ray traced Enlighten shadows ON. With ray traced Enlighten shadows, green bounced light is visible where the small patch of bright sunlight illuminates the leaves of the tree.
Faster precompute with many cores
This release includes optimization of the Enlighten precompute for workstations with many CPU cores. In worlds which use probe lighting extensively, the precompute now makes full use of available CPU resources when many cores are available. On a powerful workstation with 16/32/64 cores, local precomputes finish in significantly less time.
Enlighten Adaptive Probe Component
Enlighten automatically places probes to cover an instance of the Enlighten Adaptive Probe Component. While the Enlighten Adaptive Probe Volume actor cannot be placed by a blueprint, the Enlighten Adaptive Probe Component can be added to any actor blueprint.
Sky lighting for merged proxy meshes
Enlighten now provides basic indirect lighting for simplified merged proxy meshes created for Hierarchical Level of Detail and World Composition levels. Such meshes do not block or reflect indirect light, but are lit by the Sky Light actor. This works well for proxy meshes that are only ever seen from a long distance.
Improved SNDBS precompute
When running the precompute distributed by SNDBS, tasks are now distributed more effectively to reduce the total time taken.
Enlighten Level Stats window
Warnings are now reported after running the Enlighten parameterize when the Enlighten configuration would generate a very large number of pixels, probes, systems or probe sets. This provides advance feedback so that you can catch problems with the Enlighten configuration before you run the precompute.
Use the new Enlighten Level Stats window to see the estimated number of pixels, probes, systems and probe sets for each level.
Enlighten view modes
The Enlighten visualizations are now available directly from the View Mode menu. This makes it easier to access the visualizations and to switch quickly between them.
The Enlighten Lighting Mode and Lighting Quality view modes now display the Enlighten indirect lighting resolution with a grid pattern. The size of the grid cells matches either the lightmap pixel size for actors with Contribute Lightmap lighting mode, or the adaptive probe resolution for actors with Probe or Contribute Probe lighting mode.
The Enlighten Radiosity Systems and Radiosity Back-faces view modes now display the Enlighten radiosity resolution with a grid pattern. The size of the grid cells matches the Cluster Size associated with the Enlighten Quality configured for the actor.
Important changes
- The versions of Unreal Engine supported by this release are 4.26 and 4.27.
- The XboxOne GDK target platform is now supported .
- Per mesh probe lighting is deprecated and will be removed in a future release.
- The Probe interpolation visibility option is deprecated and will be removed in a future release.
- Actors with Enlighten lighting mode set to Disabled are now lit by sky lighting, but still do not block or reflect indirect light.
- Set Probe Sample Location property to Bounds Center to force the per pixel probe sample position to the bounding box origin.
- When the precompute is distributed via SN-DBS, certain tasks now run as a single process per agent to ensure predictable peak memory usage.
- For worlds with very large probe-lit meshes or very large adaptive probe volumes, the precompute now takes much less time.
- An error is now reported when a streaming level has extremely large bounds that would cause the precompute to fail or take a very long time.
- A warning is now reported after the precompute when excessive probe resolution might cause slow runtime updates.
- When World Composition is enabled, actors in the persistent level now behave as if their Enlighten lighting mode is Disabled.
- A warning is now reported by the precompute when World Composition is enabled and there are actors in the persistent level which affect Enlighten.
- The warning messages shown in the Enlighten Errors window are now persistent and will not be lost when the editor is closed.
- Eliminated long single threaded periods in the precompute when the scene contains 100K or more instances.
- Faster save and smaller Enlighten data on disk for levels which contain many Contribute Probe meshes.
- When a material is two sided and has lighting model set to two-sided foliage, by default the material now transmits light.
- Level packages with empty Enlighten data and Enlighten disabled are no longer marked modified by the precompute.
Fixed bugs
- Fixed missing Probe Sample Method and Probe Sample Count properties for components in the blueprint editor.
- Fixed incorrect indirect lighting after a sky lighting change when running in game mode in a large world.
- Fixed a crash during the precompute in a level that contains a Landscape component split into two parts by a hole.
- Fixed bright flash when a streaming level is unloaded, visible on meshes influenced by a Reflection Capture actor.
- Fixed brightly glowing spots in Enlighten lighting in a level with many Contribute Probe meshes.
- Fixed a crash that could occur in a level with very dense automatic placement of probes.
- Fixed invisible foliage in a level created with unmodified UE4.
- Fixed missing light bounced by foliage in a level created with unmodified UE4.
- Fixed Probe lighting method incorrectly overridden to per mesh for foliage in a level created with unmodified UE4.
- Fixed precompute failure with new SNDBS implementation due to dbsbuild running out of memory.
- Fixed unexpected game thread overhead for Enlighten system container in a streaming level that does not use dynamic Enlighten albedo or emissive.
- Fixed a crash when saving a level which contains a material with a Depth Fade node connected to the Emissive Color material output.
Patches
4.00.P1
- Fixed a crash in the blueprint editor when disabling Real Time Capture for a Sky Light actor and the blueprint contains Volumetric Fog.
- Fixed sometimes incorrect lighting for a mesh with Detail lighting mode when it shares the lighting of a static mesh actor.
- Fixed a hitch that could sometimes occur when unloading a level which contains many meshes with Contribute Lightmap or Detail lighting mode.
- Fixed major seams in per pixel probe lighting within areas with less than 1/16 resolution.
- Fixed minor seams and light leaks in per pixel probe lighting that could occur within interior spaces.