See also:

Look Development

Look Development Process

Digital Color Management

Introduction to real-time lighting

Real-time lighting is a delicate balance between visual fidelity and performance, even in the case of baked (pre-calculated/offline) lighting. The requirements of your project will dictate which lighting solution is the best fit.

Lighting technologies

Generally speaking the choices are between baked and dynamic. Dynamic lighting generally doesn’t look as good as baked lighting, but baked lighting requires a lot of work on all assets to get right. More holistic lighting solutions like Lumen also still have plenty of drawbacks and asset-specific tweaks to get right though, most notably Mesh Distance Fields.

With the advent of real-time raytracing, more and more lighting tech is coming online that is a “complete” lighting solution, meaning direct, indirect (GI), reflection, and scattering. Lumen is one of the big game changers with its real-time raytraced global illumination and reflection capabilities.

Baked or pre-calculated lighting

Usually the best choice for high quality and high fidelity, at the cost of flexibility. Also results are not WYSIWYG in the editor viewport, making the lighting process extra difficult. There are also a lot of moving parts that go into getting good results, from UV mapping (required for good lightmaps) to lightmap density tweaking to preventing non-uniform scaling, it’s a lot. However, the quality you can hit is really really high. A game like Mirror’s Edge from 2008 still holds up thanks to a beautiful implementation of baked lighting.

Mirror’s Edge (2008)

Mirror’s Edge (2008)

Koola using an early Unreal Engine 4 version

Koola using an early Unreal Engine 4 version

Dynamic lighting

Games with a day-night cycle (like GTA or Red Dead) or highly dynamic games like Fortnite require lighting that can constantly update. Day-night cycles are especially difficult to execute on due to a variety of topics, most notably the differences in EVs between day and night, as well as the accompanying lux values.

Hybrid

Most current games fall somewhere in between solutions by for example not baking their directional light but calculating global illumination offline, using reflection capture probes instead of raytraced and screenspace reflections, and baking ambient occlusion.

Untitled

Untitled

Components of CG lighting

Light types

In real-time lighting there are generally 5 light types: