Global illumination (sometimes referred to as indirect lighting and indirect illumination) simulates lighting interactions with geometry and material surfaces to add accurate lighting to scenes. Global illumination also takes into account absorption and reflectiveness of the materials in which it interacts.
Simulating the way in which light behaves in a 3D world is handled in one of two ways: using lighting that supports movement and interaction, or precomputed lighting that doesn't require scenes to be overly dynamic or interactive with lighting.
Unreal Engine provides multiple lighting paths to choose from for global illumination solutions, and often they are not exclusive to one another and can be seamlessly blended. For example, it is possible to have both dynamic lighting and baked lighting within the same scene.
For comparison, the list below highlights some of the benefits of choosing a precomputed or dynamic global illumination path for your project:
|
|
Precomputed Global Illumination
The light baking system in Unreal Engine computes lighting data on the CPU, or GPU, using the Lightmass Global Illumination system. This method of precomputing lighting is used to achieve high-quality results that aren't compromised by real-time limitations by storing the information in textures that are then applied to geometry. This method of lighting cannot be changed dynamically and is ideal for projects where lighting doesn't need to change, or for mobile projects where dynamic lighting is limited.
Projects created without a template have static lighting turned off, so you can't build lighting in them until you enable Allow Static Lighting in Project Settings > Engine > Rendering and restart the editor. World Partition levels also turn off precomputed lighting by default.
CPU-based Lightmass uses the CPU with a separate program called Unreal Swarm to compute and generate lighting data. This method can use a single machine or distribute lighting data to build farms.
GPU-based Lightmass is a plugin that uses your machine's GPU to compute and generate lighting data. It requires DirectX 12 and a GPU that supports hardware ray tracing.
Precomputed Global Illumination Methods
Precomputed Global Illumination Supporting Topics
Dynamic Global Illumination
The dynamic global illumination methods in Unreal Engine provide real-time scalable solutions for dynamic indirect lighting in your projects. This means being able to place, move, and light objects in the world without additional costs of baking lighting or having additional set up. Dynamic indirect lighting also means being able to accurately simulate time-of-day transitions or something as simple as turning a light on and off and having light bounce and reflect accurately.
Lumen is a fully dynamic global illumination and reflection system that is designed for next-generation consoles. It is the default dynamic global illumination system and uses multiple ray tracing methods to solve global illumination and reflections at scale.