Environment

Inherits: Resource < RefCounted < Object

Resource for environment nodes (like WorldEnvironment) that define multiple rendering options.

Description

Resource for environment nodes (like WorldEnvironment) that define multiple environment operations (such as background Sky or Color, ambient light, fog, depth-of-field...). These parameters affect the final render of the scene. The order of these operations is:

  • Depth of Field Blur

  • Glow

  • Tonemap (Auto Exposure)

  • Adjustments

Properties

float

adjustment_brightness

1.0

Texture

adjustment_color_correction

float

adjustment_contrast

1.0

bool

adjustment_enabled

false

float

adjustment_saturation

1.0

Color

ambient_light_color

Color(0, 0, 0, 1)

float

ambient_light_energy

1.0

Color

ambient_light_occlusion_color

Color(0, 0, 0, 1)

float

ambient_light_sky_contribution

1.0

AmbientSource

ambient_light_source

0

bool

auto_exposure_enabled

false

float

auto_exposure_max_luma

8.0

float

auto_exposure_min_luma

0.05

float

auto_exposure_scale

0.4

float

auto_exposure_speed

0.5

int

background_camera_feed_id

1

int

background_canvas_max_layer

0

Color

background_color

Color(0, 0, 0, 1)

float

background_energy

1.0

BGMode

background_mode

0

float

fog_aerial_perspective

0.0

float

fog_density

0.001

bool

fog_enabled

false

float

fog_height

0.0

float

fog_height_density

0.0

Color

fog_light_color

Color(0.5, 0.6, 0.7, 1)

float

fog_light_energy

1.0

float

fog_sun_scatter

0.0

GlowBlendMode

glow_blend_mode

2

float

glow_bloom

0.0

bool

glow_enabled

false

float

glow_hdr_luminance_cap

12.0

float

glow_hdr_scale

2.0

float

glow_hdr_threshold

1.0

float

glow_intensity

0.8

float

glow_levels/1

0.0

float

glow_levels/2

0.0

float

glow_levels/3

1.0

float

glow_levels/4

0.0

float

glow_levels/5

1.0

float

glow_levels/6

0.0

float

glow_levels/7

0.0

float

glow_mix

0.05

bool

glow_normalized

false

float

glow_strength

1.0

ReflectionSource

reflected_light_source

0

float

sdfgi_bounce_feedback

0.0

float

sdfgi_cascade0_distance

12.8

SDFGICascades

sdfgi_cascades

1

bool

sdfgi_enabled

false

float

sdfgi_energy

1.0

float

sdfgi_max_distance

819.2

float

sdfgi_min_cell_size

0.2

float

sdfgi_normal_bias

1.1

float

sdfgi_probe_bias

1.1

bool

sdfgi_read_sky_light

false

bool

sdfgi_use_occlusion

false

SDFGIYScale

sdfgi_y_scale

0

Sky

sky

float

sky_custom_fov

0.0

Vector3

sky_rotation

Vector3(0, 0, 0)

float

ss_reflections_depth_tolerance

0.2

bool

ss_reflections_enabled

false

float

ss_reflections_fade_in

0.15

float

ss_reflections_fade_out

2.0

int

ss_reflections_max_steps

64

float

ssao_ao_channel_affect

0.0

float

ssao_detail

0.5

bool

ssao_enabled

false

float

ssao_horizon

0.06

float

ssao_intensity

2.0

float

ssao_light_affect

0.0

float

ssao_power

1.5

float

ssao_radius

1.0

float

ssao_sharpness

0.98

float

tonemap_exposure

1.0

ToneMapper

tonemap_mode

0

float

tonemap_white

1.0

float

volumetric_fog_density

0.01

float

volumetric_fog_detail_spread

2.0

bool

volumetric_fog_enabled

false

float

volumetric_fog_gi_inject

0.0

float

volumetric_fog_length

64.0

Color

volumetric_fog_light

Color(0, 0, 0, 1)

float

volumetric_fog_light_energy

1.0

float

volumetric_fog_temporal_reprojection_amount

0.9

bool

volumetric_fog_temporal_reprojection_enabled

true

Methods

float

get_glow_level ( int idx ) const

void

set_glow_level ( int idx, float intensity )

Enumerations

enum BGMode:

  • BG_CLEAR_COLOR = 0 --- Clears the background using the clear color defined in ProjectSettings.rendering/environment/defaults/default_clear_color.

  • BG_COLOR = 1 --- Clears the background using a custom clear color.

  • BG_SKY = 2 --- Displays a user-defined sky in the background.

  • BG_CANVAS = 3 --- Displays a CanvasLayer in the background.

  • BG_KEEP = 4 --- Keeps on screen every pixel drawn in the background. This is the fastest background mode, but it can only be safely used in fully-interior scenes (no visible sky or sky reflections). If enabled in a scene where the background is visible, "ghost trail" artifacts will be visible when moving the camera.

  • BG_CAMERA_FEED = 5 --- Displays a camera feed in the background.

  • BG_MAX = 6 --- Represents the size of the BGMode enum.


enum AmbientSource:

  • AMBIENT_SOURCE_BG = 0 --- Gather ambient light from whichever source is specified as the background.

  • AMBIENT_SOURCE_DISABLED = 1 --- Disable ambient light.

  • AMBIENT_SOURCE_COLOR = 2 --- Specify a specific Color for ambient light.

  • AMBIENT_SOURCE_SKY = 3 --- Gather ambient light from the Sky regardless of what the background is.


enum ReflectionSource:

  • REFLECTION_SOURCE_BG = 0 --- Use the background for reflections.

  • REFLECTION_SOURCE_DISABLED = 1 --- Disable reflections.

  • REFLECTION_SOURCE_SKY = 2 --- Use the Sky for reflections regardless of what the background is.


enum ToneMapper:

  • TONE_MAPPER_LINEAR = 0 --- Linear tonemapper operator. Reads the linear data and passes it on unmodified.

  • TONE_MAPPER_REINHARDT = 1 --- Reinhardt tonemapper operator. Performs a variation on rendered pixels' colors by this formula: color = color / (1 + color).

  • TONE_MAPPER_FILMIC = 2 --- Filmic tonemapper operator.

  • TONE_MAPPER_ACES = 3 --- Academy Color Encoding System tonemapper operator.


enum GlowBlendMode:

  • GLOW_BLEND_MODE_ADDITIVE = 0 --- Additive glow blending mode. Mostly used for particles, glows (bloom), lens flare, bright sources.

  • GLOW_BLEND_MODE_SCREEN = 1 --- Screen glow blending mode. Increases brightness, used frequently with bloom.

  • GLOW_BLEND_MODE_SOFTLIGHT = 2 --- Soft light glow blending mode. Modifies contrast, exposes shadows and highlights (vivid bloom).

  • GLOW_BLEND_MODE_REPLACE = 3 --- Replace glow blending mode. Replaces all pixels' color by the glow value. This can be used to simulate a full-screen blur effect by tweaking the glow parameters to match the original image's brightness.

  • GLOW_BLEND_MODE_MIX = 4 --- Mixes the glow with the underlying color to avoid increasing brightness as much while still maintaining a glow effect.


enum SDFGICascades:

  • SDFGI_CASCADES_4 = 0

  • SDFGI_CASCADES_6 = 1

  • SDFGI_CASCADES_8 = 2


enum SDFGIYScale:

  • SDFGI_Y_SCALE_DISABLED = 0

  • SDFGI_Y_SCALE_75_PERCENT = 1

  • SDFGI_Y_SCALE_50_PERCENT = 2


enum VolumetricFogShadowFilter:

  • VOLUMETRIC_FOG_SHADOW_FILTER_DISABLED = 0

  • VOLUMETRIC_FOG_SHADOW_FILTER_LOW = 1

  • VOLUMETRIC_FOG_SHADOW_FILTER_MEDIUM = 2

  • VOLUMETRIC_FOG_SHADOW_FILTER_HIGH = 3

Property Descriptions

  • float adjustment_brightness

Default

1.0

Setter

set_adjustment_brightness(value)

Getter

get_adjustment_brightness()

The global brightness value of the rendered scene. Effective only if adjustment_enabled is true.


  • Texture adjustment_color_correction

Setter

set_adjustment_color_correction(value)

Getter

get_adjustment_color_correction()

The Texture2D or Texture3D lookup table (LUT) to use for the built-in post-process color grading. Can use a GradientTexture for a 1-dimensional LUT, or a Texture3D for a more complex LUT. Effective only if adjustment_enabled is true.


  • float adjustment_contrast

Default

1.0

Setter

set_adjustment_contrast(value)

Getter

get_adjustment_contrast()

The global contrast value of the rendered scene (default value is 1). Effective only if adjustment_enabled is true.


  • bool adjustment_enabled

Default

false

Setter

set_adjustment_enabled(value)

Getter

is_adjustment_enabled()

If true, enables the adjustment_* properties provided by this resource. If false, modifications to the adjustment_* properties will have no effect on the rendered scene.


  • float adjustment_saturation

Default

1.0

Setter

set_adjustment_saturation(value)

Getter

get_adjustment_saturation()

The global color saturation value of the rendered scene (default value is 1). Effective only if adjustment_enabled is true.


  • Color ambient_light_color

Default

Color(0, 0, 0, 1)

Setter

set_ambient_light_color(value)

Getter

get_ambient_light_color()

The ambient light's Color.


  • float ambient_light_energy

Default

1.0

Setter

set_ambient_light_energy(value)

Getter

get_ambient_light_energy()

The ambient light's energy. The higher the value, the stronger the light.


  • Color ambient_light_occlusion_color

Default

Color(0, 0, 0, 1)

Setter

set_ao_color(value)

Getter

get_ao_color()


  • float ambient_light_sky_contribution

Default

1.0

Setter

set_ambient_light_sky_contribution(value)

Getter

get_ambient_light_sky_contribution()

Defines the amount of light that the sky brings on the scene. A value of 0 means that the sky's light emission has no effect on the scene illumination, thus all ambient illumination is provided by the ambient light. On the contrary, a value of 1 means that all the light that affects the scene is provided by the sky, thus the ambient light parameter has no effect on the scene.


Default

0

Setter

set_ambient_source(value)

Getter

get_ambient_source()


  • bool auto_exposure_enabled

Default

false

Setter

set_tonemap_auto_exposure_enabled(value)

Getter

is_tonemap_auto_exposure_enabled()

If true, enables the tonemapping auto exposure mode of the scene renderer. If true, the renderer will automatically determine the exposure setting to adapt to the scene's illumination and the observed light.


  • float auto_exposure_max_luma

Default

8.0

Setter

set_tonemap_auto_exposure_max(value)

Getter

get_tonemap_auto_exposure_max()

The maximum luminance value for the auto exposure.


  • float auto_exposure_min_luma

Default

0.05

Setter

set_tonemap_auto_exposure_min(value)

Getter

get_tonemap_auto_exposure_min()

The minimum luminance value for the auto exposure.


  • float auto_exposure_scale

Default

0.4

Setter

set_tonemap_auto_exposure_grey(value)

Getter

get_tonemap_auto_exposure_grey()

The scale of the auto exposure effect. Affects the intensity of auto exposure.


  • float auto_exposure_speed

Default

0.5

Setter

set_tonemap_auto_exposure_speed(value)

Getter

get_tonemap_auto_exposure_speed()

The speed of the auto exposure effect. Affects the time needed for the camera to perform auto exposure.


  • int background_camera_feed_id

Default

1

Setter

set_camera_feed_id(value)

Getter

get_camera_feed_id()

The ID of the camera feed to show in the background.


  • int background_canvas_max_layer

Default

0

Setter

set_canvas_max_layer(value)

Getter

get_canvas_max_layer()

The maximum layer ID to display. Only effective when using the BG_CANVAS background mode.


Default

Color(0, 0, 0, 1)

Setter

set_bg_color(value)

Getter

get_bg_color()

The Color displayed for clear areas of the scene. Only effective when using the BG_COLOR background mode.


  • float background_energy

Default

1.0

Setter

set_bg_energy(value)

Getter

get_bg_energy()

The power of the light emitted by the background.


Default

0

Setter

set_background(value)

Getter

get_background()

The background mode. See BGMode for possible values.


  • float fog_aerial_perspective

Default

0.0

Setter

set_fog_aerial_perspective(value)

Getter

get_fog_aerial_perspective()

Blend factor between the fog's color and the color of the background Sky. Must have background_mode set to BG_SKY.

This is useful to simulate aerial perspective in large scenes with low density fog. However, it is not very useful for high-density fog, as the sky will shine through. When set to 1.0, the fog color comes completely from the Sky. If set to 0.0, aerial perspective is disabled.


Default

0.001

Setter

set_fog_density(value)

Getter

get_fog_density()


Default

false

Setter

set_fog_enabled(value)

Getter

is_fog_enabled()

If true, fog effects are enabled.


Default

0.0

Setter

set_fog_height(value)

Getter

get_fog_height()


  • float fog_height_density

Default

0.0

Setter

set_fog_height_density(value)

Getter

get_fog_height_density()


Default

Color(0.5, 0.6, 0.7, 1)

Setter

set_fog_light_color(value)

Getter

get_fog_light_color()


Default

1.0

Setter

set_fog_light_energy(value)

Getter

get_fog_light_energy()


Default

0.0

Setter

set_fog_sun_scatter(value)

Getter

get_fog_sun_scatter()


Default

2

Setter

set_glow_blend_mode(value)

Getter

get_glow_blend_mode()

The glow blending mode.


Default

0.0

Setter

set_glow_bloom(value)

Getter

get_glow_bloom()

The bloom's intensity. If set to a value higher than 0, this will make glow visible in areas darker than the glow_hdr_threshold.


Default

false

Setter

set_glow_enabled(value)

Getter

is_glow_enabled()

If true, the glow effect is enabled.


  • float glow_hdr_luminance_cap

Default

12.0

Setter

set_glow_hdr_luminance_cap(value)

Getter

get_glow_hdr_luminance_cap()

The higher threshold of the HDR glow. Areas brighter than this threshold will be clamped for the purposes of the glow effect.


Default

2.0

Setter

set_glow_hdr_bleed_scale(value)

Getter

get_glow_hdr_bleed_scale()

The bleed scale of the HDR glow.


  • float glow_hdr_threshold

Default

1.0

Setter

set_glow_hdr_bleed_threshold(value)

Getter

get_glow_hdr_bleed_threshold()

The lower threshold of the HDR glow. When using the GLES2 renderer (which doesn't support HDR), this needs to be below 1.0 for glow to be visible. A value of 0.9 works well in this case.


Default

0.8

Setter

set_glow_intensity(value)

Getter

get_glow_intensity()

The overall brightness multiplier of the glow effect. When using the GLES2 renderer, this should be increased to 1.5 to compensate for the lack of HDR rendering.


Default

0.0

Setter

set_glow_level(value)

Getter

get_glow_level()

The intensity of the 1st level of glow. This is the most "local" level (least blurry).


Default

0.0

Setter

set_glow_level(value)

Getter

get_glow_level()

The intensity of the 2nd level of glow.


Default

1.0

Setter

set_glow_level(value)

Getter

get_glow_level()

The intensity of the 3rd level of glow.


Default

0.0

Setter

set_glow_level(value)

Getter

get_glow_level()

The intensity of the 4th level of glow.


Default

1.0

Setter

set_glow_level(value)

Getter

get_glow_level()

The intensity of the 5th level of glow.


Default

0.0

Setter

set_glow_level(value)

Getter

get_glow_level()

The intensity of the 6th level of glow.


Default

0.0

Setter

set_glow_level(value)

Getter

get_glow_level()

The intensity of the 7th level of glow. This is the most "global" level (blurriest).


Default

0.05

Setter

set_glow_mix(value)

Getter

get_glow_mix()


  • bool glow_normalized

Default

false

Setter

set_glow_normalized(value)

Getter

is_glow_normalized()

If true, glow levels will be normalized so that summed together their intensities equal 1.0.


Default

1.0

Setter

set_glow_strength(value)

Getter

get_glow_strength()

The strength of the glow effect. This applies as the glow is blurred across the screen and increases the distance and intensity of the blur. When using the GLES2 renderer, this should be increased to 1.3 to compensate for the lack of HDR rendering.


Default

0

Setter

set_reflection_source(value)

Getter

get_reflection_source()


  • float sdfgi_bounce_feedback

Default

0.0

Setter

set_sdfgi_bounce_feedback(value)

Getter

get_sdfgi_bounce_feedback()


  • float sdfgi_cascade0_distance

Default

12.8

Setter

set_sdfgi_cascade0_distance(value)

Getter

get_sdfgi_cascade0_distance()


Default

1

Setter

set_sdfgi_cascades(value)

Getter

get_sdfgi_cascades()


  • bool sdfgi_enabled

Default

false

Setter

set_sdfgi_enabled(value)

Getter

is_sdfgi_enabled()

If true, enables signed distance field global illumination.

Note: Meshes should have sufficiently thick walls to avoid light leaks (avoid one-sided walls). For interior levels, enclose your level geometry in a sufficiently large box and bridge the loops to close the mesh.


Default

1.0

Setter

set_sdfgi_energy(value)

Getter

get_sdfgi_energy()


  • float sdfgi_max_distance

Default

819.2

Setter

set_sdfgi_max_distance(value)

Getter

get_sdfgi_max_distance()


  • float sdfgi_min_cell_size

Default

0.2

Setter

set_sdfgi_min_cell_size(value)

Getter

get_sdfgi_min_cell_size()


  • float sdfgi_normal_bias

Default

1.1

Setter

set_sdfgi_normal_bias(value)

Getter

get_sdfgi_normal_bias()


Default

1.1

Setter

set_sdfgi_probe_bias(value)

Getter

get_sdfgi_probe_bias()


  • bool sdfgi_read_sky_light

Default

false

Setter

set_sdfgi_read_sky_light(value)

Getter

is_sdfgi_reading_sky_light()


  • bool sdfgi_use_occlusion

Default

false

Setter

set_sdfgi_use_occlusion(value)

Getter

is_sdfgi_using_occlusion()


Default

0

Setter

set_sdfgi_y_scale(value)

Getter

get_sdfgi_y_scale()


Setter

set_sky(value)

Getter

get_sky()

The Sky resource used for this Environment.


Default

0.0

Setter

set_sky_custom_fov(value)

Getter

get_sky_custom_fov()


Default

Vector3(0, 0, 0)

Setter

set_sky_rotation(value)

Getter

get_sky_rotation()


  • float ss_reflections_depth_tolerance

Default

0.2

Setter

set_ssr_depth_tolerance(value)

Getter

get_ssr_depth_tolerance()

The depth tolerance for screen-space reflections.


  • bool ss_reflections_enabled

Default

false

Setter

set_ssr_enabled(value)

Getter

is_ssr_enabled()

If true, screen-space reflections are enabled. Screen-space reflections are more accurate than reflections from VoxelGIs or ReflectionProbes, but are slower and can't reflect surfaces occluded by others.


  • float ss_reflections_fade_in

Default

0.15

Setter

set_ssr_fade_in(value)

Getter

get_ssr_fade_in()

The fade-in distance for screen-space reflections. Affects the area from the reflected material to the screen-space reflection).


  • float ss_reflections_fade_out

Default

2.0

Setter

set_ssr_fade_out(value)

Getter

get_ssr_fade_out()

The fade-out distance for screen-space reflections. Affects the area from the screen-space reflection to the "global" reflection.


  • int ss_reflections_max_steps

Default

64

Setter

set_ssr_max_steps(value)

Getter

get_ssr_max_steps()

The maximum number of steps for screen-space reflections. Higher values are slower.


  • float ssao_ao_channel_affect

Default

0.0

Setter

set_ssao_ao_channel_affect(value)

Getter

get_ssao_ao_channel_affect()

The screen-space ambient occlusion intensity on materials that have an AO texture defined. Values higher than 0 will make the SSAO effect visible in areas darkened by AO textures.


Default

0.5

Setter

set_ssao_detail(value)

Getter

get_ssao_detail()

Sets the strength of the additional level of detail for the screen-space ambient occlusion effect. A high value makes the detail pass more prominent, but it may contribute to aliasing in your final image.


Default

false

Setter

set_ssao_enabled(value)

Getter

is_ssao_enabled()

If true, the screen-space ambient occlusion effect is enabled. This darkens objects' corners and cavities to simulate ambient light not reaching the entire object as in real life. This works well for small, dynamic objects, but baked lighting or ambient occlusion textures will do a better job at displaying ambient occlusion on large static objects. Godot uses a form of SSAO called Adaptive Screen Space Ambient Occlusion which is itself a form of Horizon Based Ambient Occlusion.


Default

0.06

Setter

set_ssao_horizon(value)

Getter

get_ssao_horizon()

The threshold for considering whether a given point on a surface is occluded or not represented as an angle from the horizon mapped into the 0.0-1.0 range. A value of 1.0 results in no occlusion.


Default

2.0

Setter

set_ssao_intensity(value)

Getter

get_ssao_intensity()

The primary screen-space ambient occlusion intensity. Acts as a multiplier for the screen-space ambient occlusion effect. A higher value results in darker occlusion.


  • float ssao_light_affect

Default

0.0

Setter

set_ssao_direct_light_affect(value)

Getter

get_ssao_direct_light_affect()

The screen-space ambient occlusion intensity in direct light. In real life, ambient occlusion only applies to indirect light, which means its effects can't be seen in direct light. Values higher than 0 will make the SSAO effect visible in direct light.


Default

1.5

Setter

set_ssao_power(value)

Getter

get_ssao_power()

The distribution of occlusion. A higher value results in darker occlusion, similar to ssao_intensity, but with a sharper falloff.


Default

1.0

Setter

set_ssao_radius(value)

Getter

get_ssao_radius()

The distance at which objects can occlude each other when calculating screen-space ambient occlusion. Higher values will result in occlusion over a greater distance at the cost of performance and quality.


Default

0.98

Setter

set_ssao_sharpness(value)

Getter

get_ssao_sharpness()

Sharpness refers to the amount that the screen-space ambient occlusion effect is allowed to blur over the edges of objects. Setting too high will result in aliasing around the edges of objects. Setting too low will make object edges appear blurry.


Default

1.0

Setter

set_tonemap_exposure(value)

Getter

get_tonemap_exposure()

The default exposure used for tonemapping.


Default

0

Setter

set_tonemapper(value)

Getter

get_tonemapper()

The tonemapping mode to use. Tonemapping is the process that "converts" HDR values to be suitable for rendering on a LDR display. (Godot doesn't support rendering on HDR displays yet.)


Default

1.0

Setter

set_tonemap_white(value)

Getter

get_tonemap_white()

The white reference value for tonemapping. Only effective if the tonemap_mode isn't set to TONE_MAPPER_LINEAR.


  • float volumetric_fog_density

Default

0.01

Setter

set_volumetric_fog_density(value)

Getter

get_volumetric_fog_density()


  • float volumetric_fog_detail_spread

Default

2.0

Setter

set_volumetric_fog_detail_spread(value)

Getter

get_volumetric_fog_detail_spread()


  • bool volumetric_fog_enabled

Default

false

Setter

set_volumetric_fog_enabled(value)

Getter

is_volumetric_fog_enabled()


  • float volumetric_fog_gi_inject

Default

0.0

Setter

set_volumetric_fog_gi_inject(value)

Getter

get_volumetric_fog_gi_inject()


  • float volumetric_fog_length

Default

64.0

Setter

set_volumetric_fog_length(value)

Getter

get_volumetric_fog_length()


  • Color volumetric_fog_light

Default

Color(0, 0, 0, 1)

Setter

set_volumetric_fog_light(value)

Getter

get_volumetric_fog_light()


  • float volumetric_fog_light_energy

Default

1.0

Setter

set_volumetric_fog_light_energy(value)

Getter

get_volumetric_fog_light_energy()


  • float volumetric_fog_temporal_reprojection_amount

Default

0.9

Setter

set_volumetric_fog_temporal_reprojection_amount(value)

Getter

get_volumetric_fog_temporal_reprojection_amount()


  • bool volumetric_fog_temporal_reprojection_enabled

Default

true

Setter

set_volumetric_fog_temporal_reprojection_enabled(value)

Getter

is_volumetric_fog_temporal_reprojection_enabled()

Method Descriptions

  • float get_glow_level ( int idx ) const

Returns the intensity of the glow level idx.


  • void set_glow_level ( int idx, float intensity )

Sets the intensity of the glow level idx. A value above 0.0 enables the level. Each level relies on the previous level. This means that enabling higher glow levels will slow down the glow effect rendering, even if previous levels aren't enabled.