You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-10 13:00:37 +00:00
Fix debanding slightly brightening the whole viewport
Thanks to Mikkel Gjoel on Twitter for the tip :)
This commit is contained in:
@@ -311,7 +311,8 @@ vec3 screen_space_dither(vec2 frag_coord) {
|
|||||||
vec3 dither = vec3(dot(vec2(171.0, 231.0), frag_coord));
|
vec3 dither = vec3(dot(vec2(171.0, 231.0), frag_coord));
|
||||||
dither.rgb = fract(dither.rgb / vec3(103.0, 71.0, 97.0));
|
dither.rgb = fract(dither.rgb / vec3(103.0, 71.0, 97.0));
|
||||||
|
|
||||||
return dither.rgb / 255.0;
|
// Subtract 0.5 to avoid slightly brightening the whole viewport.
|
||||||
|
return (dither.rgb - 0.5) / 255.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
@@ -338,7 +339,8 @@ void main() {
|
|||||||
color = do_fxaa(color, exposure, uv_interp);
|
color = do_fxaa(color, exposure, uv_interp);
|
||||||
}
|
}
|
||||||
if (params.use_debanding) {
|
if (params.use_debanding) {
|
||||||
// Debanding should be done before tonemapping.
|
// For best results, debanding should be done before tonemapping.
|
||||||
|
// Otherwise, we're adding noise to an already-quantized image.
|
||||||
color += screen_space_dither(gl_FragCoord.xy);
|
color += screen_space_dither(gl_FragCoord.xy);
|
||||||
}
|
}
|
||||||
color = apply_tonemapping(color, params.white);
|
color = apply_tonemapping(color, params.white);
|
||||||
|
|||||||
Reference in New Issue
Block a user