mirror of
https://github.com/godotengine/godot.git
synced 2026-01-06 10:11:57 +03:00
Add a debanding property to Viewport for GLES3
It can be enabled in the Project Settings (`rendering/quality/filters/use_debanding`). It's disabled by default as it has a small performance impact and can make PNG screenshots much larger (due to how dithering works). As a result, it should be enabled only when banding is noticeable enough. Since debanding requires a HDR viewport to work, it's only supported in the GLES3 backend.
This commit is contained in:
@@ -573,6 +573,7 @@ public:
|
||||
virtual void render_target_clear_used(RID p_render_target) = 0;
|
||||
virtual void render_target_set_msaa(RID p_render_target, VS::ViewportMSAA p_msaa) = 0;
|
||||
virtual void render_target_set_use_fxaa(RID p_render_target, bool p_fxaa) = 0;
|
||||
virtual void render_target_set_use_debanding(RID p_render_target, bool p_debanding) = 0;
|
||||
|
||||
/* CANVAS SHADOW */
|
||||
|
||||
|
||||
@@ -486,6 +486,7 @@ public:
|
||||
BIND3(viewport_set_shadow_atlas_quadrant_subdivision, RID, int, int)
|
||||
BIND2(viewport_set_msaa, RID, ViewportMSAA)
|
||||
BIND2(viewport_set_use_fxaa, RID, bool)
|
||||
BIND2(viewport_set_use_debanding, RID, bool)
|
||||
BIND2(viewport_set_hdr, RID, bool)
|
||||
BIND2(viewport_set_usage, RID, ViewportUsage)
|
||||
|
||||
|
||||
@@ -661,6 +661,14 @@ void VisualServerViewport::viewport_set_use_fxaa(RID p_viewport, bool p_fxaa) {
|
||||
VSG::storage->render_target_set_use_fxaa(viewport->render_target, p_fxaa);
|
||||
}
|
||||
|
||||
void VisualServerViewport::viewport_set_use_debanding(RID p_viewport, bool p_debanding) {
|
||||
|
||||
Viewport *viewport = viewport_owner.getornull(p_viewport);
|
||||
ERR_FAIL_COND(!viewport);
|
||||
|
||||
VSG::storage->render_target_set_use_debanding(viewport->render_target, p_debanding);
|
||||
}
|
||||
|
||||
void VisualServerViewport::viewport_set_hdr(RID p_viewport, bool p_enabled) {
|
||||
|
||||
Viewport *viewport = viewport_owner.getornull(p_viewport);
|
||||
|
||||
@@ -191,6 +191,7 @@ public:
|
||||
|
||||
void viewport_set_msaa(RID p_viewport, VS::ViewportMSAA p_msaa);
|
||||
void viewport_set_use_fxaa(RID p_viewport, bool p_fxaa);
|
||||
void viewport_set_use_debanding(RID p_viewport, bool p_debanding);
|
||||
void viewport_set_hdr(RID p_viewport, bool p_enabled);
|
||||
void viewport_set_usage(RID p_viewport, VS::ViewportUsage p_usage);
|
||||
|
||||
|
||||
@@ -413,6 +413,7 @@ public:
|
||||
FUNC3(viewport_set_shadow_atlas_quadrant_subdivision, RID, int, int)
|
||||
FUNC2(viewport_set_msaa, RID, ViewportMSAA)
|
||||
FUNC2(viewport_set_use_fxaa, RID, bool)
|
||||
FUNC2(viewport_set_use_debanding, RID, bool)
|
||||
FUNC2(viewport_set_hdr, RID, bool)
|
||||
FUNC2(viewport_set_usage, RID, ViewportUsage)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user