GlobalIlluminationSettings class Lighting and environment
Global illumination settings for a Scene.
A world-space grid of irradiance probes caches bounce light, so indirect light persists for surfaces the camera is not currently looking at and colored bleed reads correctly. Probes are filled by scattering the previous frame's shaded scene color into the grid, so lighting changes converge over a few frames rather than snapping.
Disabled by default. A fresh scene adds no probe passes.
The field replaces the environment's smooth diffuse term inside its volume and fades back to it at the boundary, so it never double-counts image-based lighting. Indirect specular is untouched; reflection probes and environment volumes keep owning it.
Wall thickness is a content rule, not a renderer setting. A wall thinner than one probe spacing leaks light regardless of visibility, and walls modeled as zero-thickness planes always leak. Build solids.
Constructors
Properties
- bakeOnly ↔ bool
-
Freezes injection so the field holds whatever a bake left in it,
costing nothing per frame beyond the receiver. Ignored when the field
has no bake.
getter/setter pair
- emissiveGiBoost ↔ double
-
Scales emissive surfaces' contribution to the injected radiance, so a
small bright emitter can light a room without blowing out the direct
image.
1.0injects emission at the same strength it is shaded.getter/setter pair - enabled ↔ bool
-
Whether the irradiance field runs. Off by default; a fresh scene adds
no probe passes.
getter/setter pair
- extents ↔ Vector3
-
World-space size of the volume. Ignored by
IrradianceVolumeMode.fitScene, which derives it from the scene
bounds, and by IrradianceVolumeMode.component, which takes it from
the active IrradianceVolumeComponent.
getter/setter pair
- fireflyClamp ↔ double
-
Clamps injected radiance by luminance, preserving hue, so a single very
bright pixel cannot burn a probe.
0disables the clamp.getter/setter pair - hashCode → int
-
The hash code for this object.
no setterinherited
- hysteresis ↔ double
-
Fraction of a probe's previous value kept each update, expressed at a
60 Hz reference cadence so a throttled frame rate converges at the same
wall-clock rate instead of blending in more noise. Higher converges
more slowly and more stably. The published useful band is 0.85 to 0.98.
getter/setter pair
- injectionResolution ↔ IrradianceInjectionResolution
-
Resolution of the downsampled buffer the screen-space injection
scatters from. Each texel becomes one scattered sample per frame.
getter/setter pair
- intensity ↔ double
-
Scales the field's contribution to indirect diffuse.
1.0is the energy-matched result; lower values fade back toward the environment.getter/setter pair - probeUpdateBudget ↔ int
-
How many probes the blend and filter passes refresh each frame.
0refreshes all of them. Lower values amortize the cost over more frames and converge proportionally slower.getter/setter pair - resolution ↔ Vector3
-
Probe count along each axis. The product is the probe count and drives
the atlas size. Aim for roughly one probe every 2 to 3 world units.
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- shadowBias ↔ double
-
Scales the offset applied to the shading point before the cage lookup,
as a multiple of the smallest cell edge. Absorbs the octahedral
averaging error so flat surfaces do not self-shadow. Expressed relative
to cell size on purpose, so it does not have to be retuned for scene
scale.
getter/setter pair
- updateWhenIdleOnly ↔ bool
-
Holds the field static while the camera moves and resumes updating once
it comes to rest. Visually near-lossless for an inspect-style viewer and
much cheaper; wrong for a game camera, so it is off by default.
getter/setter pair
- visibility ↔ double
-
Strength of the depth-moment visibility test,
0disabling it (pure trilinear, smoother but leaks through thin walls) and1applying it fully. Also see visibilityBias.getter/setter pair - visibilityBias ↔ double
-
Depth bias for the visibility test, as a fraction of the smallest cell
edge. Must stay under the thinnest wall the scene expects to block
light. Too small and flat surfaces self-shadow into splotches; too
large and thin geometry leaks.
getter/setter pair
- volumeMode ↔ IrradianceVolumeMode
-
How the field's world-space volume is placed. See
IrradianceVolumeMode.
getter/setter pair
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited