Resource for environment nodes (like [WorldEnvironment]) that define multiple rendering options.
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
If the target [Viewport] is set to "2D Without Sampling", all post-processing effects will be unavailable. With "3D Without Effects", the following options will be unavailable:
- Ssao
- Ss Reflections
This can be configured for the root Viewport with [member ProjectSettings.rendering/quality/intended_usage/framebuffer_allocation], or for specific Viewports via the [member Viewport.usage] property.
Note that [member ProjectSettings.rendering/quality/intended_usage/framebuffer_allocation] has a mobile platform override to use "3D Without Effects" by default. It improves the performance on mobile devices, but at the same time affects the screen display on mobile devices.
$DOCS_URL/tutorials/3d/environment_and_post_processing.html
$DOCS_URL/tutorials/3d/high_dynamic_range.html
https://godotengine.org/asset-library/asset/123
https://godotengine.org/asset-library/asset/110
https://godotengine.org/asset-library/asset/678
Returns [code]true[/code] if the glow level [code]idx[/code] is specified, [code]false[/code] otherwise.
Enables or disables the glow level at index [code]idx[/code]. 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.
The global brightness value of the rendered scene. Effective only if [code]adjustment_enabled[/code] is [code]true[/code].
Applies the provided [Texture] resource to affect the global color aspect of the rendered scene. Effective only if [code]adjustment_enabled[/code] is [code]true[/code].
The global contrast value of the rendered scene (default value is 1). Effective only if [code]adjustment_enabled[/code] is [code]true[/code].
If [code]true[/code], enables the [code]adjustment_*[/code] properties provided by this resource. If [code]false[/code], modifications to the [code]adjustment_*[/code] properties will have no effect on the rendered scene.
The global color saturation value of the rendered scene (default value is 1). Effective only if [code]adjustment_enabled[/code] is [code]true[/code].
The ambient light's [Color].
The ambient light's energy. The higher the value, the stronger the light.
Defines the amount of light that the sky brings on the scene. A value of [code]0.0[/code] 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 [code]1.0[/code] means that [i]all[/i] the light that affects the scene is provided by the sky, thus the ambient light parameter has no effect on the scene.
[b]Note:[/b] [member ambient_light_sky_contribution] is internally clamped between [code]0.0[/code] and [code]1.0[/code] (inclusive).
If [code]true[/code], enables the tonemapping auto exposure mode of the scene renderer. If [code]true[/code], the renderer will automatically determine the exposure setting to adapt to the scene's illumination and the observed light.
The maximum luminance value for the auto exposure.
The minimum luminance value for the auto exposure.
The scale of the auto exposure effect. Affects the intensity of auto exposure.
The speed of the auto exposure effect. Affects the time needed for the camera to perform auto exposure.
The maximum layer ID to display. Only effective when using the [constant BG_CANVAS] background mode.
The [Color] displayed for clear areas of the scene. Only effective when using the [constant BG_COLOR] or [constant BG_COLOR_SKY] background modes).
The power of the light emitted by the background.
The background mode. See [enum BGMode] for possible values.
The [Sky] resource defined as background.
The [Sky] resource's custom field of view.
The [Sky] resource's rotation expressed as a [Basis].
The [Sky] resource's rotation expressed as Euler angles in radians.
The [Sky] resource's rotation expressed as Euler angles in degrees.
The amount of far blur for the depth-of-field effect.
The distance from the camera where the far blur effect affects the rendering.
If [code]true[/code], enables the depth-of-field far blur effect.
The depth-of-field far blur's quality. Higher values can mitigate the visible banding effect seen at higher strengths, but are much slower.
The length of the transition between the no-blur area and far blur.
The amount of near blur for the depth-of-field effect.
Distance from the camera where the near blur effect affects the rendering.
If [code]true[/code], enables the depth-of-field near blur effect.
The depth-of-field near blur's quality. Higher values can mitigate the visible banding effect seen at higher strengths, but are much slower.
The length of the transition between the near blur and no-blur area.
The fog's [Color].
The fog's depth starting distance from the camera.
The fog depth's intensity curve. A number of presets are available in the [b]Inspector[/b] by right-clicking the curve.
If [code]true[/code], the depth fog effect is enabled. When enabled, fog will appear in the distance (relative to the camera).
The fog's depth end distance from the camera. If this value is set to 0, it will be equal to the current camera's [member Camera.far] value.
If [code]true[/code], fog effects are enabled. [member fog_height_enabled] and/or [member fog_depth_enabled] must be set to [code]true[/code] to actually display fog.
The height fog's intensity. A number of presets are available in the [b]Inspector[/b] by right-clicking the curve.
If [code]true[/code], the height fog effect is enabled. When enabled, fog will appear in a defined height range, regardless of the distance from the camera. This can be used to simulate "deep water" effects with a lower performance cost compared to a dedicated shader.
The Y coordinate where the height fog will be the most intense. If this value is greater than [member fog_height_min], fog will be displayed from bottom to top. Otherwise, it will be displayed from top to bottom.
The Y coordinate where the height fog will be the least intense. If this value is greater than [member fog_height_max], fog will be displayed from top to bottom. Otherwise, it will be displayed from bottom to top.
The intensity of the depth fog color transition when looking towards the sun. The sun's direction is determined automatically using the DirectionalLight node in the scene.
The depth fog's [Color] when looking towards the sun.
The intensity of the fog light transmittance effect. Amount of light that the fog transmits.
Enables fog's light transmission effect. If [code]true[/code], light will be more visible in the fog to simulate light scattering as in real life.
Smooths out the blockiness created by sampling higher levels, at the cost of performance.
[b]Note:[/b] When using the GLES2 renderer, this is only available if the GPU supports the [code]GL_EXT_gpu_shader4[/code] extension.
The glow blending mode.
The bloom's intensity. If set to a value higher than [code]0[/code], this will make glow visible in areas darker than the [member glow_hdr_threshold].
If [code]true[/code], the glow effect is enabled.
[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] by default, so its [code].mobile[/code] override needs to be changed to [b]3D[/b].
[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by default for performance reasons. This means glow will only be visible if [member glow_hdr_threshold] is decreased below [code]1.0[/code] or if [member glow_bloom] is increased above [code]0.0[/code]. Also consider increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to behave on mobile like it does on desktop (at a performance cost), enable [member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] override.
The higher threshold of the HDR glow. Areas brighter than this threshold will be clamped for the purposes of the glow effect.
The bleed scale of the HDR glow.
The lower threshold of the HDR glow. When using the GLES2 renderer (which doesn't support HDR), this needs to be below [code]1.0[/code] for glow to be visible. A value of [code]0.9[/code] works well in this case.
Takes more samples during downsample pass of glow. This ensures that single pixels are captured by glow which makes the glow look smoother and more stable during movement. However, it is very expensive and makes the glow post process take twice as long.
The glow intensity. When using the GLES2 renderer, this should be increased to 1.5 to compensate for the lack of HDR rendering.
If [code]true[/code], the 1st level of glow is enabled. This is the most "local" level (least blurry).
If [code]true[/code], the 2th level of glow is enabled.
If [code]true[/code], the 3th level of glow is enabled.
If [code]true[/code], the 4th level of glow is enabled.
If [code]true[/code], the 5th level of glow is enabled.
If [code]true[/code], the 6th level of glow is enabled.
If [code]true[/code], the 7th level of glow is enabled. This is the most "global" level (blurriest).
The glow strength. When using the GLES2 renderer, this should be increased to 1.3 to compensate for the lack of HDR rendering.
The depth tolerance for screen-space reflections.
If [code]true[/code], screen-space reflections are enabled. Screen-space reflections are more accurate than reflections from [GIProbe]s or [ReflectionProbe]s, but are slower and can't reflect surfaces occluded by others.
The fade-in distance for screen-space reflections. Affects the area from the reflected material to the screen-space reflection).
The fade-out distance for screen-space reflections. Affects the area from the screen-space reflection to the "global" reflection.
The maximum number of steps for screen-space reflections. Higher values are slower.
If [code]true[/code], screen-space reflections will take the material roughness into account.
The screen-space ambient occlusion intensity on materials that have an AO texture defined. Values higher than [code]0[/code] will make the SSAO effect visible in areas darkened by AO textures.
The screen-space ambient occlusion bias. This should be kept high enough to prevent "smooth" curves from being affected by ambient occlusion.
The screen-space ambient occlusion blur quality. See [enum SSAOBlur] for possible values.
The screen-space ambient occlusion color.
The screen-space ambient occlusion edge sharpness.
If [code]true[/code], 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. This is a costly effect and should be disabled first when running into performance issues.
The primary screen-space ambient occlusion intensity. See also [member ssao_radius].
The secondary screen-space ambient occlusion intensity. See also [member ssao_radius2].
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 [code]0[/code] will make the SSAO effect visible in direct light.
The screen-space ambient occlusion quality. Higher qualities will make better use of small objects for ambient occlusion, but are slower.
The primary screen-space ambient occlusion radius.
The secondary screen-space ambient occlusion radius. If set to a value higher than [code]0[/code], enables the secondary screen-space ambient occlusion effect which can be used to improve the effect's appearance (at the cost of performance).
The default exposure used for tonemapping.
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.)
The white reference value for tonemapping. Only effective if the [member tonemap_mode] isn't set to [constant TONE_MAPPER_LINEAR].
Keeps on screen every pixel drawn in the background. Only select this mode if you really need to keep the old data. On modern GPUs it will generally not be faster than clearing the background, and can be significantly slower, particularly on mobile.
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.
Clears the background using the clear color defined in [member ProjectSettings.rendering/environment/default_clear_color].
Clears the background using a custom clear color.
Displays a user-defined sky in the background.
Clears the background using a custom clear color and allows defining a sky for shading and reflection. This mode is slightly faster than [constant BG_SKY] and should be preferred in scenes where reflections can be visible, but the sky itself never is (e.g. top-down camera).
Displays a [CanvasLayer] in the background.
Displays a camera feed in the background.
Represents the size of the [enum BGMode] enum.
Additive glow blending mode. Mostly used for particles, glows (bloom), lens flare, bright sources.
Screen glow blending mode. Increases brightness, used frequently with bloom.
Soft light glow blending mode. Modifies contrast, exposes shadows and highlights (vivid bloom).
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.
Linear tonemapper operator. Reads the linear data and passes it on unmodified. This can cause bright lighting to look blown out, with noticeable clipping in the output colors.
Reinhardt tonemapper operator. Performs a variation on rendered pixels' colors by this formula: [code]color = color / (1 + color)[/code]. This avoids clipping bright highlights, but the resulting image can look a bit dull.
Filmic tonemapper operator. This avoids clipping bright highlights, with a resulting image that usually looks more vivid than [constant TONE_MAPPER_REINHARDT].
Use the legacy Godot version of the Academy Color Encoding System tonemapper. Unlike [constant TONE_MAPPER_ACES_FITTED], this version of ACES does not handle bright lighting in a physically accurate way. ACES typically has a more contrasted output compared to [constant TONE_MAPPER_REINHARDT] and [constant TONE_MAPPER_FILMIC].
[b]Note:[/b] This tonemapping operator will be removed in Godot 4.0 in favor of the more accurate [constant TONE_MAPPER_ACES_FITTED].
Use the Academy Color Encoding System tonemapper. ACES is slightly more expensive than other options, but it handles bright lighting in a more realistic fashion by desaturating it as it becomes brighter. ACES typically has a more contrasted output compared to [constant TONE_MAPPER_REINHARDT] and [constant TONE_MAPPER_FILMIC].
Low depth-of-field blur quality (fastest).
Medium depth-of-field blur quality.
High depth-of-field blur quality (slowest).
No blur for the screen-space ambient occlusion effect (fastest).
1×1 blur for the screen-space ambient occlusion effect.
2×2 blur for the screen-space ambient occlusion effect.
3×3 blur for the screen-space ambient occlusion effect (slowest).
Low quality for the screen-space ambient occlusion effect (fastest).
Low quality for the screen-space ambient occlusion effect.
Low quality for the screen-space ambient occlusion effect (slowest).