summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo Locurcio <hugo.locurcio@hugo.pro>2021-06-19 11:51:51 +0200
committerHugo Locurcio <hugo.locurcio@hugo.pro>2022-02-14 18:53:09 +0100
commit44af98cd1258d7f045c1f10634c711ebd0d838e0 (patch)
treef47d114f9107bd58cb67321dbe43cc46e94ad193
parent45428e91baf6298b978c632d313fd7944f26d74f (diff)
downloadredot-engine-44af98cd1258d7f045c1f10634c711ebd0d838e0.tar.gz
Compute SSAO at half resolution by default
This provides a significant speedup for a small quality loss. The quality loss is generally more noticeable during a project's early stages of development (e.g. in level blockouts) than it is in a finished project.
-rw-r--r--doc/classes/ProjectSettings.xml7
-rw-r--r--servers/rendering_server.cpp3
2 files changed, 3 insertions, 7 deletions
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index 4b5f7b2091..0d43494ea9 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -1643,11 +1643,8 @@
<member name="rendering/environment/ssao/fadeout_to" type="float" setter="" getter="" default="300.0">
Distance at which the screen-space ambient occlusion is fully faded out. Use this hide ambient occlusion at great distances.
</member>
- <member name="rendering/environment/ssao/half_size" type="bool" setter="" getter="" default="false">
- If [code]true[/code], screen-space ambient occlusion will be rendered at half size and then upscaled before being added to the scene. This is significantly faster but may miss small details.
- </member>
- <member name="rendering/environment/ssao/half_size.mobile" type="bool" setter="" getter="" default="true">
- Lower-end override for [member rendering/environment/ssao/half_size] on mobile devices, due to performance concerns.
+ <member name="rendering/environment/ssao/half_size" type="bool" setter="" getter="" default="true">
+ If [code]true[/code], screen-space ambient occlusion will be rendered at half size and then upscaled before being added to the scene. This is significantly faster but may miss small details. If [code]false[/code], screen-space ambient occlusion will be rendered at full size.
</member>
<member name="rendering/environment/ssao/quality" type="int" setter="" getter="" default="2">
Sets the quality of the screen-space ambient occlusion effect. Higher values take more samples and so will result in better quality, at the cost of performance. Setting to [code]ULTRA[/code] will use the [member rendering/environment/ssao/adaptive_target] setting.
diff --git a/servers/rendering_server.cpp b/servers/rendering_server.cpp
index 2037268134..e5bcffc008 100644
--- a/servers/rendering_server.cpp
+++ b/servers/rendering_server.cpp
@@ -2896,8 +2896,7 @@ RenderingServer::RenderingServer() {
GLOBAL_DEF("rendering/environment/ssao/quality", 2);
ProjectSettings::get_singleton()->set_custom_property_info("rendering/environment/ssao/quality", PropertyInfo(Variant::INT, "rendering/environment/ssao/quality", PROPERTY_HINT_ENUM, "Very Low (Fast),Low (Fast),Medium (Average),High (Slow),Ultra (Custom)"));
- GLOBAL_DEF("rendering/environment/ssao/half_size", false);
- GLOBAL_DEF("rendering/environment/ssao/half_size.mobile", true);
+ GLOBAL_DEF("rendering/environment/ssao/half_size", true);
GLOBAL_DEF("rendering/environment/ssao/adaptive_target", 0.5);
ProjectSettings::get_singleton()->set_custom_property_info("rendering/environment/ssao/adaptive_target", PropertyInfo(Variant::FLOAT, "rendering/environment/ssao/adaptive_target", PROPERTY_HINT_RANGE, "0.0,1.0,0.01"));
GLOBAL_DEF("rendering/environment/ssao/blur_passes", 2);