diff options
author | reduz <reduzio@gmail.com> | 2021-07-19 16:41:55 -0300 |
---|---|---|
committer | reduz <reduzio@gmail.com> | 2021-07-19 21:51:29 -0300 |
commit | 9293bc3935c3b87051003dcb8f6902d6f1e9fdbe (patch) | |
tree | c4f920a780e2590a4f888dfe9a083dea74c0afc3 /editor | |
parent | 855c7c7414a2f29cd420e8dd654a4630226bcd50 (diff) |
Implement more rendering options as specialization constants
* Shadow quality settings now specialization constant.
* Decal and light projector filters can be set.
* Changing those settings forces re-creation of the pipelines.
These changes should help improve performance related to shadow mapping, and allows improving performance by sacrificing decal and light projector quality.
Diffstat (limited to 'editor')
-rw-r--r-- | editor/editor_node.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 712e571e57..4ff6410cdd 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -508,6 +508,9 @@ void EditorNode::_update_from_settings() { float lod_threshold = GLOBAL_GET("rendering/mesh_lod/lod_change/threshold_pixels"); scene_root->set_lod_threshold(lod_threshold); + + RS::get_singleton()->decals_set_filter(RS::DecalFilter(int(GLOBAL_GET("rendering/textures/decals/filter")))); + RS::get_singleton()->light_projectors_set_filter(RS::LightProjectorFilter(int(GLOBAL_GET("rendering/textures/light_projectors/filter")))); } void EditorNode::_notification(int p_what) { |