Physically Based Lighting - Introduction



Physically Based Lighting was introduced in version 0.39 and replaces the old lighting model. BeamNG now uses physical light units based on real measurements, such as lumens and watts from light bulb specifications and EV100 exposure values from photography.

Use real-world references when tuning lights. Vehicle headlights, street lamps, emissive materials, exposure, and tone mapping now share the same physical basis, which reduces the need for arbitrary brightness values.

Units of light intensity

Candela (cd)

The default unit for spot lights in the engine and the base unit of luminous intensity. It describes how much light is emitted in a specific direction. For reference, a common wax candle emits about 1 candela. As a practical guideline, a light set to 1000 cd will produce approximately 1000 lux at a distance of one meter (assuming it is directed straight at the surface).

Lumen (lm)

The default unit for point lights. It measures luminous flux, or the total amount of light emitted in all directions. This value does not depend on the size of the light source, but increasing the emitting surface area will spread that light out more, resulting in softer and less intense highlights.

Watt (W)

Watts measure radiant power rather than perceived brightness. The World Editor uses the 683 lumens per watt convention based on the SI maximum luminous efficacy at 555 nm. This convention is also used by glTF PBR lighting conversion and is compatible with Blender. For a point light, 1 W is therefore equivalent to 683 lm.

For spot lights, power is defined as the power the light would emit if it were not limited by the cone, matching Blender and glTF interchange. It is converted to isotropic luminous intensity using candela = watts x 683 / (4 x pi), so 1 W is approximately 54.35 cd regardless of cone angle.

These are radiometric watts, not the electrical power consumed by a bulb or fixture. Real lights have color- and technology-dependent luminous efficacy that is usually much lower than 683 lm/W.

Lux (lx)

A unit of illuminance, describing how much light falls onto a surface. It is used for large scale light sources like the sun and moon. On a clear day, sunlight can reach around 100 000 lux, while moonlight is typically around 1 lux.

Nits (candela per square meter)

A unit of luminance, used by emissive materials in the engine. It represents how bright a surface appears when emitting light. This is commonly used for screens, light panels, and other glowing surfaces.

Exposure Value (EV)

Exposure Value represents a combination of camera shutter speed and aperture (f number). The engine supports EV100, which assumes a standard ISO 100 sensitivity and matches common photography references.

Brightness

A legacy fallback unit used by BeamNG up to version 0.38. It exists for compatibility with older content, but new content should use the physical intensity field instead.

As a reference, a value of 1 brightness corresponds to approximately 5000 cd for spot lights, and about 62,832 lumens for point lights.

Both light types allow you to select unit of your choice when setting up light intensity in your level Both light types allow you to select unit of your choice when setting up light intensity in your level

As of BeamNG version 0.39, quadratic and linear light attenuation models are no longer supported. All lights now use inverse squared falloff, a physically based distance attenuation model. radius on point lights and range on spot lights no longer define the falloff shape, they only limit (clamp) the light’s effective range.
For new lights, edit intensity rather than legacy brightness. The editor can display intensity as lumens, candelas, EV, or radiometric watts. PointLight intensity is stored in lumens, while SpotLight intensity is stored in candelas.

Lighting references

Natural light sources

Illuminance (lux)
Natural light level
Illuminance (lux)
100 000
Natural light level
Clear sunny day
Illuminance (lux)
20 000
Natural light level
Blue sky
Illuminance (lux)
5 000
Natural light level
Low sun
Illuminance (lux)
1 000 - 2 000
Natural light level
Overcast sky
Illuminance (lux)
< 1
Natural light level
Clear sky night during full moon
Illuminance (lux)
0.002
Natural light level
Starry sky without moon

Weather conditions, time of day, and cloud coverage all have a significant impact on overall scene illumination and exposure. Values shown here are reference points, actual lighting in a level can vary greatly depending on sun angle, atmospheric conditions, and environment setup.

Artificial light sources

Luminous flux (lumen)
Source
Luminous flux (lumen)
12.57
Source
Candle
Luminous flux (lumen)
< 100
Source
Small decorative LED lamps
Luminous flux (lumen)
200 - 300
Source
Decorative lamps that do not provide main lighting
Luminous flux (lumen)
400 - 800
Source
Regular ceiling lamps
Luminous flux (lumen)
800 - 1200
Source
Bright ceiling lamps for large rooms
Luminous flux (lumen)
1 000 - 5 000
Source
Workshop / garage task lights
Luminous flux (lumen)
1 000 - 140 000
Source
Street lights
Luminous flux (lumen)
10 000 - 50 000
Source
Parking lot / area light fixtures
Luminous flux (lumen)
20 000 - 100 000
Source
Fuel station canopy fixtures
Luminous flux (lumen)
50 000 - 300 000
Source
Race track / sports floodlight fixtures
Luminous flux (lumen)
100 000 - 1 000 000+
Source
Large stadium floodlight arrays

When intensity is defined in candelas (cd), it represents directional intensity and is not affected by cone angle. When intensity is defined in lumens (lm), the total emitted light is distributed across the cone angle, so wider cones spread the same energy over a larger area. For vehicle-specific emitter setup, see Vehicle Light Bulbs .

Estimating light intensity at distance

To estimate spotlight intensity, convert the desired surface illumination in lux to candelas.

For a spotlight aimed directly at a surface:

candela = lux x distance²

or:

lux = candela / distance²

For example, if you want around 3 lux on a small street surface at 10 meters, the light needs roughly:

3 x 10² = 300 cd

This is a simplified estimate and assumes the light is aimed directly at the surface, without cookies, fog, occlusion, or grazing-angle losses.

Use candelas for directional lights such as spot lights and headlights. Use lumens for total emitted light; wider cones need more lumens to reach the same center brightness.

Target illuminance
Example use
5 m
10 m
15 m
20 m
Target illuminance
2 lux
Example use
Very dim path lighting
5 m
50 cd
10 m
200 cd
15 m
450 cd
20 m
800 cd
Target illuminance
3 lux
Example use
Small dim street at night
5 m
75 cd
10 m
300 cd
15 m
675 cd
20 m
1 200 cd
Target illuminance
5 lux
Example use
Small street / parking edge lighting
5 m
125 cd
10 m
500 cd
15 m
1 125 cd
20 m
2 000 cd
Target illuminance
10 lux
Example use
City street at night
5 m
250 cd
10 m
1 000 cd
15 m
2 250 cd
20 m
4 000 cd
Target illuminance
20 lux
Example use
Brighter street / low tunnel lighting
5 m
500 cd
10 m
2 000 cd
15 m
4 500 cd
20 m
8 000 cd
Target illuminance
30 lux
Example use
Well-lit street / service road
5 m
750 cd
10 m
3 000 cd
15 m
6 750 cd
20 m
12 000 cd
Target illuminance
50 lux
Example use
Tunnel / service area / dim work area
5 m
1 250 cd
10 m
5 000 cd
15 m
11 250 cd
20 m
20 000 cd
Target illuminance
75 lux
Example use
Bright tunnel / utility area
5 m
1 875 cd
10 m
7 500 cd
15 m
16 875 cd
20 m
30 000 cd
Target illuminance
100 lux
Example use
Bright working area / garage
5 m
2 500 cd
10 m
10 000 cd
15 m
22 500 cd
20 m
40 000 cd
Target illuminance
150 lux
Example use
Bedroom / low indoor lighting
5 m
3 750 cd
10 m
15 000 cd
15 m
33 750 cd
20 m
60 000 cd
Target illuminance
300 lux
Example use
Classroom / office / general indoor lighting
5 m
7 500 cd
10 m
30 000 cd
15 m
67 500 cd
20 m
120 000 cd
Target illuminance
500 lux
Example use
Bright office / kitchen counter
5 m
12 500 cd
10 m
50 000 cd
15 m
112 500 cd
20 m
200 000 cd
Target illuminance
750 lux
Example use
Supermarket / bright indoor area
5 m
18 750 cd
10 m
75 000 cd
15 m
168 750 cd
20 m
300 000 cd
Target illuminance
1 000 lux
Example use
Very bright interior / task lighting
5 m
25 000 cd
10 m
100 000 cd
15 m
225 000 cd
20 m
400 000 cd

Large outdoor lighting examples

Large areas such as race tracks, stadiums, industrial yards, ports, and pit lanes need a different approach than small street lights. The light source is often far from the target surface, so required candela values can be high even when the target lux value is reasonable.

Use the table below as a starting point for spot lights. The values are approximate and assume the light is aimed directly at the target area. Real results depend on height, angle, beam width, cookies, fog, surface brightness, exposure, and overlap from nearby fixtures.

Scenario
Target illuminance
Typical throw
Spotlight starting point
Notes
Scenario
Parking lot / service yard
Target illuminance
10 - 30 lux
Typical throw
10 - 25 m
Spotlight starting point
2 000 - 20 000 cd
Notes
Use broad, low-glare pools of light. Keep ranges short and overlap softly.
Scenario
Fuel station forecourt
Target illuminance
100 - 300 lux
Typical throw
5 - 15 m
Spotlight starting point
10 000 - 70 000 cd
Notes
Canopy lights should feel bright but controlled. Avoid lighting far outside the forecourt.
Scenario
Pit lane / paddock work area
Target illuminance
100 - 300 lux
Typical throw
10 - 25 m
Spotlight starting point
30 000 - 190 000 cd
Notes
Needs readable vehicles, markings, people-sized props, and garage entrances.
Scenario
Race track night driving
Target illuminance
50 - 150 lux
Typical throw
20 - 40 m
Spotlight starting point
80 000 - 250 000 cd
Notes
Light the racing line and braking zones first. Use overlapping beams to avoid dark gaps at speed.
Scenario
Race track broadcast / showcase
Target illuminance
300 - 750 lux
Typical throw
25 - 50 m
Spotlight starting point
250 000 - 1 900 000 cd
Notes
Use only for hero scenes or high-profile areas. Balance exposure before raising intensity.
Scenario
Stadium / arena field lighting
Target illuminance
300 - 1 000 lux
Typical throw
30 - 70 m
Spotlight starting point
500 000 - 3 000 000 cd
Notes
Tall mast lights need very high candela because of long throw distance. Use multiple aimed spotlights, not one huge light.
Scenario
Port / container yard
Target illuminance
30 - 100 lux
Typical throw
20 - 50 m
Spotlight starting point
50 000 - 500 000 cd
Notes
Prioritize navigation, loading areas, and silhouettes. Long-range shadows can become expensive.
Scenario
Large industrial facade
Target illuminance
20 - 100 lux
Typical throw
15 - 40 m
Spotlight starting point
20 000 - 300 000 cd
Notes
Use wall washers or angled spotlights with cookies to avoid a flat glowing wall.
Scenario
Tunnel portal / transition zone
Target illuminance
100 - 300 lux
Typical throw
10 - 30 m
Spotlight starting point
30 000 - 270 000 cd
Notes
Brighten entrances more than the deep tunnel so exposure adapts smoothly.
Scenario
Grandstand / spectator area
Target illuminance
50 - 200 lux
Typical throw
10 - 30 m
Spotlight starting point
20 000 - 180 000 cd
Notes
Use many controlled fixtures with short ranges instead of a few extreme lights.

For stadium and race track lighting, avoid solving the whole scene with one extremely strong light. Build the setup from multiple aimed fixtures:

  • Start with the target driving or play surface, not the light model.
  • Aim each spotlight at a specific zone: braking zone, apex, straight, pit entry, grandstand, or field sector.
  • Use overlapping beams so fast-moving vehicles do not pass through alternating bright and dark bands.
  • Keep shadows for key lights only. Many high-intensity shadowed lights can become expensive quickly.
  • Use cookies or IES profiles when the fixture needs a shaped beam or cutoff.
  • Tune exposure before increasing intensity. Incorrect exposure can make physically reasonable stadium lights appear too dim or too harsh.
For long-throw floodlights, distance dominates the calculation. A target of 300 lux at 40 m needs about 300 x 40² = 480 000 cd before losses. The same 300 lux target at 20 m needs only 120 000 cd.

Typical lighting levels

Illuminance (lux)
Area Type
Illuminance (lux)
150 - 300
Area Type
Bedroom
Illuminance (lux)
300 - 500
Area Type
Classroom
Illuminance (lux)
300 - 750
Area Type
Kitchen
Illuminance (lux)
750 - 1 000
Area Type
Supermarket
Illuminance (lux)
300 - 1 000
Area Type
Stadium / arena field lighting
Illuminance (lux)
300 - 750
Area Type
Race track broadcast / showcase lighting
Illuminance (lux)
100 - 300
Area Type
Fuel station forecourt / pit lane
Illuminance (lux)
50 - 150
Area Type
Race track night driving
Illuminance (lux)
40 - 100
Area Type
Tunnel
Illuminance (lux)
30 - 100
Area Type
Port / industrial yard
Illuminance (lux)
10 - 30
Area Type
Parking lot / service yard
Illuminance (lux)
10 - 20
Area Type
City street at night
Illuminance (lux)
3 - 5
Area Type
Small street at night

Level night lighting

Once you have tuned your lights using physical units, you can set them up to trigger automatically based on the level’s time of day.

The recommended workflow is to author the light fixtures with their physical intensity first to ensure they look correct in the editor, and then mark them for automatic night control. This ensures that any overrides (such as dayIntensity or nightIntensity) remain consistent with the physical basis described in this guide.

For a detailed implementation guide on configuring street lamps, glowing meshes, and setting up the night-lighting time window, see Night Lighting .

Color temperatures

Color Temperature (K)
Source
Typical editor filament
Color Temperature (K)
1700
Source
Candle flame
Typical editor filament
Blackbody / pure CCT
Color Temperature (K)
1800 - 2200
Source
Amber turn signals / marker lights
Typical editor filament
Blackbody / pure CCT
Color Temperature (K)
2200
Source
HPS street light
Typical editor filament
Sodium vapor
Color Temperature (K)
2700 - 3200
Source
Warm incandescent bulbs / classic vehicle lights
Typical editor filament
Tungsten filament
Color Temperature (K)
3000
Source
Incandescent
Typical editor filament
Tungsten filament
Color Temperature (K)
3200
Source
Studio tungsten
Typical editor filament
Tungsten filament
Color Temperature (K)
4000
Source
Fluorescent tube
Typical editor filament
Fluorescent tube
Color Temperature (K)
4300
Source
Halogen
Typical editor filament
Quartz halogen
Color Temperature (K)
5000
Source
Neutral LED / modern halogen
Typical editor filament
Cool phosphor LED
Color Temperature (K)
5000
Source
Phosphor LED streetlight
Typical editor filament
Phosphor LED
Color Temperature (K)
5000
Source
Metal halide floodlight
Typical editor filament
Metal halide
Color Temperature (K)
5000 - 6500
Source
OEM LED / xenon headlights
Typical editor filament
Xenon HID
Color Temperature (K)
5500
Source
Sunlight at noon
Typical editor filament
Blackbody / pure CCT
Color Temperature (K)
6000
Source
Mercury vapor streetlight
Typical editor filament
Mercury vapor
Color Temperature (K)
6500
Source
Modern LED / xenon
Typical editor filament
Xenon HID
Color Temperature (K)
8000
Source
Shade / aftermarket LED or xenon
Typical editor filament
Xenon HID
Color Temperature (K)
10000
Source
Blue sky
Typical editor filament
Blackbody / pure CCT
Color Temperature (K)
12000
Source
Blue light
Typical editor filament
Blackbody / pure CCT

The World Editor color temperature control converts Kelvin values to linear RGB using the Planckian locus, then stores the resulting color on the light. Use this for the base color of real fixtures instead of hand-picking arbitrary RGB values.

The control also provides fixture-style presets and filament types. Kelvin defines the base white point, while the filament type adds the characteristic tint of the lamp technology:

  • Blackbody / pure CCT for neutral physical color temperature.
  • Tungsten filament and Quartz halogen for warm incandescent and halogen fixtures.
  • Warm phosphor LED, Cool phosphor LED, Phosphor LED, and Xenon HID for modern vehicle and street-light sources.
  • Fluorescent tube, Sodium vapor, Mercury vapor, and Metal halide for common level-lighting fixtures.

For filament types that age noticeably, the Degradation slider shifts the tint toward the expected worn or failed color. Use small values for subtle variation across repeated fixtures, and larger values only when the lamp should visibly look aged, mismatched, or failing.

Perceived color temperature can vary depending on camera settings such as auto white balance. While Kelvin values define the physical color of light, the final appearance in a scene may shift as the camera or eyes adapts, making lights appear warmer or cooler than their set value.

Camera exposure values

Exposure Value (EV)
Condition
Exposure Value (EV)
-2
Condition
Moonless
Exposure Value (EV)
1
Condition
Moonlit
Exposure Value (EV)
3
Condition
City at night
Exposure Value (EV)
3 - 5
Condition
Night driving / dim street lighting
Exposure Value (EV)
4
Condition
Interior
Exposure Value (EV)
5 - 7
Condition
Tunnel / parking garage
Exposure Value (EV)
7
Condition
Low Sun
Exposure Value (EV)
10
Condition
Cloudy
Exposure Value (EV)
11 - 13
Condition
Open shade / overcast daylight
Exposure Value (EV)
14
Condition
Sunlit

Emissive materials

Luminance (nit)
Light type
Luminance (nit)
15 000 - 30 000
Light type
Modern LED headlights (high beam)
Luminance (nit)
10 000 - 20 000
Light type
Modern LED headlights (low beam)
Luminance (nit)
7 000 - 12 000
Light type
Halogen headlights (high beam)
Luminance (nit)
5 000 - 9 000
Light type
Halogen headlights (low beam)
Luminance (nit)
8 000 - 20 000
Light type
Daytime running lights (DRL, LED)
Luminance (nit)
5 000 - 10 000
Light type
Front fog lights
Luminance (nit)
4 000 - 9 000
Light type
Turn signals / blinkers
Luminance (nit)
3 000 - 8 000
Light type
Brake lights
Luminance (nit)
3 000 - 8 000
Light type
Reverse lights
Luminance (nit)
3 000 - 8 000
Light type
Rear fog lights
Luminance (nit)
1 500 - 5 000
Light type
Front position / parking lights
Luminance (nit)
1 000
Light type
Interior displays (modern, LED backlit)
Luminance (nit)
1 000 - 3 000
Light type
Rear tail / running lights
Luminance (nit)
500 - 1 500
Light type
Side marker lights
Luminance (nit)
500 - 2 000
Light type
License plate lights
Luminance (nit)
100 - 500
Light type
Interior dome / map lights
Luminance (nit)
< 300
Light type
Interior displays (low-end / older)
Luminance (nit)
< 100
Light type
Interior displays (night mode)
Luminance (nit)
100
Light type
Instrument cluster lighting (modern, ~1990s+)
Luminance (nit)
50 - 75
Light type
Instrument cluster lighting (classic vehicles)
Luminance (nit)
500
Light type
Small indicator / accent lighting (LEDs, props, etc.)
Luminance (nit)
10 000
Light type
Powerglow skins
Luminance (nit)
450
Light type
Digital signage
Luminance (nit)
130
Light type
Tunnel signage
Luminance (nit)
3 100 - 5 000
Light type
Traffic signals
Luminance (nit)
700 - 5 000
Light type
Outdoor displays
Luminance (nit)
20 000 - 100 000
Light type
Sodium vapor streetlight lens / bulb

Vehicle emissive values are practical peak-luminance starting points for visible lens surfaces, not exact lamp output measurements. White or fully saturated 255 texels use the full nits value, while darker texels scale it down. Keep these values conservative: small blinkers, side markers, and tail lights may need the upper end of their range for daytime readability, but should stay below headlight lens peaks. Use physical light sources for actual illumination, then tune lens area, texture brightness, exposure, bloom, and beam pattern in-game.
At night, very bright emissive surfaces are affected by EV-based emissive exposure compression. This preserves visible detail under high night exposure without requiring separate SDR and HDR authoring. See Tone Mapping and HDR for the display pipeline details.

Light cookie textures

Light cookies shape and mask the output of a light. Use them for projected patterns such as headlight beams, window shadows, or gobo effects.

White areas of the texture allow full light contribution, while darker areas reduce or block it. For example, a 50% gray value results in roughly 50% of the light’s intensity being visible.

A cookie does not change the configured intensity value. White keeps the full set intensity, darker values attenuate it, and a cookie can never brighten the light beyond its set value.

For best results, use cookies to define light shape (for example, vehicle headlight patterns) while keeping intensity set using proper physical units.

IES light profiles

IES files are photometric light profiles used by real-world lighting manufacturers. They describe how a lamp or fixture distributes light in different directions, usually using measured candela values.

Instead of emitting light in a simple circular cone, an IES profile can represent the actual beam shape of a real fixture. Use it for lights such as:

  • Street lamps
  • Wall-mounted lights
  • Industrial lamps
  • Architectural lighting
  • Vehicle lights with complex beam patterns

Real lights rarely emit perfectly uniform light. IES profiles capture asymmetric shapes, hot spots, cutoffs, falloff patterns, and other details caused by the reflector, lens, housing, or bulb placement.

In BeamNG, IES files can be converted into light cookie textures. The cookie texture stores the light distribution pattern, while the light itself still uses physical intensity values such as candela or lumens.

An IES profile does not replace physical light intensity. It defines the shape and distribution of the light. The final brightness should still be set using proper physical units.

Bundled IES profiles

The game ships several ready-made IES profiles in art/special/ies/, each with a matching generated .cookie.json:

  • 400W_sodium and 400W_streetlight - high-power street lamps
  • 282W_light and 80W_light - general area / wall fixtures
  • tunnel_light - tunnel lighting

IES Cookie Importer (Experimental)

IES profiles can be imported using the IES Cookie Importer tool in the World Editor.

The importer reads the .ies file, extracts photometric information, and generates:

  • A grayscale cookie texture, usually saved as *.color.png
  • A matching .cookie.json metadata file

The generated cookie texture can then be assigned to a light’s cookie field.

IES Cookie Importer IES Cookie Importer

The metadata file can store useful information extracted from the IES file, such as:

  • Peak candela
  • Suggested spotlight angle
  • Lumens
  • Input watts
  • Color temperature, when available
  • Manufacturer and lamp information

When a cookie has matching metadata, the editor can apply the IES data to the selected light using Apply IES if available. This can automatically set suitable intensity, angle, and color temperature values when the data is present.

Import settings

The importer provides several options for controlling how the IES profile is converted into a cookie texture.

Setting Description
Texture size Resolution of the generated cookie texture. Higher values preserve more detail but use more memory.
Projection Controls how angular data is projected into the texture. Perspective is usually best for spotlight cookies.
Auto angle from IES Automatically uses the IES vertical angle range to determine the light cone.
Half-angle Manual cone half-angle used when auto angle is disabled. The final spotlight outer angle is twice this value.
Cookie rotation Rotates the generated cookie texture. Useful when the beam pattern needs to be aligned with the fixture.
Edge feather Softens the edge of the cookie to avoid harsh circular cutoffs.
Auto-center on brightest direction Centers the cookie around the brightest direction in the IES profile.
Center theta / phi Manual angular center controls used when auto-center is disabled.
Percentile Controls normalization of the generated texture. Lower values can prevent a single bright pixel from making the rest of the cookie too dark.
Gamma Applies gamma adjustment to the generated image. 1.0 keeps the output linear.
Scale Multiplies the final cookie brightness.
Invert Inverts the cookie output. Usually not needed for normal light cookies.
The generated cookie texture is normalized for texture output. It represents relative light distribution, not absolute brightness. Use the light intensity value to control the real emitted power.

Recommended workflow

A typical IES workflow:

  1. Download or create an .ies profile for the fixture you want to recreate.
  2. Open the IES Cookie Importer in the World Editor.
  3. Select the input .ies file.
  4. Review the photometric information, especially peak candela, lumens, and beam direction.
  5. Generate the cookie texture.
  6. Assign the generated cookie to a SpotLight.
  7. Use Apply IES if available to apply metadata to the light.
  8. Fine-tune position, rotation, and exposure in the scene.

For best results, use IES profiles together with physically correct intensity values and realistic color temperature.

Lighting workflow

A simple approach to setting up physically based lighting:

  • Start by setting a correct exposure. Use manual EV100 for reference checks, then return to Auto Exposure for gameplay evaluation.
  • Use real world reference values (lux, lumens, candelas) for your lights.
  • Set light color using realistic temperature (Kelvin), not arbitrary RGB values.
  • Fine-tune only after the base values feel correct across time of day, weather, interiors, and exterior transitions.

It&rsquo;s possible to enable color temperature input in lights and materials, this will allow you to get more natural looking lights. It’s possible to enable color temperature input in lights and materials, this will allow you to get more natural looking lights.

This avoids compensating errors, where incorrect exposure or intensity leads to unrealistic results.

Emissive workflow

When using nits for emissive materials, the texture color and nits intensity work together to define the final brightness.

  • Keep emissive color values within the standard SDR range (0-255).
  • Use the nits intensity value as the peak brightness for the SDR texture, not overbright color values.
  • The texture modulates the emissive output: full white/color means 100% of the set nits value is used.
  • Darker texture values reduce the emitted brightness proportionally.
  • If the material’s emissive color factor is left white, brightness variation must be authored directly in the emissive texture.
  • Use real light objects for illumination. Emissive materials should make the visible surface glow, not replace the beam or area lighting.

For example, if an emissive material is set to 1000 nits, a white pixel emits the full 1000 nits, while a 50% gray pixel emits roughly 500 nits.

This means different parts of the same emissive texture, such as running lights, brake lights, screens, or small indicators, should be balanced through the texture itself while using a physically reasonable nits value.

For vehicle lights, use emissive materials to make the lens or bulb surface appear lit, then use real light sources for illumination. This keeps visible glow, projected light, bloom, and exposure easier to tune independently.

Night emissives can be very bright once Auto Exposure adapts to darkness. The current pipeline applies EV compression to very bright emissives at night so details remain readable instead of clipping immediately. This is a safety mechanism for display range, not a reason to use unrealistic emissive values.

Emissive materials setup Emissive materials setup

This replaces older workflows that relied on bloom or exaggerated color values.

Older content often used overbright emissive colors to drive bloom. This is no longer recommended. With physically based lighting, intensity should come from nits values, not color values above 255.

Sky and sun

The sky, sun, and moon are controlled by the game engine and use physically based values. They provide both direct light and ambient light. Their intensity is not arbitrary, it follows real world ranges and uses lux where it contributes to scene lighting, providing consistent outdoor lighting.

Clear Sky

Overcast

Lighting from these sources is dynamically affected by factors such as sun height (time of day), atmospheric scattering, fog, and cloud coverage. As a result, overall scene illumination and color can vary significantly throughout the day and under different weather conditions.

Night sky elements such as the moon disc, stars, Milky Way, and meteors use EV-style brightness offsets on top of their calibrated ranges. EV 0 means the calibrated value, +1 doubles it, and -1 halves it. These controls are intended for artistic readability while keeping the scale meaningful.

For ScatterSky, constellations, clouds, and procedural Night Sky setup, see Sky, Atmosphere, and Night Sky .

Tips and suggestions

  • If you are unsure about your lighting, use manual exposure and verify values using known EV references.
  • Always set exposure first. Incorrect exposure will make physically correct lights look wrong.
  • Test lighting across different times of day and weather conditions.
  • Use real world reference values whenever possible instead of guessing.
  • Keep emissive color values within SDR range (0-255) and control brightness using nits.
  • Use intensity for new light objects. Treat brightness as a legacy compatibility field.
  • Avoid compensating for bad lighting by increasing intensity. Fix the root cause instead (exposure, scale, or setup).

Further reading

Last modified: July 23, 2026

Any further questions?

Join our discord
Our documentation is currently incomplete and undergoing active development. If you have any questions or feedback, please visit this forum thread.