EnvironmentSettings class Lighting and environment

A copyable, interpolatable snapshot of a Scene's scene-wide look.

Read one with Scene.environmentSettings and apply one by assigning it back. lerp blends two snapshots: continuous fields (exposure, intensities, color-grading and post-effect parameters) interpolate; discrete fields (the image-based-lighting environment, skybox, sky lighting, sun light, tone mapping operator, and each effect's enabled flag) switch at the halfway point so the endpoints reproduce the inputs exactly. To cross-fade an effect on or off smoothly, animate its amount (e.g. bloom intensity) rather than relying on the flag.

A typical scripted transition drives t from an animation each frame:

scene.environmentSettings = EnvironmentSettings.lerp(dayLook, nightLook, t);

Constructors

EnvironmentSettings({EnvironmentMap? environment, Matrix3? environmentTransform, Skybox? skybox, SkyEnvironment? skyEnvironment, SunLight? sunLight, ToneMappingMode toneMapping = ToneMappingMode.pbrNeutral, double agxWhite = 16.29, double agxContrast = 1.25, double environmentIntensity = 1.0, double exposure = 1.0, bool colorGradingEnabled = false, double brightness = 1.0, double contrast = 1.0, double saturation = 1.0, double temperature = 0.0, double tint = 0.0, Vector3? lift, Vector3? gamma, Vector3? gain, ColorLut? colorGradingLut, double colorGradingLutBlend = 1.0, bool bloomEnabled = false, double bloomThreshold = 1.0, double bloomIntensity = 0.15, double bloomScatter = 0.7, bool lensFlareEnabled = false, double lensFlareIntensity = 1.0, int lensFlareGhostCount = 4, double lensFlareGhostSpacing = 0.3, double lensFlareHaloRadius = 0.35, double lensFlareHaloIntensity = 1.0, double lensFlareChromaticAberration = 0.005, bool vignetteEnabled = false, double vignetteIntensity = 0.5, double vignetteRadius = 0.75, double vignetteSmoothness = 0.5, bool chromaticAberrationEnabled = false, double chromaticAberrationIntensity = 0.2, bool filmGrainEnabled = false, double filmGrainIntensity = 0.3, bool ambientOcclusionEnabled = false, AmbientOcclusionMethod ambientOcclusionMethod = AmbientOcclusionMethod.obscurance, double ambientOcclusionRadius = 0.33, double ambientOcclusionIntensity = 1.0, double ambientOcclusionBias = 0.07, double ambientOcclusionPower = 1.5, double ambientOcclusionDetail = 0.5, double ambientOcclusionHorizonAngle = 0.06, double ambientOcclusionDirectLightAffect = 0.0, double ambientOcclusionMultiBounce = 0.0, int ambientOcclusionSampleCount = 16, int ambientOcclusionSliceCount = 3, int ambientOcclusionStepsPerSlice = 3, bool ambientOcclusionVisibilityBitmask = false, double ambientOcclusionThickness = 0.5, double ambientOcclusionThicknessHeuristic = 0.004, bool ambientOcclusionBentNormals = false, double ambientOcclusionIndirectLight = 0.0, bool ambientOcclusionHalfResolution = true, bool ambientOcclusionDepthMipChain = false, SpecularAmbientOcclusionMode ambientOcclusionSpecularMode = SpecularAmbientOcclusionMode.none, bool screenSpaceReflectionsEnabled = false, double screenSpaceReflectionsIntensity = 1.0, double screenSpaceReflectionsMaxDistance = 24.4, double screenSpaceReflectionsThickness = 0.46, double screenSpaceReflectionsStride = 9.0, int screenSpaceReflectionsMaxSteps = 90, double screenSpaceReflectionsBlur = 0.3, double screenSpaceReflectionsDistanceFadeStart = 0.0, double screenSpaceReflectionsResolutionScale = 1.0, bool globalIlluminationEnabled = false, IrradianceVolumeMode globalIlluminationVolumeMode = IrradianceVolumeMode.followCamera, Vector3? globalIlluminationResolution, Vector3? globalIlluminationExtents, double globalIlluminationIntensity = 1.0, double globalIlluminationHysteresis = 0.95, double globalIlluminationShadowBias = 0.3, double globalIlluminationVisibility = 0.7, double globalIlluminationVisibilityBias = 0.08, int globalIlluminationProbeUpdateBudget = 0, IrradianceInjectionResolution globalIlluminationInjectionResolution = IrradianceInjectionResolution.eighth, double globalIlluminationFireflyClamp = 8.0, double globalIlluminationEmissiveBoost = 1.0, bool globalIlluminationUpdateWhenIdleOnly = false, bool globalIlluminationBakeOnly = false, bool fogEnabled = false, FogMode fogMode = FogMode.exponential, Vector3? fogColor, double fogSkyColorInfluence = 0.0, double fogDensity = 0.02, double fogStart = 0.0, double fogEnd = 200.0, double fogMaxOpacity = 1.0, double fogCutoffDistance = 0.0, double fogHeight = 0.0, double fogHeightFalloff = 0.0, double fogSunInScatter = 0.0, double fogSunInScatterExponent = 8.0, bool godRaysEnabled = false, double godRaysIntensity = 1.0, double godRaysDensity = 0.5, double godRaysAnisotropy = 0.7, int godRaysStepCount = 24, double godRaysMaxDistance = 200.0, double godRaysJitter = 1.0, Vector3? godRaysColor, bool depthOfFieldEnabled = false, double depthOfFieldFocusDistance = 10.0, double depthOfFieldFStop = 2.8, double depthOfFieldFocalLength = 0.0, double depthOfFieldSensorHeight = 0.024, double depthOfFieldBlurScale = 1.0, double depthOfFieldMaxForegroundBlur = 24.0, double depthOfFieldMaxBackgroundBlur = 32.0, int depthOfFieldBladeCount = 0, double depthOfFieldBladeRotation = 0.0, double depthOfFieldBladeCurvature = 0.0, DepthOfFieldQuality depthOfFieldQuality = DepthOfFieldQuality.medium, bool autoExposureEnabled = false, double autoExposureStrength = 0.55, double autoExposureCompensation = 0.0, double autoExposureMinEv = -4.0, double autoExposureMaxEv = 4.0, double autoExposureSpeedUp = 3.0, double autoExposureSpeedDown = 1.0})
Creates a settings snapshot. Most callers use Scene.environmentSettings or EnvironmentSettings.lerp instead of this directly.
EnvironmentSettings.fromScene(Scene scene)
Reads the current look of scene into a snapshot. The IBL/sky references are shared (not deep-copied); the scalar look is captured by value.
factory

Properties

agxContrast ↔ double
getter/setter pair
agxWhite ↔ double
getter/setter pair
ambientOcclusionBentNormals ↔ bool
getter/setter pair
ambientOcclusionBias ↔ double
getter/setter pair
ambientOcclusionDepthMipChain ↔ bool
getter/setter pair
ambientOcclusionDetail ↔ double
getter/setter pair
ambientOcclusionDirectLightAffect ↔ double
getter/setter pair
ambientOcclusionEnabled ↔ bool
getter/setter pair
ambientOcclusionHalfResolution ↔ bool
getter/setter pair
ambientOcclusionHorizonAngle ↔ double
getter/setter pair
ambientOcclusionIndirectLight ↔ double
getter/setter pair
ambientOcclusionIntensity ↔ double
getter/setter pair
ambientOcclusionMethod ↔ AmbientOcclusionMethod
getter/setter pair
ambientOcclusionMultiBounce ↔ double
getter/setter pair
ambientOcclusionPower ↔ double
getter/setter pair
ambientOcclusionRadius ↔ double
getter/setter pair
ambientOcclusionSampleCount ↔ int
getter/setter pair
ambientOcclusionSliceCount ↔ int
getter/setter pair
ambientOcclusionSpecularMode ↔ SpecularAmbientOcclusionMode
getter/setter pair
ambientOcclusionStepsPerSlice ↔ int
getter/setter pair
ambientOcclusionThickness ↔ double
getter/setter pair
ambientOcclusionThicknessHeuristic ↔ double
getter/setter pair
ambientOcclusionVisibilityBitmask ↔ bool
getter/setter pair
autoExposureCompensation ↔ double
getter/setter pair
autoExposureEnabled ↔ bool
getter/setter pair
autoExposureMaxEv ↔ double
getter/setter pair
autoExposureMinEv ↔ double
getter/setter pair
autoExposureSpeedDown ↔ double
getter/setter pair
autoExposureSpeedUp ↔ double
getter/setter pair
autoExposureStrength ↔ double
getter/setter pair
bloomEnabled ↔ bool
getter/setter pair
bloomIntensity ↔ double
getter/setter pair
bloomScatter ↔ double
getter/setter pair
bloomThreshold ↔ double
getter/setter pair
brightness ↔ double
getter/setter pair
chromaticAberrationEnabled ↔ bool
getter/setter pair
chromaticAberrationIntensity ↔ double
getter/setter pair
colorGradingEnabled ↔ bool
getter/setter pair
colorGradingLut ↔ ColorLut?
getter/setter pair
colorGradingLutBlend ↔ double
getter/setter pair
contrast ↔ double
getter/setter pair
depthOfFieldBladeCount ↔ int
getter/setter pair
depthOfFieldBladeCurvature ↔ double
getter/setter pair
depthOfFieldBladeRotation ↔ double
getter/setter pair
depthOfFieldBlurScale ↔ double
getter/setter pair
depthOfFieldEnabled ↔ bool
getter/setter pair
depthOfFieldFocalLength ↔ double
getter/setter pair
depthOfFieldFocusDistance ↔ double
getter/setter pair
depthOfFieldFStop ↔ double
getter/setter pair
depthOfFieldMaxBackgroundBlur ↔ double
getter/setter pair
depthOfFieldMaxForegroundBlur ↔ double
getter/setter pair
depthOfFieldQuality ↔ DepthOfFieldQuality
getter/setter pair
depthOfFieldSensorHeight ↔ double
getter/setter pair
environment ↔ EnvironmentMap?
getter/setter pair
environmentIntensity ↔ double
getter/setter pair
environmentTransform ↔ Matrix3
getter/setter pair
exposure ↔ double
getter/setter pair
filmGrainEnabled ↔ bool
getter/setter pair
filmGrainIntensity ↔ double
getter/setter pair
fogColor ↔ Vector3
getter/setter pair
fogCutoffDistance ↔ double
getter/setter pair
fogDensity ↔ double
getter/setter pair
fogEnabled ↔ bool
getter/setter pair
fogEnd ↔ double
getter/setter pair
fogHeight ↔ double
getter/setter pair
fogHeightFalloff ↔ double
getter/setter pair
fogMaxOpacity ↔ double
getter/setter pair
fogMode ↔ FogMode
getter/setter pair
fogSkyColorInfluence ↔ double
getter/setter pair
fogStart ↔ double
getter/setter pair
fogSunInScatter ↔ double
getter/setter pair
fogSunInScatterExponent ↔ double
getter/setter pair
gain ↔ Vector3
getter/setter pair
gamma ↔ Vector3
getter/setter pair
globalIlluminationBakeOnly ↔ bool
getter/setter pair
globalIlluminationEmissiveBoost ↔ double
getter/setter pair
globalIlluminationEnabled ↔ bool
getter/setter pair
globalIlluminationExtents ↔ Vector3
getter/setter pair
globalIlluminationFireflyClamp ↔ double
getter/setter pair
globalIlluminationHysteresis ↔ double
getter/setter pair
globalIlluminationInjectionResolution ↔ IrradianceInjectionResolution
getter/setter pair
globalIlluminationIntensity ↔ double
getter/setter pair
globalIlluminationProbeUpdateBudget ↔ int
getter/setter pair
globalIlluminationResolution ↔ Vector3
getter/setter pair
globalIlluminationShadowBias ↔ double
getter/setter pair
globalIlluminationUpdateWhenIdleOnly ↔ bool
getter/setter pair
globalIlluminationVisibility ↔ double
getter/setter pair
globalIlluminationVisibilityBias ↔ double
getter/setter pair
globalIlluminationVolumeMode ↔ IrradianceVolumeMode
getter/setter pair
godRaysAnisotropy ↔ double
getter/setter pair
godRaysColor ↔ Vector3
getter/setter pair
godRaysDensity ↔ double
getter/setter pair
godRaysEnabled ↔ bool
getter/setter pair
godRaysIntensity ↔ double
getter/setter pair
godRaysJitter ↔ double
getter/setter pair
godRaysMaxDistance ↔ double
getter/setter pair
godRaysStepCount ↔ int
getter/setter pair
hashCode → int
The hash code for this object.
no setterinherited
lensFlareChromaticAberration ↔ double
getter/setter pair
lensFlareEnabled ↔ bool
getter/setter pair
lensFlareGhostCount ↔ int
getter/setter pair
lensFlareGhostSpacing ↔ double
getter/setter pair
lensFlareHaloIntensity ↔ double
getter/setter pair
lensFlareHaloRadius ↔ double
getter/setter pair
lensFlareIntensity ↔ double
getter/setter pair
lift ↔ Vector3
getter/setter pair
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
saturation ↔ double
getter/setter pair
screenSpaceReflectionsBlur ↔ double
getter/setter pair
screenSpaceReflectionsDistanceFadeStart ↔ double
getter/setter pair
screenSpaceReflectionsEnabled ↔ bool
getter/setter pair
screenSpaceReflectionsIntensity ↔ double
getter/setter pair
screenSpaceReflectionsMaxDistance ↔ double
getter/setter pair
screenSpaceReflectionsMaxSteps ↔ int
getter/setter pair
screenSpaceReflectionsResolutionScale ↔ double
getter/setter pair
screenSpaceReflectionsStride ↔ double
getter/setter pair
screenSpaceReflectionsThickness ↔ double
getter/setter pair
skybox ↔ Skybox?
getter/setter pair
skyEnvironment ↔ SkyEnvironment?
getter/setter pair
sunLight ↔ SunLight?
getter/setter pair
temperature ↔ double
getter/setter pair
tint ↔ double
getter/setter pair
toneMapping ↔ ToneMappingMode
getter/setter pair
vignetteEnabled ↔ bool
getter/setter pair
vignetteIntensity ↔ double
getter/setter pair
vignetteRadius ↔ double
getter/setter pair
vignetteSmoothness ↔ double
getter/setter pair

Methods

applyLookTo(Scene scene) → void
Applies the environment, sky, exposure, and tone mapping to scene.
applyTo(Scene scene) → void
Applies this snapshot to scene, mutating its live look fields.
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

Static Methods

lerp(EnvironmentSettings a, EnvironmentSettings b, double t) → EnvironmentSettings
Interpolates from a to b by t (0 = a, 1 = b). See the class doc for which fields blend and which switch.