summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2020-07-01 14:18:13 +0200
committerRémi Verschelde <rverschelde@gmail.com>2020-07-01 14:44:45 +0200
commit372136fe75e9f042d2284bae46d2879950f4d399 (patch)
tree9341d5a780694220105d17352d2ffe07815278bd /doc
parent719609522a30fa9e3b96b028ac5a1d1a65f1678f (diff)
Environment: Refactor code for readability + more
- Makes all boolean setters/getters consistent. - Fixes bug where `glow_hdr_bleed_scale` was not used. - Split CameraEffects to their own source file. - Reorder all Environment method and properties declarations, definitions and bindings to be consistent with each other and with the order of property bindings. - Bind missing enum values added with SDFGI. - Remove unused SDFGI enhance_ssr boolean. - Sync doc changes after SDFGI merge and other misc changes.
Diffstat (limited to 'doc')
-rw-r--r--doc/classes/AcceptDialog.xml1
-rw-r--r--doc/classes/CameraEffects.xml4
-rw-r--r--doc/classes/DisplayServer.xml4
-rw-r--r--doc/classes/Environment.xml80
-rw-r--r--doc/classes/FileSystemDock.xml18
-rw-r--r--doc/classes/GIProbe.xml2
-rw-r--r--doc/classes/Image.xml9
-rw-r--r--doc/classes/Light3D.xml7
-rw-r--r--doc/classes/MainLoop.xml16
-rw-r--r--doc/classes/Node.xml26
-rw-r--r--doc/classes/ProjectSettings.xml14
-rw-r--r--doc/classes/ReflectionProbe.xml25
-rw-r--r--doc/classes/RenderingDevice.xml26
-rw-r--r--doc/classes/RenderingServer.xml95
-rw-r--r--doc/classes/Viewport.xml13
15 files changed, 222 insertions, 118 deletions
diff --git a/doc/classes/AcceptDialog.xml b/doc/classes/AcceptDialog.xml
index 99b566e74f..6b1864b679 100644
--- a/doc/classes/AcceptDialog.xml
+++ b/doc/classes/AcceptDialog.xml
@@ -67,6 +67,7 @@
<member name="dialog_text" type="String" setter="set_text" getter="get_text" default="&quot;&quot;">
The text displayed by the dialog.
</member>
+ <member name="exclusive" type="bool" setter="set_exclusive" getter="is_exclusive" override="true" default="true" />
<member name="title" type="String" setter="set_title" getter="get_title" override="true" default="&quot;Alert!&quot;" />
<member name="transient" type="bool" setter="set_transient" getter="is_transient" override="true" default="true" />
<member name="visible" type="bool" setter="set_visible" getter="is_visible" override="true" default="false" />
diff --git a/doc/classes/CameraEffects.xml b/doc/classes/CameraEffects.xml
index ea9ab85b80..7a874d31db 100644
--- a/doc/classes/CameraEffects.xml
+++ b/doc/classes/CameraEffects.xml
@@ -34,9 +34,9 @@
The length of the transition between the near blur and no-blur area.
</member>
<member name="override_exposure" type="float" setter="set_override_exposure" getter="get_override_exposure" default="1.0">
- The exposure override value to use. Higher values will result in a brighter scene. Only effective if [member override_exposure_enable] is [code]true[/code].
+ The exposure override value to use. Higher values will result in a brighter scene. Only effective if [member override_exposure_enabled] is [code]true[/code].
</member>
- <member name="override_exposure_enable" type="bool" setter="set_override_exposure_enabled" getter="is_override_exposure_enabled" default="false">
+ <member name="override_exposure_enabled" type="bool" setter="set_override_exposure_enabled" getter="is_override_exposure_enabled" default="false">
If [code]true[/code], overrides the manual or automatic exposure defined in the [Environment] with the value in [member override_exposure].
</member>
</members>
diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml
index f8306cbd72..1fb1de2c12 100644
--- a/doc/classes/DisplayServer.xml
+++ b/doc/classes/DisplayServer.xml
@@ -44,9 +44,9 @@
</return>
<argument index="0" name="mode" type="int" enum="DisplayServer.WindowMode">
</argument>
- <argument index="1" name="rect" type="int">
+ <argument index="1" name="flags" type="int">
</argument>
- <argument index="2" name="arg2" type="Rect2i" default="Rect2i( 0, 0, 0, 0 )">
+ <argument index="2" name="rect" type="Rect2i" default="Rect2i( 0, 0, 0, 0 )">
</argument>
<description>
</description>
diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml
index 3642d92771..bbab0bf8cf 100644
--- a/doc/classes/Environment.xml
+++ b/doc/classes/Environment.xml
@@ -24,7 +24,7 @@
Returns [code]true[/code] if the glow level [code]idx[/code] is specified, [code]false[/code] otherwise.
</description>
</method>
- <method name="set_glow_level">
+ <method name="set_glow_level_enabled">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
@@ -46,7 +46,7 @@
<member name="adjustment_contrast" type="float" setter="set_adjustment_contrast" getter="get_adjustment_contrast" default="1.0">
The global contrast value of the rendered scene (default value is 1). Effective only if [code]adjustment_enabled[/code] is [code]true[/code].
</member>
- <member name="adjustment_enabled" type="bool" setter="set_adjustment_enable" getter="is_adjustment_enabled" default="false">
+ <member name="adjustment_enabled" type="bool" setter="set_adjustment_enabled" getter="is_adjustment_enabled" default="false">
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.
</member>
<member name="adjustment_saturation" type="float" setter="set_adjustment_saturation" getter="get_adjustment_saturation" default="1.0">
@@ -65,7 +65,7 @@
</member>
<member name="ambient_light_source" type="int" setter="set_ambient_source" getter="get_ambient_source" enum="Environment.AmbientSource" default="0">
</member>
- <member name="auto_exposure_enabled" type="bool" setter="set_tonemap_auto_exposure" getter="get_tonemap_auto_exposure" default="false">
+ <member name="auto_exposure_enabled" type="bool" setter="set_tonemap_auto_exposure_enabled" getter="is_tonemap_auto_exposure_enabled" default="false">
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.
</member>
<member name="auto_exposure_max_luma" type="float" setter="set_tonemap_auto_exposure_max" getter="get_tonemap_auto_exposure_max" default="8.0">
@@ -158,25 +158,25 @@
<member name="glow_intensity" type="float" setter="set_glow_intensity" getter="get_glow_intensity" default="0.8">
The glow intensity. When using the GLES2 renderer, this should be increased to 1.5 to compensate for the lack of HDR rendering.
</member>
- <member name="glow_levels/1" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
+ <member name="glow_levels/1" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="false">
If [code]true[/code], the 1st level of glow is enabled. This is the most "local" level (least blurry).
</member>
- <member name="glow_levels/2" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
+ <member name="glow_levels/2" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="false">
If [code]true[/code], the 2th level of glow is enabled.
</member>
- <member name="glow_levels/3" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="true">
+ <member name="glow_levels/3" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="true">
If [code]true[/code], the 3th level of glow is enabled.
</member>
- <member name="glow_levels/4" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
+ <member name="glow_levels/4" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="false">
If [code]true[/code], the 4th level of glow is enabled.
</member>
- <member name="glow_levels/5" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="true">
+ <member name="glow_levels/5" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="true">
If [code]true[/code], the 5th level of glow is enabled.
</member>
- <member name="glow_levels/6" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
+ <member name="glow_levels/6" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="false">
If [code]true[/code], the 6th level of glow is enabled.
</member>
- <member name="glow_levels/7" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
+ <member name="glow_levels/7" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="false">
If [code]true[/code], the 7th level of glow is enabled. This is the most "global" level (blurriest).
</member>
<member name="glow_mix" type="float" setter="set_glow_mix" getter="get_glow_mix" default="0.05">
@@ -186,6 +186,30 @@
</member>
<member name="reflected_light_source" type="int" setter="set_reflection_source" getter="get_reflection_source" enum="Environment.ReflectionSource" default="0">
</member>
+ <member name="sdfgi_cascade0_distance" type="float" setter="set_sdfgi_cascade0_distance" getter="get_sdfgi_cascade0_distance" default="12.8">
+ </member>
+ <member name="sdfgi_cascades" type="int" setter="set_sdfgi_cascades" getter="get_sdfgi_cascades" enum="Environment.SDFGICascades" default="1">
+ </member>
+ <member name="sdfgi_enabled" type="bool" setter="set_sdfgi_enabled" getter="is_sdfgi_enabled" default="false">
+ </member>
+ <member name="sdfgi_energy" type="float" setter="set_sdfgi_energy" getter="get_sdfgi_energy" default="1.0">
+ </member>
+ <member name="sdfgi_max_distance" type="float" setter="set_sdfgi_max_distance" getter="get_sdfgi_max_distance" default="819.2">
+ </member>
+ <member name="sdfgi_min_cell_size" type="float" setter="set_sdfgi_min_cell_size" getter="get_sdfgi_min_cell_size" default="0.2">
+ </member>
+ <member name="sdfgi_normal_bias" type="float" setter="set_sdfgi_normal_bias" getter="get_sdfgi_normal_bias" default="1.1">
+ </member>
+ <member name="sdfgi_probe_bias" type="float" setter="set_sdfgi_probe_bias" getter="get_sdfgi_probe_bias" default="1.1">
+ </member>
+ <member name="sdfgi_read_sky_light" type="bool" setter="set_sdfgi_read_sky_light" getter="is_sdfgi_reading_sky_light" default="false">
+ </member>
+ <member name="sdfgi_use_multi_bounce" type="bool" setter="set_sdfgi_use_multi_bounce" getter="is_sdfgi_using_multi_bounce" default="false">
+ </member>
+ <member name="sdfgi_use_occlusion" type="bool" setter="set_sdfgi_use_occlusion" getter="is_sdfgi_using_occlusion" default="false">
+ </member>
+ <member name="sdfgi_y_scale" type="int" setter="set_sdfgi_y_scale" getter="get_sdfgi_y_scale" enum="Environment.SDFGIYScale" default="0">
+ </member>
<member name="sky" type="Sky" setter="set_sky" getter="get_sky">
The [Sky] resource used for this [Environment].
</member>
@@ -285,6 +309,18 @@
<constant name="REFLECTION_SOURCE_SKY" value="2" enum="ReflectionSource">
Use the [Sky] for reflections regardless of what the background is.
</constant>
+ <constant name="TONE_MAPPER_LINEAR" value="0" enum="ToneMapper">
+ Linear tonemapper operator. Reads the linear data and passes it on unmodified.
+ </constant>
+ <constant name="TONE_MAPPER_REINHARDT" value="1" enum="ToneMapper">
+ Reinhardt tonemapper operator. Performs a variation on rendered pixels' colors by this formula: [code]color = color / (1 + color)[/code].
+ </constant>
+ <constant name="TONE_MAPPER_FILMIC" value="2" enum="ToneMapper">
+ Filmic tonemapper operator.
+ </constant>
+ <constant name="TONE_MAPPER_ACES" value="3" enum="ToneMapper">
+ Academy Color Encoding System tonemapper operator.
+ </constant>
<constant name="GLOW_BLEND_MODE_ADDITIVE" value="0" enum="GlowBlendMode">
Additive glow blending mode. Mostly used for particles, glows (bloom), lens flare, bright sources.
</constant>
@@ -300,18 +336,6 @@
<constant name="GLOW_BLEND_MODE_MIX" value="4" enum="GlowBlendMode">
Mixes the glow with the underlying color to avoid increasing brightness as much while still maintaining a glow effect.
</constant>
- <constant name="TONE_MAPPER_LINEAR" value="0" enum="ToneMapper">
- Linear tonemapper operator. Reads the linear data and passes it on unmodified.
- </constant>
- <constant name="TONE_MAPPER_REINHARDT" value="1" enum="ToneMapper">
- Reinhardt tonemapper operator. Performs a variation on rendered pixels' colors by this formula: [code]color = color / (1 + color)[/code].
- </constant>
- <constant name="TONE_MAPPER_FILMIC" value="2" enum="ToneMapper">
- Filmic tonemapper operator.
- </constant>
- <constant name="TONE_MAPPER_ACES" value="3" enum="ToneMapper">
- Academy Color Encoding System tonemapper operator.
- </constant>
<constant name="SSAO_BLUR_DISABLED" value="0" enum="SSAOBlur">
No blur for the screen-space ambient occlusion effect (fastest).
</constant>
@@ -324,5 +348,17 @@
<constant name="SSAO_BLUR_3x3" value="3" enum="SSAOBlur">
3×3 blur for the screen-space ambient occlusion effect. Increases the radius of the blur for a smoother look, but can result in checkerboard-like artifacts.
</constant>
+ <constant name="SDFGI_CASCADES_4" value="0" enum="SDFGICascades">
+ </constant>
+ <constant name="SDFGI_CASCADES_6" value="1" enum="SDFGICascades">
+ </constant>
+ <constant name="SDFGI_CASCADES_8" value="2" enum="SDFGICascades">
+ </constant>
+ <constant name="SDFGI_Y_SCALE_DISABLED" value="0" enum="SDFGIYScale">
+ </constant>
+ <constant name="SDFGI_Y_SCALE_75_PERCENT" value="1" enum="SDFGIYScale">
+ </constant>
+ <constant name="SDFGI_Y_SCALE_50_PERCENT" value="2" enum="SDFGIYScale">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/FileSystemDock.xml b/doc/classes/FileSystemDock.xml
index fdf29f89b2..c553f90e37 100644
--- a/doc/classes/FileSystemDock.xml
+++ b/doc/classes/FileSystemDock.xml
@@ -10,11 +10,11 @@
<method name="can_drop_data_fw" qualifiers="const">
<return type="bool">
</return>
- <argument index="0" name="arg0" type="Vector2">
+ <argument index="0" name="position" type="Vector2">
</argument>
- <argument index="1" name="arg1" type="Variant">
+ <argument index="1" name="data" type="Variant">
</argument>
- <argument index="2" name="arg2" type="Control">
+ <argument index="2" name="from" type="Control">
</argument>
<description>
</description>
@@ -22,11 +22,11 @@
<method name="drop_data_fw">
<return type="void">
</return>
- <argument index="0" name="arg0" type="Vector2">
+ <argument index="0" name="position" type="Vector2">
</argument>
- <argument index="1" name="arg1" type="Variant">
+ <argument index="1" name="data" type="Variant">
</argument>
- <argument index="2" name="arg2" type="Control">
+ <argument index="2" name="from" type="Control">
</argument>
<description>
</description>
@@ -34,9 +34,9 @@
<method name="get_drag_data_fw">
<return type="Variant">
</return>
- <argument index="0" name="arg0" type="Vector2">
+ <argument index="0" name="position" type="Vector2">
</argument>
- <argument index="1" name="arg1" type="Control">
+ <argument index="1" name="from" type="Control">
</argument>
<description>
</description>
@@ -44,7 +44,7 @@
<method name="navigate_to_path">
<return type="void">
</return>
- <argument index="0" name="arg0" type="String">
+ <argument index="0" name="path" type="String">
</argument>
<description>
</description>
diff --git a/doc/classes/GIProbe.xml b/doc/classes/GIProbe.xml
index 23dd562653..8885f360a3 100644
--- a/doc/classes/GIProbe.xml
+++ b/doc/classes/GIProbe.xml
@@ -19,7 +19,7 @@
<argument index="1" name="create_visual_debug" type="bool" default="false">
</argument>
<description>
- Bakes the effect from all [GeometryInstance3D]s marked with [constant GeometryInstance3D.GI_MODE_BAKED] and [Light3D]s marked with either [constant Light3D.BAKE_INDIRECT] or [constant Light3D.BAKE_ALL]. If [code]create_visual_debug[/code] is [code]true[/code], after baking the light, this will generate a [MultiMesh] that has a cube representing each solid cell with each cube colored to the cell's albedo color. This can be used to visualize the [GIProbe]'s data and debug any issues that may be occurring.
+ Bakes the effect from all [GeometryInstance3D]s marked with [constant GeometryInstance3D.GI_MODE_BAKED] and [Light3D]s marked with either [constant Light3D.BAKE_DYNAMIC] or [constant Light3D.BAKE_STATIC]. If [code]create_visual_debug[/code] is [code]true[/code], after baking the light, this will generate a [MultiMesh] that has a cube representing each solid cell with each cube colored to the cell's albedo color. This can be used to visualize the [GIProbe]'s data and debug any issues that may be occurring.
</description>
</method>
<method name="debug_bake">
diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml
index d29fcfd96f..5aa5de1dae 100644
--- a/doc/classes/Image.xml
+++ b/doc/classes/Image.xml
@@ -364,6 +364,15 @@
Loads an image from the binary contents of a PNG file.
</description>
</method>
+ <method name="load_tga_from_buffer">
+ <return type="int" enum="Error">
+ </return>
+ <argument index="0" name="buffer" type="PackedByteArray">
+ </argument>
+ <description>
+ Loads an image from the binary contents of a TGA file.
+ </description>
+ </method>
<method name="load_webp_from_buffer">
<return type="int" enum="Error">
</return>
diff --git a/doc/classes/Light3D.xml b/doc/classes/Light3D.xml
index dda6faa80a..6979efa569 100644
--- a/doc/classes/Light3D.xml
+++ b/doc/classes/Light3D.xml
@@ -148,12 +148,9 @@
Light is ignored when baking.
[b]Note:[/b] Hiding a light does [i]not[/i] affect baking.
</constant>
- <constant name="BAKE_INDIRECT" value="1" enum="BakeMode">
- Only indirect lighting will be baked (default).
+ <constant name="BAKE_DYNAMIC" value="1" enum="BakeMode">
</constant>
- <constant name="BAKE_ALL" value="2" enum="BakeMode">
- Both direct and indirect light will be baked.
- [b]Note:[/b] You should hide the light if you don't want it to appear twice (dynamic and baked).
+ <constant name="BAKE_STATIC" value="2" enum="BakeMode">
</constant>
</constants>
</class>
diff --git a/doc/classes/MainLoop.xml b/doc/classes/MainLoop.xml
index 7bb478fce2..55ae54d12b 100644
--- a/doc/classes/MainLoop.xml
+++ b/doc/classes/MainLoop.xml
@@ -142,13 +142,21 @@
Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string).
Specific to the macOS platform.
</constant>
- <constant name="NOTIFICATION_APP_RESUMED" value="2014">
- Notification received from the OS when the app is resumed.
+ <constant name="NOTIFICATION_APPLICATION_RESUMED" value="2014">
+ Notification received from the OS when the application is resumed.
Specific to the Android platform.
</constant>
- <constant name="NOTIFICATION_APP_PAUSED" value="2015">
- Notification received from the OS when the app is paused.
+ <constant name="NOTIFICATION_APPLICATION_PAUSED" value="2015">
+ Notification received from the OS when the application is paused.
Specific to the Android platform.
</constant>
+ <constant name="NOTIFICATION_APPLICATION_FOCUS_IN" value="2016">
+ Notification received from the OS when the application is focused, i.e. when changing the focus from the OS desktop or a thirdparty application to any open window of the Godot instance.
+ Implemented on desktop platforms.
+ </constant>
+ <constant name="NOTIFICATION_APPLICATION_FOCUS_OUT" value="2017">
+ Notification received from the OS when the application is defocused, i.e. when changing the focus from any open window of the Godot instance to the OS desktop or a thirdparty application.
+ Implemented on desktop platforms.
+ </constant>
</constants>
</class>
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 9617ee0437..e921cbd58a 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -926,13 +926,11 @@
Notification received from the OS when the mouse leaves the game window.
Implemented on desktop and web platforms.
</constant>
- <constant name="NOTIFICATION_WM_FOCUS_IN" value="1004">
- Notification received from the OS when the game window is focused.
- Implemented on all platforms.
+ <constant name="NOTIFICATION_WM_WINDOW_FOCUS_IN" value="1004">
+ Notification received from the OS when the node's parent [Window] is focused. This may be a change of focus between two windows of the same engine instance, or from the OS desktop or a third-party application to a window of the game (in which case [constant NOTIFICATION_APPLICATION_FOCUS_IN] is also emitted).
</constant>
- <constant name="NOTIFICATION_WM_FOCUS_OUT" value="1005">
- Notification received from the OS when the game window is unfocused.
- Implemented on all platforms.
+ <constant name="NOTIFICATION_WM_WINDOW_FOCUS_OUT" value="1005">
+ Notification received from the OS when the node's parent [Window] is defocused. This may be a change of focus between two windows of the same engine instance, or from a window of the game to the OS desktop or a third-party application (in which case [constant NOTIFICATION_APPLICATION_FOCUS_OUT] is also emitted).
</constant>
<constant name="NOTIFICATION_WM_CLOSE_REQUEST" value="1006">
Notification received from the OS when a close request is sent (e.g. closing the window with a "Close" button or [kbd]Alt + F4[/kbd]).
@@ -963,14 +961,22 @@
Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string).
Specific to the macOS platform.
</constant>
- <constant name="NOTIFICATION_APP_RESUMED" value="2014">
- Notification received from the OS when the app is resumed.
+ <constant name="NOTIFICATION_APPLICATION_RESUMED" value="2014">
+ Notification received from the OS when the application is resumed.
Specific to the Android platform.
</constant>
- <constant name="NOTIFICATION_APP_PAUSED" value="2015">
- Notification received from the OS when the app is paused.
+ <constant name="NOTIFICATION_APPLICATION_PAUSED" value="2015">
+ Notification received from the OS when the application is paused.
Specific to the Android platform.
</constant>
+ <constant name="NOTIFICATION_APPLICATION_FOCUS_IN" value="2016">
+ Notification received from the OS when the application is focused, i.e. when changing the focus from the OS desktop or a thirdparty application to any open window of the Godot instance.
+ Implemented on desktop platforms.
+ </constant>
+ <constant name="NOTIFICATION_APPLICATION_FOCUS_OUT" value="2017">
+ Notification received from the OS when the application is defocused, i.e. when changing the focus from any open window of the Godot instance to the OS desktop or a thirdparty application.
+ Implemented on desktop platforms.
+ </constant>
<constant name="PAUSE_MODE_INHERIT" value="0" enum="PauseMode">
Inherits pause mode from the node's parent. For the root node, it is equivalent to [constant PAUSE_MODE_STOP]. Default.
</constant>
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index 7191492098..799c4d2e75 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -1078,13 +1078,13 @@
</member>
<member name="rendering/quality/screen_filters/screen_space_aa" type="int" setter="" getter="" default="0">
Sets the screen-space antialiasing mode for the default screen [Viewport]. Screen-space antialiasing works by selectively blurring edges in a post-process shader. It differs from MSAA which takes multiple coverage samples while rendering objects. Screen-space AA methods are typically faster than MSAA and will smooth out specular aliasing, but tend to make scenes appear blurry.
- Another way to combat specular aliasing is to enable [member rendering/quality/screen_filters/screen_space_roughness_limiter].
+ Another way to combat specular aliasing is to enable [member rendering/quality/screen_filters/screen_space_roughness_limiter_enabled].
</member>
- <member name="rendering/quality/screen_filters/screen_space_roughness_limiter" type="int" setter="" getter="" default="0">
- Enables the screen-space roughness limiter which increases material roughness in areas with a high normal frequency (i.e. when normals change a lot from pixel to pixel). This helps to reduce the amount of specular aliasing in a scene. Specular aliasing looks like random bright pixels that occur in reflections.
+ <member name="rendering/quality/screen_filters/screen_space_roughness_limiter_amount" type="float" setter="" getter="" default="0.25">
</member>
- <member name="rendering/quality/screen_filters/screen_space_roughness_limiter_curve" type="float" setter="" getter="" default="1.0">
- Curves the amount of the roughness limited effect. A higher value limits the effect to very sharply curved surfaces, while a lower threshold extends the effect to smoother surfaces.
+ <member name="rendering/quality/screen_filters/screen_space_roughness_limiter_enabled" type="bool" setter="" getter="" default="true">
+ </member>
+ <member name="rendering/quality/screen_filters/screen_space_roughness_limiter_limit" type="float" setter="" getter="" default="0.18">
</member>
<member name="rendering/quality/screen_space_reflection/roughness_quality" type="int" setter="" getter="" default="1">
Sets the quality for rough screen-space reflections. Turning off will make all screen space reflections sharp, while higher values make rough reflections look better.
@@ -1152,6 +1152,10 @@
<member name="rendering/quality/texture_filters/use_nearest_mipmap_filter" type="bool" setter="" getter="" default="false">
If [code]true[/code], uses nearest-neighbor mipmap filtering when using mipmaps (also called "bilinear filtering"), which will result in visible seams appearing between mipmap stages. This may increase performance in mobile as less memory bandwidth is used. If [code]false[/code], linear mipmap filtering (also called "trilinear filtering") is used.
</member>
+ <member name="rendering/sdfgi/frames_to_converge" type="int" setter="" getter="" default="1">
+ </member>
+ <member name="rendering/sdfgi/probe_ray_count" type="int" setter="" getter="" default="2">
+ </member>
<member name="rendering/threads/thread_model" type="int" setter="" getter="" default="1">
Thread model for rendering. Rendering on a thread can vastly improve performance, but synchronizing to the main thread can cause a bit more jitter.
</member>
diff --git a/doc/classes/ReflectionProbe.xml b/doc/classes/ReflectionProbe.xml
index 84f87c3e71..07d7b646a1 100644
--- a/doc/classes/ReflectionProbe.xml
+++ b/doc/classes/ReflectionProbe.xml
@@ -13,6 +13,12 @@
<methods>
</methods>
<members>
+ <member name="ambient_color" type="Color" setter="set_ambient_color" getter="get_ambient_color" default="Color( 0, 0, 0, 1 )">
+ </member>
+ <member name="ambient_color_energy" type="float" setter="set_ambient_color_energy" getter="get_ambient_color_energy" default="1.0">
+ </member>
+ <member name="ambient_mode" type="int" setter="set_ambient_mode" getter="get_ambient_mode" enum="ReflectionProbe.AmbientMode" default="1">
+ </member>
<member name="box_projection" type="bool" setter="set_enable_box_projection" getter="is_box_projection_enabled" default="false">
If [code]true[/code], enables box projection. This makes reflections look more correct in rectangle-shaped rooms by offsetting the reflection center depending on the camera's location.
</member>
@@ -28,17 +34,8 @@
<member name="intensity" type="float" setter="set_intensity" getter="get_intensity" default="1.0">
Defines the reflection intensity. Intensity modulates the strength of the reflection.
</member>
- <member name="interior_ambient_color" type="Color" setter="set_interior_ambient" getter="get_interior_ambient" default="Color( 0, 0, 0, 1 )">
- Sets the ambient light color to be used when this probe is set to [member interior_enable].
- </member>
- <member name="interior_ambient_contrib" type="float" setter="set_interior_ambient_probe_contribution" getter="get_interior_ambient_probe_contribution" default="0.0">
- Sets the contribution value for how much the reflection affects the ambient light for this reflection probe when set to [member interior_enable]. Useful so that ambient light matches the color of the room.
- </member>
- <member name="interior_ambient_energy" type="float" setter="set_interior_ambient_energy" getter="get_interior_ambient_energy" default="1.0">
- Sets the energy multiplier for this reflection probe's ambient light contribution when set to [member interior_enable].
- </member>
- <member name="interior_enable" type="bool" setter="set_as_interior" getter="is_set_as_interior" default="false">
- If [code]true[/code], reflections will ignore sky contribution. Ambient lighting is then controlled by the [code]interior_ambient_*[/code] properties.
+ <member name="interior" type="bool" setter="set_as_interior" getter="is_set_as_interior" default="false">
+ If [code]true[/code], reflections will ignore sky contribution.
</member>
<member name="max_distance" type="float" setter="set_max_distance" getter="get_max_distance" default="0.0">
Sets the max distance away from the probe an object can be before it is culled.
@@ -57,5 +54,11 @@
<constant name="UPDATE_ALWAYS" value="1" enum="UpdateMode">
Update the probe every frame. This is needed when you want to capture dynamic objects. However, it results in an increased render time. Use [constant UPDATE_ONCE] whenever possible.
</constant>
+ <constant name="AMBIENT_DISABLED" value="0" enum="AmbientMode">
+ </constant>
+ <constant name="AMBIENT_ENVIRONMENT" value="1" enum="AmbientMode">
+ </constant>
+ <constant name="AMBIENT_COLOR" value="2" enum="AmbientMode">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/RenderingDevice.xml b/doc/classes/RenderingDevice.xml
index 8a44d213e8..7e5df9c40d 100644
--- a/doc/classes/RenderingDevice.xml
+++ b/doc/classes/RenderingDevice.xml
@@ -152,6 +152,8 @@
</argument>
<argument index="8" name="region" type="Rect2" default="Rect2i( 0, 0, 0, 0 )">
</argument>
+ <argument index="9" name="storage_textures" type="Array" default="[ ]">
+ </argument>
<description>
</description>
</method>
@@ -188,6 +190,8 @@
</argument>
<argument index="9" name="region" type="Rect2" default="Rect2i( 0, 0, 0, 0 )">
</argument>
+ <argument index="10" name="storage_textures" type="RID[]" default="[ ]">
+ </argument>
<description>
</description>
</method>
@@ -293,6 +297,16 @@
<description>
</description>
</method>
+ <method name="framebuffer_create_empty">
+ <return type="RID">
+ </return>
+ <argument index="0" name="size" type="Vector2i">
+ </argument>
+ <argument index="1" name="validate_with_format" type="int" default="-1">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="framebuffer_format_create">
<return type="int">
</return>
@@ -301,6 +315,14 @@
<description>
</description>
</method>
+ <method name="framebuffer_format_create_empty">
+ <return type="int">
+ </return>
+ <argument index="0" name="size" type="Vector2i">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="framebuffer_format_get_texture_samples">
<return type="int" enum="RenderingDevice.TextureSamples">
</return>
@@ -496,6 +518,8 @@
</argument>
<argument index="1" name="data" type="PackedByteArray" default="PackedByteArray( )">
</argument>
+ <argument index="2" name="usage" type="int" default="0">
+ </argument>
<description>
</description>
</method>
@@ -1285,6 +1309,8 @@
</constant>
<constant name="INDEX_BUFFER_FORMAT_UINT32" value="1" enum="IndexBufferFormat">
</constant>
+ <constant name="STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT" value="1" enum="StorageBufferUsage">
+ </constant>
<constant name="UNIFORM_TYPE_SAMPLER" value="0" enum="UniformType">
</constant>
<constant name="UNIFORM_TYPE_SAMPLER_WITH_TEXTURE" value="1" enum="UniformType">
diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml
index 8832c0ec4d..7539f8ff43 100644
--- a/doc/classes/RenderingServer.xml
+++ b/doc/classes/RenderingServer.xml
@@ -1470,6 +1470,16 @@
Sets whether to use a dual paraboloid or a cubemap for the shadow map. Dual paraboloid is faster but may suffer from artifacts. Equivalent to [member OmniLight3D.omni_shadow_mode].
</description>
</method>
+ <method name="light_set_bake_mode">
+ <return type="void">
+ </return>
+ <argument index="0" name="light" type="RID">
+ </argument>
+ <argument index="1" name="bake_mode" type="int" enum="RenderingServer.LightBakeMode">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="light_set_color">
<return type="void">
</return>
@@ -1560,17 +1570,6 @@
Sets the color of the shadow cast by the light. Equivalent to [member Light3D.shadow_color].
</description>
</method>
- <method name="light_set_use_gi">
- <return type="void">
- </return>
- <argument index="0" name="light" type="RID">
- </argument>
- <argument index="1" name="enabled" type="bool">
- </argument>
- <description>
- Sets whether GI probes capture light information from this light.
- </description>
- </method>
<method name="make_sphere_mesh">
<return type="RID">
</return>
@@ -2292,40 +2291,37 @@
To place in a scene, attach this reflection probe to an instance using [method instance_set_base] using the returned RID.
</description>
</method>
- <method name="reflection_probe_set_as_interior">
+ <method name="reflection_probe_set_ambient_color">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="enable" type="bool">
+ <argument index="1" name="color" type="Color">
</argument>
<description>
- If [code]true[/code], reflections will ignore sky contribution. Equivalent to [member ReflectionProbe.interior_enable].
</description>
</method>
- <method name="reflection_probe_set_cull_mask">
+ <method name="reflection_probe_set_ambient_energy">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="layers" type="int">
+ <argument index="1" name="energy" type="float">
</argument>
<description>
- Sets the render cull mask for this reflection probe. Only instances with a matching cull mask will be rendered by this probe. Equivalent to [member ReflectionProbe.cull_mask].
</description>
</method>
- <method name="reflection_probe_set_enable_box_projection">
+ <method name="reflection_probe_set_ambient_mode">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="enable" type="bool">
+ <argument index="1" name="mode" type="int" enum="RenderingServer.ReflectionProbeAmbientMode">
</argument>
<description>
- If [code]true[/code], uses box projection. This can make reflections look more correct in certain situations. Equivalent to [member ReflectionProbe.box_projection].
</description>
</method>
- <method name="reflection_probe_set_enable_shadows">
+ <method name="reflection_probe_set_as_interior">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
@@ -2333,62 +2329,62 @@
<argument index="1" name="enable" type="bool">
</argument>
<description>
- If [code]true[/code], computes shadows in the reflection probe. This makes the reflection much slower to compute. Equivalent to [member ReflectionProbe.enable_shadows].
+ If [code]true[/code], reflections will ignore sky contribution. Equivalent to [member ReflectionProbe.interior].
</description>
</method>
- <method name="reflection_probe_set_extents">
+ <method name="reflection_probe_set_cull_mask">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="extents" type="Vector3">
+ <argument index="1" name="layers" type="int">
</argument>
<description>
- Sets the size of the area that the reflection probe will capture. Equivalent to [member ReflectionProbe.extents].
+ Sets the render cull mask for this reflection probe. Only instances with a matching cull mask will be rendered by this probe. Equivalent to [member ReflectionProbe.cull_mask].
</description>
</method>
- <method name="reflection_probe_set_intensity">
+ <method name="reflection_probe_set_enable_box_projection">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="intensity" type="float">
+ <argument index="1" name="enable" type="bool">
</argument>
<description>
- Sets the intensity of the reflection probe. Intensity modulates the strength of the reflection. Equivalent to [member ReflectionProbe.intensity].
+ If [code]true[/code], uses box projection. This can make reflections look more correct in certain situations. Equivalent to [member ReflectionProbe.box_projection].
</description>
</method>
- <method name="reflection_probe_set_interior_ambient">
+ <method name="reflection_probe_set_enable_shadows">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="color" type="Color">
+ <argument index="1" name="enable" type="bool">
</argument>
<description>
- Sets the ambient light color for this reflection probe when set to interior mode. Equivalent to [member ReflectionProbe.interior_ambient_color].
+ If [code]true[/code], computes shadows in the reflection probe. This makes the reflection much slower to compute. Equivalent to [member ReflectionProbe.enable_shadows].
</description>
</method>
- <method name="reflection_probe_set_interior_ambient_energy">
+ <method name="reflection_probe_set_extents">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="energy" type="float">
+ <argument index="1" name="extents" type="Vector3">
</argument>
<description>
- Sets the energy multiplier for this reflection probes ambient light contribution when set to interior mode. Equivalent to [member ReflectionProbe.interior_ambient_energy].
+ Sets the size of the area that the reflection probe will capture. Equivalent to [member ReflectionProbe.extents].
</description>
</method>
- <method name="reflection_probe_set_interior_ambient_probe_contribution">
+ <method name="reflection_probe_set_intensity">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="contrib" type="float">
+ <argument index="1" name="intensity" type="float">
</argument>
<description>
- Sets the contribution value for how much the reflection affects the ambient light for this reflection probe when set to interior mode. Useful so that ambient light matches the color of the room. Equivalent to [member ReflectionProbe.interior_ambient_contrib].
+ Sets the intensity of the reflection probe. Intensity modulates the strength of the reflection. Equivalent to [member ReflectionProbe.intensity].
</description>
</method>
<method name="reflection_probe_set_max_distance">
@@ -3261,6 +3257,12 @@
<constant name="LIGHT_PARAM_MAX" value="18" enum="LightParam">
Represents the size of the [enum LightParam] enum.
</constant>
+ <constant name="LIGHT_BAKE_DISABLED" value="0" enum="LightBakeMode">
+ </constant>
+ <constant name="LIGHT_BAKE_DYNAMIC" value="1" enum="LightBakeMode">
+ </constant>
+ <constant name="LIGHT_BAKE_STATIC" value="2" enum="LightBakeMode">
+ </constant>
<constant name="LIGHT_OMNI_SHADOW_DUAL_PARABOLOID" value="0" enum="LightOmniShadowMode">
Use a dual paraboloid shadow map for omni lights.
</constant>
@@ -3288,6 +3290,12 @@
<constant name="REFLECTION_PROBE_UPDATE_ALWAYS" value="1" enum="ReflectionProbeUpdateMode">
Reflection probe will update each frame. This mode is necessary to capture moving objects.
</constant>
+ <constant name="REFLECTION_PROBE_AMBIENT_DISABLED" value="0" enum="ReflectionProbeAmbientMode">
+ </constant>
+ <constant name="REFLECTION_PROBE_AMBIENT_ENVIRONMENT" value="1" enum="ReflectionProbeAmbientMode">
+ </constant>
+ <constant name="REFLECTION_PROBE_AMBIENT_COLOR" value="2" enum="ReflectionProbeAmbientMode">
+ </constant>
<constant name="DECAL_TEXTURE_ALBEDO" value="0" enum="DecalTexture">
</constant>
<constant name="DECAL_TEXTURE_NORMAL" value="1" enum="DecalTexture">
@@ -3412,13 +3420,16 @@
<constant name="VIEWPORT_DEBUG_DRAW_SSAO" value="12" enum="ViewportDebugDraw">
Draws the screen space ambient occlusion texture instead of the scene so that you can clearly see how it is affecting objects. In order for this display mode to work, you must have [member Environment.ssao_enabled] set in your [WorldEnvironment].
</constant>
- <constant name="VIEWPORT_DEBUG_DRAW_ROUGHNESS_LIMITER" value="13" enum="ViewportDebugDraw">
- Draws the roughness limiter post process over the Viewport so you can see where it has an effect. It must be enabled in [member ProjectSettings.rendering/quality/screen_filters/screen_space_roughness_limiter] to work.
- </constant>
- <constant name="VIEWPORT_DEBUG_DRAW_PSSM_SPLITS" value="14" enum="ViewportDebugDraw">
+ <constant name="VIEWPORT_DEBUG_DRAW_PSSM_SPLITS" value="13" enum="ViewportDebugDraw">
Colors each PSSM split for the [DirectionalLight3D]s in the scene a different color so you can see where the splits are. In order they will be colored red, green, blue, yellow.
</constant>
- <constant name="VIEWPORT_DEBUG_DRAW_DECAL_ATLAS" value="15" enum="ViewportDebugDraw">
+ <constant name="VIEWPORT_DEBUG_DRAW_DECAL_ATLAS" value="14" enum="ViewportDebugDraw">
+ </constant>
+ <constant name="VIEWPORT_DEBUG_DRAW_SDFGI" value="15" enum="ViewportDebugDraw">
+ </constant>
+ <constant name="VIEWPORT_DEBUG_DRAW_SDFGI_PROBES" value="16" enum="ViewportDebugDraw">
+ </constant>
+ <constant name="VIEWPORT_DEBUG_DRAW_GI_BUFFER" value="17" enum="ViewportDebugDraw">
</constant>
<constant name="SKY_MODE_QUALITY" value="0" enum="SkyMode">
Uses high quality importance sampling to process the radiance map. In general, this results in much higher quality than [constant Sky.PROCESS_MODE_REALTIME] but takes much longer to generate. This should not be used if you plan on changing the sky at runtime. If you are finding that the reflection is not blurry enough and is showing sparkles or fireflies, try increasing [member ProjectSettings.rendering/quality/reflections/ggx_samples].
diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml
index 3b52c80c9a..8a2c6b73d8 100644
--- a/doc/classes/Viewport.xml
+++ b/doc/classes/Viewport.xml
@@ -377,15 +377,18 @@
<constant name="DEBUG_DRAW_SSAO" value="12" enum="DebugDraw">
Draws the screen-space ambient occlusion texture instead of the scene so that you can clearly see how it is affecting objects. In order for this display mode to work, you must have [member Environment.ssao_enabled] set in your [WorldEnvironment].
</constant>
- <constant name="DEBUG_DRAW_ROUGHNESS_LIMITER" value="13" enum="DebugDraw">
- Draws the roughness limiter post process over the Viewport so you can see where it has an effect. It must be enabled in [member ProjectSettings.rendering/quality/screen_filters/screen_space_roughness_limiter] to work.
- </constant>
- <constant name="DEBUG_DRAW_PSSM_SPLITS" value="14" enum="DebugDraw">
+ <constant name="DEBUG_DRAW_PSSM_SPLITS" value="13" enum="DebugDraw">
Colors each PSSM split for the [DirectionalLight3D]s in the scene a different color so you can see where the splits are. In order, they will be colored red, green, blue, and yellow.
</constant>
- <constant name="DEBUG_DRAW_DECAL_ATLAS" value="15" enum="DebugDraw">
+ <constant name="DEBUG_DRAW_DECAL_ATLAS" value="14" enum="DebugDraw">
Draws the decal atlas used by [Decal]s and light projector textures in the upper left quadrant of the [Viewport].
</constant>
+ <constant name="DEBUG_DRAW_SDFGI" value="15" enum="DebugDraw">
+ </constant>
+ <constant name="DEBUG_DRAW_SDFGI_PROBES" value="16" enum="DebugDraw">
+ </constant>
+ <constant name="DEBUG_DRAW_GI_BUFFER" value="17" enum="DebugDraw">
+ </constant>
<constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST" value="0" enum="DefaultCanvasItemTextureFilter">
The texture filter reads from the nearest pixel only. The simplest and fastest method of filtering, but the texture will look pixelized.
</constant>