1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-11 13:10:58 +00:00

Add support for contrast-adaptive sharpening in 3D (GLES3 only)

This is an older, easier to implement variant of CAS as a pure
fragment shader. It doesn't support upscaling, but we won't make
use of it (at least for now).

The sharpening intensity can be adjusted on a per-Viewport basis.
For the root viewport, it can be adjusted in the Project Settings.

Since `textureLodOffset()` isn't available in GLES2, there is no
way to support contrast-adaptive sharpening in GLES2.
This commit is contained in:
Hugo Locurcio
2021-03-27 18:58:12 +01:00
parent 296608460b
commit a9c0c5484f
23 changed files with 159 additions and 6 deletions

View File

@@ -630,6 +630,13 @@ void VisualServerViewport::viewport_set_use_debanding(RID p_viewport, bool p_deb
VSG::storage->render_target_set_use_debanding(viewport->render_target, p_debanding);
}
void VisualServerViewport::viewport_set_sharpen_intensity(RID p_viewport, float p_intensity) {
Viewport *viewport = viewport_owner.getornull(p_viewport);
ERR_FAIL_COND(!viewport);
VSG::storage->render_target_set_sharpen_intensity(viewport->render_target, p_intensity);
}
void VisualServerViewport::viewport_set_hdr(RID p_viewport, bool p_enabled) {
Viewport *viewport = viewport_owner.getornull(p_viewport);
ERR_FAIL_COND(!viewport);